oxbow.core.PyCramScanner#
- class oxbow.core.PyCramScanner(src, compressed=None)#
A CRAM file scanner.
- Parameters:
src (str or file-like) – The path to the CRAM file or a file-like object.
- __init__()#
Methods
__init__()Return the names of the reference sequences.
Return the names of the reference sequences and their lengths in bp.
Return the names of the fixed fields.
scan([reference, reference_index, fields, ...])Scan batches of records from the file.
scan_query(region[, index, reference, ...])Scan batches of records from a genomic range.
schema([fields, tag_defs])Return the Arrow schema.
tag_defs([scan_rows])Discover tag definitions by sniffing scan_rows records.
- chrom_names()#
Return the names of the reference sequences.
- chrom_sizes()#
Return the names of the reference sequences and their lengths in bp.
- field_names()#
Return the names of the fixed fields.
- scan(reference=None, reference_index=None, fields=None, tag_defs=None, batch_size=1024, limit=None)#
Scan batches of records from the file.
- Parameters:
reference (path or file-like, optional) – The external reference FASTA file to use for decoding bases in the CRAM records. If not provided, sequence bases or references must be embedded in the CRAM file.
reference_index (path or file-like, optional) – The index file for the reference FASTA file.
fields (list[str], optional) – Names of the fixed fields to project.
tag_defs (list[tuple[str, str]], optional) – Definitions of tag fields to project.
batch_size (int, optional [default: 1024]) – The number of records to include in each batch.
limit (int, optional) – The maximum number of records to scan. If None, records are scanned until EOF.
- Returns:
An iterator yielding Arrow record batches.
- Return type:
arro3 RecordBatchReader (pycapsule)
- scan_query(region, index=None, reference=None, reference_index=None, fields=None, tag_defs=None, batch_size=1024, limit=None)#
Scan batches of records from a genomic range.
This operation requires an index file.
- Parameters:
region (str) – Genomic region in the format “chr:start-end”.
index (path or file-like, optional) – The index file to use for querying the region. If None and the source was provided as a path, we will attempt to load the index from the same path with an additional extension.
reference (path or file-like, optional) – The external reference FASTA file to use for decoding bases in the CRAM records. If not provided, sequence bases or references must be embedded in the CRAM file.
reference_index (path or file-like, optional) – The index file for the reference FASTA file.
fields (list[str], optional) – Names of the fixed fields to project.
tag_defs (list[tuple[str, str]], optional) – Definitions of tag fields to project.
batch_size (int, optional [default: 1024]) – The number of records to include in each batch.
limit (int, optional) – The maximum number of records to scan. If None, all records intersecting the query range are scanned.
- Returns:
An iterator yielding Arrow record batches.
- Return type:
arro3 RecordBatchReader (pycapsule)
- schema(fields=None, tag_defs=None)#
Return the Arrow schema.
- Parameters:
fields (list[str], optional) – Names of the fixed fields to project.
tag_defs (list[tuple[str, str]], optional) – Definitions of tag fields to project.
- Return type:
arro3 Schema (pycapsule)
- tag_defs(scan_rows=1024)#
Discover tag definitions by sniffing scan_rows records.
The reader stream is reset to its original position after scanning.
- Parameters:
scan_rows (int, optional [default: 1024]) – The number of records to scan.
- Returns:
A list of tag definitions, where each definition is a tuple of the tag name and the SAM tag type code.
- Return type:
list[tuple[str, str]]