snapatac2.pp.import_data#
- snapatac2.pp.import_data(fragment_file, *, file=None, genome=None, gene_anno=None, chrom_size=None, min_num_fragments=200, min_tsse=1, sorted_by_barcode=True, low_memory=True, whitelist=None, shift_left=0, shift_right=0, chunk_size=2000, tempdir=None, backend='hdf5')[source]#
Import dataset and compute QC metrics.
This function will store fragments as base-resolution TN5 insertions in the resulting h5ad file (in
.obsm['insertion']), along with the chromosome sizes (in.uns['reference_sequences']). Various QC metrics, including TSSe, number of unique fragments, duplication rate, fraction of mitochondrial DNA reads, will be computed.- Parameters:
fragment_file (
Path) – File name of the fragment file.file (
Optional[Path]) – File name of the output h5ad file used to store the result. If provided, result will be saved to a backed AnnData, otherwise an in-memory AnnData is used.genome (
Optional[Genome]) – A Genome object, providing gene annotation and chromosome sizes. If not set,gff_fileandchrom_sizemust be provided.genomehas lower priority thangff_fileandchrom_size.gene_anno (
Optional[Path]) – File name of the gene annotation file in GFF or GTF format. This is required ifgenomeis not set. Settinggene_annowill override the annotations from thegenomeparameter.chrom_size (
Optional[dict[str,int]]) – A dictionary containing chromosome sizes, for example,{"chr1": 2393, "chr2": 2344, ...}. This is required ifgenomeis not set. Settingchrom_sizewill override the chrom_size from thegenomeparameter.min_num_fragments (
int) – Number of unique fragments threshold used to filter cellsmin_tsse (
float) – TSS enrichment threshold used to filter cellssorted_by_barcode (
bool) – Whether the fragment file has been sorted by cell barcodes. Ifsorted_by_barcode == True, this function makes use of small fixed amout of memory. Ifsorted_by_barcode == Falseandlow_memory == False, all data will be kept in memory. Seelow_memoryfor more details.low_memory (
bool) – Whether to use the low memory mode whensorted_by_barcode == False. It does this by first sort the records by barcodes and then process them in batch. The parameter has no effect whensorted_by_barcode == True.whitelist (
Union[Path,list[str],None]) – File name or a list of barcodes. If it is a file name, each line must contain a valid barcode. When provided, only barcodes in the whitelist will be retained.shift_left (
int) – Insertion site correction for the left end.shift_right (
int) – Insertion site correction for the right end. Note this has no effect on single-end reads. For single-end reads,shift_rightwill be set using the value ofshift_left.chunk_size (
int) – Increasing the chunk_size speeds up I/O but uses more memory.tempdir (
Optional[Path]) – Location to store temporary files. IfNone, system temporary directory will be used.backend (
Literal['hdf5']) – The backend.
- Returns:
An annotated data matrix of shape
n_obsxn_vars. Rows correspond to cells and columns to regions. Iffile=None, an in-memory AnnData will be returned, otherwise a backed AnnData is returned.- Return type:
AnnData | ad.AnnData
Examples
>>> import snapatac2 as snap >>> data = snap.pp.import_data(snap.datasets.pbmc500(), genome=snap.genome.hg38, sorted_by_barcode=False) >>> print(data)