@classmethod<EOL><INDENT>def read_tsv(cls, file_path: str, gene_table: ExpGeneTable = None,<EOL>encoding: str = '<STR_LIT>', sep: str = '<STR_LIT:\t>'):<DEDENT>
<EOL>matrix = cls(pd.read_csv(file_path, sep=sep, index_col=<NUM_LIT:0>, header=<NUM_LIT:0>,<EOL>encoding=encoding))<EOL>ind = pd.read_csv(file_path, sep=sep, usecols=[<NUM_LIT:0>, ], header=None,<EOL>skiprows=<NUM_LIT:1>, encoding=encoding, na_filter=False)<EOL>matrix.index = ind.iloc[:, <NUM_LIT:0>]<EOL>matrix.index.name = '<STR_LIT>'<EOL>if gene_table is not None:<EOL><INDENT>matrix = matrix.filter_genes(gene_table.gene_names)<EOL><DEDENT>return matrix<EOL>
Read expression matrix from a tab-delimited text file.

        Parameters
        ----------
        file_path: str
            The path of the text file.
        gene_table: `ExpGeneTable` object, optional
            The set of valid genes. If given, the genes in the text file will
            be filtered against this set of genes. (None)
        encoding: str, optional
            The file encoding. ("UTF-8")
        sep: str, optional
            The separator. ("\t")

        Returns
        -------
        `ExpMatrix`
            The expression matrix.