@classmethod<EOL><INDENT>def read_sparse(cls, file_path: str):<DEDENT>
with open(file_path) as fh:<EOL><INDENT>next(fh)  <EOL>genes = next(fh)[<NUM_LIT:1>:-<NUM_LIT:1>].split('<STR_LIT:\t>')<EOL>cells = next(fh)[<NUM_LIT:1>:-<NUM_LIT:1>].split('<STR_LIT:\t>')<EOL>next(fh)<EOL>m, n, nnz = [int(s) for s in next(fh)[:-<NUM_LIT:1>].split('<STR_LIT:U+0020>')]<EOL><DEDENT>t = pd.read_csv(file_path, sep='<STR_LIT:U+0020>', skiprows=<NUM_LIT:5>, header=None,<EOL>dtype={<NUM_LIT:0>: np.uint32, <NUM_LIT:1>: np.uint32})<EOL>i = t[<NUM_LIT:0>].values - <NUM_LIT:1><EOL>j = t[<NUM_LIT:1>].values - <NUM_LIT:1><EOL>data = t[<NUM_LIT:2>].values<EOL>assert data.size == nnz<EOL>X = sparse.coo_matrix((data, (i,j)), shape=[m, n]).todense()<EOL>return cls(X=X, genes=genes, cells=cells)<EOL>
Read a sparse representation from a tab-delimited text file.

        TODO: docstring