How to parse the Counts sparse matrix file output by the DRAGEN scRNA and scATAC pipelines
> pip install -U scanpy pandas
# import libraries
import pandas as pd
import scanpy as sc
# define path to input files
matrix_path = "path/to/matrix.mtx.gz"
genes_path = "path/to/genes.tsv.gz" #path/to/peaks.tsv.gz for scATAC data
barcodes_path = "path/to/barcodes.tsv.gz"
# load matrix through scanpy
adata = sc.read_mtx(matrix_path).T
adata.var_names = pd.read_csv(genes_path, sep="\t", header=None)[1]
adata.obs_names = pd.read_csv(barcodes_path, sep="\t", header=None)[0]
# convert scanpy internal format (AnnData) to dense pandas DataFrame
df = pd.DataFrame(adata.X.todense(), index=adata.obs_names, columns=adata.var_names)
# save it as CSV file df.to_csv("output_matrix.csv")
Last updated
Was this helpful?
