oxbow.core.PySamScanner#
- class oxbow.core.PySamScanner(src, compressed=False)#
A SAM file scanner.
- Parameters:
src (str or file-like) – The path to the SAM file or a file-like object.
compressed (bool, optional [default: False]) – Whether the source is BGZF-compressed.
- __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([fields, tag_defs, batch_size, limit])Scan batches of records from the file.
scan_query(region[, index, fields, ...])Scan batches of records from a genomic range query on a BGZF-encoded file.
scan_unmapped([index, fields, tag_defs, ...])Scan batches of records from the set of unaligned reads.
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(fields=None, tag_defs=None, batch_size=1024, limit=None)#
Scan batches of records from the file.
- 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.
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, fields=None, tag_defs=None, batch_size=1024, limit=None)#
Scan batches of records from a genomic range query on a BGZF-encoded file.
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.
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)
- scan_unmapped(index=None, fields=None, tag_defs=None, batch_size=1024, limit=None)#
Scan batches of records from the set of unaligned reads.
This operation requires an index file.
- Parameters:
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.
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)
- 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. If None, all records are scanned.
- 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]]