def subjects_create(self, filename):
        """Create subject from given data files. Expects the file to be a
        Freesurfer archive.

        Raises ValueError if given file is not a valid subject file.

        Parameters
        ----------
        filename : File-type object
            Freesurfer archive file

        Returns
        -------
        SubjectHandle
            Handle for created subject in database
        """
        # Ensure that the file name has a valid archive suffix
        if get_filename_suffix(filename, ARCHIVE_SUFFIXES) is None:
            raise ValueError('invalid file suffix: ' + os.path.basename(os.path.normpath(filename)))
        # Create subject from archive. Raises exception if file is not a valid
        # subject archive
        return self.subjects.upload_file(filename)