diff CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/lib/python3.8/site-packages/pysam/libcbcf.pyi @ 69:33d812a61356

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 17:55:14 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/lib/python3.8/site-packages/pysam/libcbcf.pyi	Tue Mar 18 17:55:14 2025 -0400
@@ -0,0 +1,369 @@
+import sys
+from typing import (
+    Optional,
+    Union,
+    Any,
+    Sequence,
+    Tuple,
+    Iterator,
+    List,
+    Iterable,
+    Dict,
+    overload,
+    TypeVar,
+    Mapping,
+    Generic,
+)
+
+if sys.version_info < (3, 8):
+    from typing_extensions import Literal
+else:
+    from typing import Literal
+
+from pysam.libchtslib import HTSFile, _HasFileNo
+
+_D = TypeVar("_D")
+_K = TypeVar("_K", str, Union[int, str])
+_V = TypeVar("_V")
+
+class _Mapping(Generic[_K, _V]):
+    def __len__(self) -> int: ...
+    def __contains__(self, key: _K) -> bool: ...
+    def __iter__(self) -> Iterator[_K]: ...
+    def iterkeys(self) -> Iterator[_K]: ...
+    def itervalues(self) -> Iterator[_V]: ...
+    def iteritems(self) -> Iterator[Tuple[_K, _V]]: ...
+    def keys(self) -> List[_K]: ...
+    def items(self) -> List[Tuple[_K, _V]]: ...
+    def values(self) -> List[_V]: ...
+    def __bool__(self) -> bool: ...
+    def __getitem__(self, key: _K) -> _V: ...
+    def get(self, key: _K, default: _D = ...) -> Union[_D, _V]: ...
+
+class VariantHeaderRecord(_Mapping[str, str]):
+    @property
+    def header(self) -> VariantHeader: ...
+    @property
+    def type(self) -> Optional[str]: ...
+    @property
+    def key(self) -> Optional[str]: ...
+    @property
+    def value(self) -> Optional[str]: ...
+    @property
+    def attrs(self) -> Sequence[Tuple[str, str]]: ...
+    def update(self, items: Union[Iterable, Dict] = ..., **kwargs) -> None: ...
+    def pop(self, key: str, default: str = ...) -> str: ...
+    def remove(self) -> None: ...  # crashes
+
+class VariantHeaderRecords:
+    @property
+    def header(self) -> VariantHeader: ...
+    def __len__(self) -> int: ...
+    def __bool__(self) -> bool: ...
+    def __getitem__(self, index) -> VariantHeaderRecord: ...
+    def __iter__(self) -> Iterator[VariantHeaderRecord]: ...
+
+class VariantMetadata:
+    @property
+    def header(self) -> VariantHeader: ...
+    @property
+    def name(self) -> str: ...
+    # @property  # should this be exposed?
+    # def id(self) -> int: ...
+    @property
+    def number(self) -> Optional[str]: ...
+    @property
+    def type(self) -> Optional[str]: ...
+    @property
+    def description(self) -> Optional[str]: ...
+    @property
+    def record(self) -> Optional[VariantHeaderRecord]: ...
+    def remove_header(self) -> None: ...
+
+class VariantHeaderMetadata(_Mapping[str, VariantMetadata]):
+    @property
+    def header(self) -> VariantHeader: ...
+    def add(
+        self,
+        id: str,
+        number: Optional[Union[int, str]],
+        type: Optional[str],
+        description: str,
+        **kwargs
+    ) -> None: ...
+    def remove_header(self, key: str) -> None: ...
+    def clear_header(self) -> None: ...
+
+class VariantContig:
+    @property
+    def header(self) -> VariantHeader: ...
+    @property
+    def name(self) -> str: ...
+    @property
+    def id(self) -> int: ...
+    @property
+    def length(self) -> Optional[int]: ...
+    @property
+    def header_record(self) -> VariantHeaderRecord: ...
+    def remove_header(self) -> None: ...
+
+class VariantHeaderContigs(_Mapping[Union[int, str], VariantContig]):
+    @property
+    def header(self) -> VariantHeader: ...
+    def remove_header(self, key: Union[int, str]) -> None: ...
+    def clear_header(self) -> None: ...
+    def add(self, id: str, length: Optional[int] = ..., **kwargs) -> None: ...
+
+class VariantHeaderSamples:
+    @property
+    def header(self) -> VariantHeader: ...
+    def __len__(self) -> int: ...
+    def __bool__(self) -> bool: ...
+    def __getitem__(self, index: int) -> str: ...
+    def __iter__(self) -> Iterator[str]: ...
+    def __contains__(self, key: str) -> bool: ...
+    def add(self, name: str) -> None: ...
+
+class VariantHeader:
+    def __init__(self) -> None: ...
+    def __bool__(self) -> bool: ...
+    def copy(self) -> VariantHeader: ...
+    def merge(self, header: VariantHeader) -> None: ...
+    @property
+    def version(self) -> str: ...
+    @property
+    def samples(self) -> VariantHeaderSamples: ...
+    @property
+    def records(self) -> VariantHeaderRecords: ...
+    @property
+    def contigs(self) -> VariantHeaderContigs: ...
+    @property
+    def filters(self) -> VariantHeaderMetadata: ...
+    @property
+    def info(self) -> VariantHeaderMetadata: ...
+    @property
+    def formats(self) -> VariantHeaderMetadata: ...
+    @property
+    def alts(self) -> Dict[str, VariantHeaderRecord]: ...
+    def new_record(
+        self,
+        contig: Optional[str] = ...,
+        start: int = ...,
+        stop: int = ...,
+        alleles: Optional[Tuple[str, ...]] = ...,
+        id: Optional[str] = ...,
+        qual: Optional[float] = ...,
+        filter: Optional[Any] = ...,
+        info: Optional[Mapping[str, _InfoValue]] = ...,
+        samples: Optional[Iterable[Optional[Mapping[str, _FormatValue]]]] = ...,
+        **kwargs
+    ) -> VariantRecord: ...
+    def add_record(self, record: VariantHeaderRecord) -> None: ...
+    def add_line(self, line: str) -> None: ...
+    @overload
+    def add_meta(
+        self, key: str, value: None = ..., items: Iterable[Tuple[str, str]] = ...
+    ) -> None: ...
+    @overload
+    def add_meta(self, key: str, value: str = ..., items: None = ...) -> None: ...
+    def add_sample(self, name: str) -> None: ...
+    def add_samples(self, *args: Union[str, Iterable[str]]) -> None: ...
+
+class VariantRecordFilter(_Mapping[Union[int, str], VariantMetadata]):
+    def add(self, key: str) -> None: ...
+    def __delitem__(self, key: Union[int, str]) -> None: ...
+    def clear(self) -> None: ...
+    def __eq__(self, other) -> bool: ...
+    def __ne__(self, other) -> bool: ...
+
+class VariantRecordFormat(_Mapping[str, VariantMetadata]):
+    def __delitem__(self, key: str) -> None: ...
+    def clear(self) -> None: ...
+
+_InfoValue = Any  # TODO see bcf_info_get_value
+
+class VariantRecordInfo(_Mapping[str, _InfoValue]):
+    def __setitem__(self, key: str, object: _InfoValue) -> None: ...
+    def __delitem__(self, key: str) -> None: ...
+    def clear(self) -> None: ...
+    def update(
+        self, items: Optional[_Mapping[str, _InfoValue]] = ..., **kwargs
+    ) -> None: ...
+    def pop(self, key: str, default: _D = ...) -> Union[_D, _InfoValue]: ...
+    def __eq__(self, other) -> bool: ...
+    def __ne__(self, other) -> bool: ...
+
+class VariantRecordSamples(_Mapping[Union[str, int], "VariantRecordSample"]):
+    def __eq__(self, other) -> bool: ...
+    def __ne__(self, other) -> bool: ...
+    # TODO Do these work? Isn’t the container read only?
+    def update(
+        self,
+        items: Optional[Mapping[Union[str, int], VariantRecordSample]] = ...,
+        **kwargs
+    ) -> None: ...
+    def pop(
+        self, key: Union[str, int], default: _D = ...
+    ) -> Union[_D, VariantRecordSample]: ...
+
+class VariantRecord:
+    @property
+    def header(self) -> VariantHeader: ...
+    def copy(self) -> VariantRecord: ...
+    def translate(self, dst_header: VariantHeader) -> None: ...
+    rid: int
+    chrom: str
+    contig: str
+    pos: int
+    start: int
+    stop: int
+    rlen: int
+    qual: Optional[float]
+    id: Optional[str]
+    ref: Optional[str]
+    alleles: Optional[Tuple[str, ...]]
+    alts: Optional[Tuple[str, ...]]
+    @property
+    def filter(self) -> VariantRecordFilter: ...
+    @property
+    def info(self) -> VariantRecordInfo: ...
+    @property
+    def format(self) -> VariantRecordFormat: ...
+    @property
+    def samples(self) -> VariantRecordSamples: ...
+    def __eq__(self, other) -> bool: ...
+    def __ne__(self, other) -> bool: ...
+
+_FormatValue = Any  # TODO see bcf_format_get_value
+
+class VariantRecordSample(_Mapping[str, _FormatValue]):
+    @property
+    def index(self) -> int: ...
+    @property
+    def name(self) -> str: ...
+    allele_indices: Optional[Tuple[Optional[int], ...]]
+    alleles: Optional[Tuple[Optional[str], ...]]
+    phased: bool
+    def __setitem__(self, key: str, value: _FormatValue) -> None: ...
+    def __delitem__(self, key: str) -> None: ...
+    def clear(self) -> None: ...
+    def update(
+        self, items: Optional[Mapping[str, _FormatValue]] = ..., **kwargs
+    ) -> None: ...
+    def pop(self, key: str, default: _D = ...) -> Union[_D, _FormatValue]: ...
+    def __eq__(self, other) -> Any: ...
+    def __ne__(self, other) -> Any: ...
+
+class BaseIndex(_Mapping[Union[int, str], str]):
+    refs: Sequence[str]
+    refmap: Dict[str, str]
+    def __init__(self) -> None: ...
+    # TODO Do these work? Isn’t the container read only?
+    def update(self, items: Optional[Mapping[str, str]] = ..., **kwargs) -> None: ...
+    def pop(self, key: str, default: _D = ...) -> Union[_D, str]: ...
+
+class BCFIndex(BaseIndex):
+    @property
+    def header(self) -> VariantHeader: ...
+    def __init__(self) -> None: ...
+    def fetch(
+        self,
+        bcf: VariantFile,
+        contig: str,
+        start: Optional[int],
+        stop: Optional[int],
+        reopen: bool,
+    ) -> BCFIterator: ...
+
+class TabixIndex(BaseIndex):
+    def __init__(self) -> None: ...
+    def fetch(
+        self,
+        bcf: VariantFile,
+        contig: str,
+        start: Optional[int],
+        stop: Optional[int],
+        reopen: bool,
+    ) -> TabixIterator: ...
+
+class BaseIterator:
+    def __init__(self) -> None: ...
+
+class BCFIterator(BaseIterator):
+    def __init__(
+        self,
+        bcf: VariantFile,
+        contig: str,
+        start: Optional[int] = ...,
+        stop: Optional[int] = ...,
+        reopen: bool = ...,
+    ) -> None: ...
+    def __iter__(self) -> BCFIterator: ...
+    def __next__(self) -> VariantRecord: ...
+
+class TabixIterator(BaseIterator):
+    def __init__(
+        self,
+        bcf: VariantFile,
+        contig: str,
+        start: Optional[int] = ...,
+        stop: Optional[int] = ...,
+        reopen: bool = ...,
+    ) -> None: ...
+    def __iter__(self) -> TabixIterator: ...
+    def __next__(self) -> VariantRecord: ...
+
+class VariantFile(HTSFile):
+    @property
+    def header(self) -> VariantHeader: ...
+    @property
+    def index(self) -> BaseIndex: ...
+    @property
+    def drop_samples(self) -> bool: ...
+    @property
+    def is_reading(self) -> bool: ...
+    @property
+    def header_written(self) -> bool: ...
+    def __init__(
+        self,
+        filename: Union[str, bytes, int, _HasFileNo],
+        mode: Optional[Literal["r", "w", "wh", "rb", "wb", "wbu", "wb0"]] = ...,
+        index_filename: Optional[str] = ...,
+        header: Optional[VariantHeader] = ...,
+        drop_samples: bool = ...,
+        duplicate_filehandle: bool = ...,
+        ignore_truncation: bool = ...,
+        threads: int = ...,
+    ) -> None: ...
+    def close(self) -> None: ...
+    def __iter__(self) -> VariantFile: ...
+    def __next__(self) -> VariantRecord: ...
+    def copy(self) -> VariantFile: ...
+    def open(
+        self,
+        filename: Union[str, bytes, int, _HasFileNo],
+        mode: Optional[Literal["r", "w", "wh", "rb", "wb", "wbu", "wb0"]] = ...,
+        index_filename: Optional[str] = ...,
+        header: Optional[VariantHeader] = ...,
+        drop_samples: bool = ...,
+        duplicate_filehandle: bool = ...,
+        ignore_truncation: bool = ...,
+        threads: int = ...,
+    ) -> None: ...
+    def reset(self) -> None: ...
+    def is_valid_tid(self, tid: int) -> bool: ...
+    def get_tid(self, reference: str) -> int: ...
+    def get_reference_name(self, tid: int) -> str: ...
+    def fetch(
+        self,
+        contig: Optional[str] = ...,
+        start: Optional[int] = ...,
+        stop: Optional[int] = ...,
+        region: Optional[str] = ...,
+        reopen: bool = ...,
+        end: Optional[int] = ...,
+        reference: Optional[str] = ...,
+    ) -> Iterator[VariantRecord]: ...
+    def new_record(self, *args, **kwargs) -> Any: ...
+    def write(self, record: VariantRecord) -> int: ...
+    def subset_samples(self, include_samples: Iterable[str]) -> None: ...