Skip to main content

No project description provided

Project description

CNV From BAM

cnv_from_bam is a Rust library developed to efficiently calculate dynamic Copy Number Variation (CNV) profiles from sequence alignments contained in BAM files. It seamlessly integrates with Python using PyO3, making it an excellent choice for bioinformatics workflows involving genomic data analysis.

Features

  • Efficient Processing: Optimized for handling large genomic datasets in BAM format.
  • Python Integration: Built with PyO3 for easy integration into Python-based genomic analysis workflows.
  • Multithreading Support: Utilizes Rust's powerful concurrency model for improved performance.
  • Dynamic Binning: Bins the genome dynamically based on total read counts and genome length.
  • CNV Calculation: Accurately calculates CNV values for each bin across different contigs.
  • Directory Support: Supports processing of multiple BAM files in a directory. (Requires alignment to the same reference in all BAM files)

Installation

To use cnv_from_bam in your Rust project, add the following to your Cargo.toml file:

[dependencies]
cnv_from_bam = "0.1.0"  # Replace with the latest version

Usage

Here's a quick example of how to use the iterate_bam_file function:

use cnv_from_bam::iterate_bam_file;
use std::path::PathBuf;

let bam_path = PathBuf::from("path/to/bam/file.bam");
// Iterate over the BAM file and calculate CNV values for each bin. Number of threads is set to 4 and mapping quality filter is set to 60.
// If number of threads is not specified, it defaults to the number of logical cores on the machine.
let result = iterate_bam_file(bam_path, Some(4), Some(60), None, None);
// Process the result...

The results in this case are returned as a CnvResult, which has the following structure:

/// Results struct for python

#[pyclass]
#[derive(Debug)]
pub struct CnvResult {
    /// The CNV per contig
    #[pyo3(get)]
    pub cnv: PyObject,
    /// Bin width
    #[pyo3(get)]
    pub bin_width: usize,
    /// Genome length
    #[pyo3(get)]
    pub genome_length: usize,
    /// Variance of the whole genome
    #[pyo3(get)]
    pub variance: f64,
}

Where result.cnv is a Python dict PyObject containing the Copy Number for each bin of bin_width bases for each contig in the reference genome, result.bin_width is the width of the bins in bases, result.genome_length is the total length of the genome and result.variance is a measure of the variance across the whole genome.

Variance is calculated as the average of the squared differences from the Mean.

[!NOTE] Note: Only the main primary mapping alignment start is binned, Supplementary and Secondary alignments are ignored. Supplementary alignments can be included by setting exclude_supplementary

Directory analysis To analyse a directory of BAM files, use the iterate_bam_dir function:

use cnv_from_bam::iterate_bam_dir;
use std::path::PathBuf;
let bam_path = PathBuf::from("path/to/bam_directory/");
// Iterate over the BAM files in teh directory and calculate CNV values for the whole. Number of threads is set to 4 and mapping quality filter is set to 60.
// If number of threads is not specified, it defaults to the number of logical cores on the machine.
let result = iterate_bam_file(bam_path, Some(4), Some(60));

This again returns a CnvResult, but this time the CNV values are summed across all BAM files in the directory. The bin width and genome length are calculated based on the first BAM file in the directory.

[!NOTE] Note: All BAM files in the directory must be aligned to the same reference genome.

Python Integration

cnv_from_bam can be used in Python using the PyO3 bindings. To install the Python bindings, run:

pip install cnv_from_bam

The same iterate_bam_file is availabl e in python, accepting a path to a BAM file or a directory of BAM files, the number of threads (set to None to use the optimal number of threads for the machine), and the mapping quality filter.

Example simple plot in python, you will need matplotlib an numpy installed (pip install matplotlib numpy)

from matplotlib import pyplot as plt
import matplotlib as mpl
from pathlib import Path
from cnv_from_bam import iterate_bam_file
import numpy as np
fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(8, 3))
total = 0
bam_path = Path("path/to/bam/file.bam");
# Iterate over the BAM file and calculate CNV values for each bin. Number of threads is set to 4 and mapping quality filter is set to 60.
# If number of threads is not specified, it defaults to the optimal number of threads for the machine.
result = iterate_bam_file(bam_path, _threads=4, mapq_filter=60);
for contig, cnv in result.cnv.items():
    ax.scatter(x=np.arange(len(cnv)) + total, y=cnv, s =0.1)
    total += len(cnv)

ax.set_ylim((0,8))
ax.set_xlim((0, total))
fig.savefig("Example_cnv_plot.png")

Should look something like this. Obviously the cnv data is just a dictionary of lists, so you can do whatever you want with it vis a vis matplotlib, seaborn, etc. example cnv plot

Iterative use

It is possible to iteratively add bam files to a continuing count. By passing a dictionary to iterate_bam_file, the intermediate mapping start counts are kept in this dictionary.

This is limited to parsing files one at a time, rather than by directory.

from cnv_from_bam import iterate_bam_file
update = {}
bam_path = Path("path/to/bam/file.bam");
result = iterate_bam_file(bam_path, _threads=4, mapq_filter=60, copy_numbers=update);

bam_path_2 = Path("path/to/bam/file2.bam");
result = iterate_bam_file(bam_path_2, _threads=4, mapq_filter=60, copy_numbers=update);
# Result now contains the copy number as inferred by both BAMS

Output

This is new in version >= 0.3. If you just want raw stdout from rust and no faffing with loggers, use v0.2.

Progress Bar

By default, a progress bar is displayed, showing the progress of the iteration of each BAM file. To disable the progress bar, set the CI environment variable to 1 in your python script:

import os
os.environ["CI"] = "1"

Logging

We use the log crate for logging. By default, the log level is set to INFO, which means that the program will output the progress of the iteration of each BAM file. To disable all but warning and error logging, set the log level to WARN on the iterate_bam_file function:

import logging
from cnv_from_bam import iterate_bam_file
iterate_bam_file(bam_path, _threads=4, mapq_filter=60, log_level=int(logging.WARN))

getLevelName is a function from the logging module that converts the log level to the integer value of the level. These values are

Level Value
CRITICAL 50
ERROR 40
WARNING 30
INFO 20
DEBUG 10
NOTSET 0

[!NOTE] In v0.3 a regression was introduced, whereby keeping the GIL for logging meant that BAM reading was suddenly single threaded again. Whilst it was possible to fix this and keep PyO3-log, I decided to go for truly maximum speed instead. The only drawback to the removal of PyO3-log in (v0.4+) is that log messages will not be handled by python loggers, so they won't be written out by a file handler, for example.

Documentation

To generate the documentation, run:

cargo doc --open

Contributing

Contributions to cnv_from_bam are welcome!

We use pre-commit hooks (particularly cargo-fmt and ruff) to ensure that code is formatted correctly and passes all tests before being committed. To install the pre-commit hooks, run:

git clone https://github.com/Adoni5/cnv_from_bam.git
cd cnv_from_bam
pip install -e .[dev]
pre-commit install -t pre-commit -t post-checkout -t post-merge
pre-commit run --all-files

Changelog

v0.4.3

Iterative use

  • It is possible to iteratively add bam files to a continuing count. By passing a dictionary to iterate_bam_file, the intermediate mapping start counts are kept in this dictionary. This is limited to parsing files one at a time, rather than by directory. See example above under iterative use.

  • Catches bug where metadata (mapped and unmapped count) for a reference sequence in a BAI or CSI file would return None, and crash the calculation. As this was used to calculate the Progress bar total, just skips the offending reference sequence, returning - for both counts. May mean the progress bar can have a lower total than number of reads, but won't matter to final numbers.

  • Adds Cargo tests to CI

v0.4.2

  • Returns the contig names naturally sorted, rather than in random order!! For example chr1, chr2, chr3...chr22,chrM,chrX,chrY! Huge, will prevent some people getting repeatedly confused about expected CNV vs. Visualised and wasting an hour debugging a non existing issue.
  • Returns variance across the whole genome in the CNV result struct.

v0.4.1

  • Add exclude_supplementary parameter to iterate_bam_file, to exclude supplementary alignments (default True)

v0.4.0

  • Remove PyO3-log for maximum speed. This means that log messages will not be handled by python loggers. Can set log level on call to iterate_bam_file

v0.3.0

  • Introduce PyO3-log for logging. This means that log messages can be handled by python loggers, so they can be written out by a file handler, for example.
  • HAS A LARGE PERFORMANCE ISSUE
  • Can disable progress bar display by setting CI environment variable to 1 in python script.

v0.2.0

  • Purely rust based BAM parsing, using noodles.
  • Uses a much more sensible number for threading if not provided.
  • Allows iteration of BAMS in a directory

v0.1.0

  • Initial release
  • Uses rust-bio/rust-htslib for BAM parsing. Has to bind C code, is a faff.

License

This project is licensed under the Mozilla Public License 2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cnv_from_bam-0.4.4b1.tar.gz (38.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cnv_from_bam-0.4.4b1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

cnv_from_bam-0.4.4b1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cnv_from_bam-0.4.4b1-pp310-pypy310_pp73-macosx_11_0_arm64.whl (570.6 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

cnv_from_bam-0.4.4b1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl (595.1 kB view details)

Uploaded PyPymacOS 10.12+ x86-64

cnv_from_bam-0.4.4b1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

cnv_from_bam-0.4.4b1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cnv_from_bam-0.4.4b1-pp39-pypy39_pp73-macosx_11_0_arm64.whl (570.6 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

cnv_from_bam-0.4.4b1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl (595.1 kB view details)

Uploaded PyPymacOS 10.12+ x86-64

cnv_from_bam-0.4.4b1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

cnv_from_bam-0.4.4b1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cnv_from_bam-0.4.4b1-pp38-pypy38_pp73-macosx_11_0_arm64.whl (570.7 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

cnv_from_bam-0.4.4b1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl (595.3 kB view details)

Uploaded PyPymacOS 10.12+ x86-64

cnv_from_bam-0.4.4b1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

cnv_from_bam-0.4.4b1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

cnv_from_bam-0.4.4b1-cp312-cp312-macosx_11_0_arm64.whl (570.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

cnv_from_bam-0.4.4b1-cp312-cp312-macosx_10_12_x86_64.whl (594.5 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

cnv_from_bam-0.4.4b1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

cnv_from_bam-0.4.4b1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

cnv_from_bam-0.4.4b1-cp311-cp311-macosx_11_0_arm64.whl (570.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cnv_from_bam-0.4.4b1-cp311-cp311-macosx_10_12_x86_64.whl (595.5 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

cnv_from_bam-0.4.4b1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

cnv_from_bam-0.4.4b1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

cnv_from_bam-0.4.4b1-cp310-cp310-macosx_11_0_arm64.whl (570.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

cnv_from_bam-0.4.4b1-cp310-cp310-macosx_10_12_x86_64.whl (595.4 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

cnv_from_bam-0.4.4b1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

cnv_from_bam-0.4.4b1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

cnv_from_bam-0.4.4b1-cp39-cp39-macosx_11_0_arm64.whl (571.0 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

cnv_from_bam-0.4.4b1-cp39-cp39-macosx_10_12_x86_64.whl (595.6 kB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

cnv_from_bam-0.4.4b1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

cnv_from_bam-0.4.4b1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

cnv_from_bam-0.4.4b1-cp38-cp38-macosx_11_0_arm64.whl (571.1 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

cnv_from_bam-0.4.4b1-cp38-cp38-macosx_10_12_x86_64.whl (595.6 kB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

File details

Details for the file cnv_from_bam-0.4.4b1.tar.gz.

File metadata

  • Download URL: cnv_from_bam-0.4.4b1.tar.gz
  • Upload date:
  • Size: 38.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for cnv_from_bam-0.4.4b1.tar.gz
Algorithm Hash digest
SHA256 8f9eed68a6671d688fa4f01619300129f18d64db009f1acd2a4e4ddb89fec883
MD5 0bca194c032c808b9ca6c0701be31b8c
BLAKE2b-256 c88676651cdaecbacfdef3f24b9a38997e19722f138b80296c390276e2b648eb

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a853da076098b3da31213fc18ca1b0142de0bf02b79f12702e68c5ea4e664561
MD5 87628d1e26db9c97c3612e62af7d7174
BLAKE2b-256 6ec848d3c662c3f5c6741134c4fcc223e9d148e9ff384a6a755565f9ce683f50

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 69ac1710254c9799b608f8d200e5c367db6bd49ce375c5eca317952fa5438373
MD5 87dfd0f0a18b75d6968217980ca8cd1b
BLAKE2b-256 c5ad8257731f95294e12fd42ff3bb0cfb7514b0eb0a27dd37d2b4222851b4976

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5b1dee8db4e867d04eb3044300a42b21efe6ec3b2310cc5732cf1972879c7be8
MD5 213550c35a6edc70f137b3df83c3f0ee
BLAKE2b-256 2d3ac76dde25e3e434973905ee906e62e5220ba925b5b3814ae9d103bd170548

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9ec6b8eff1e206721c434d6f9c4c3f19a0deaae15e9abba7fc9e752392c94ca7
MD5 40de997cf8d841a005580258c695f1b7
BLAKE2b-256 9af1b4883620c0ac930402bf4b6e3945d7cf5910835adb5b3ca0f5605867cf9d

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 537a253ff4f8bb1c11cd8450a7d57537e40ab3ce03843b2f8c9ab200aaf8437e
MD5 992b62468c0f3b8ee7974ef7102529ec
BLAKE2b-256 739e13908f6e04309707c8298e979db63bc1204ba00c0053f9c53ad23e96c6e5

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d1c81edf8b51b15d6601d699e1b992a56de86531eb76d160b4c62d74da799e9a
MD5 e3d32d2c138881b6c1b378683fffa200
BLAKE2b-256 4dfe665b6c880cac39363e1f3b3c530e0f8cea978e415f3fa2d73ef749de5013

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-pp39-pypy39_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2123b26011f28f5c22e3cd7ba6e7690b41c932d35fa616c9426223ec250d9684
MD5 1b302a677e2807ee744a2585b27d4e3c
BLAKE2b-256 5a75d184ab61cb38b350c4b788a32645ac62be63ec49da3fe4d4694a0213b0fe

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 504a46c8202d474ecb6cc8de90022fe3760f46c6edf9771a6ebcd742095dc858
MD5 5ca030e85c214dd7f9bc4240fd9b966e
BLAKE2b-256 11967b98c5c5e8517b756bc8eb591acbe5c24533d77fc834e279c0ab571d0914

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 765808a5244ca8a671b3639f2bf5021f04819717676775308d76aba04a5ff325
MD5 db7dd7b69deb25ea671ca83dc374845c
BLAKE2b-256 226e5c78a053412e6ac6bb9fea05fff3c83c450a9af47ada246b9e9ffc141978

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 313b6f0aae694e6290fea2e6a4937b446d0fafb896cac43c4725dade696fd0dd
MD5 820b92d75558b8f7890fcd5286e9d2fc
BLAKE2b-256 4d9aea71a98dab58f42c52aa63bb22ae6853e56f3e95cf442d09fb67ce2ea756

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-pp38-pypy38_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 70f4534a2bc3cbcc939ea27598c23c9c1a7cc3a961b35f1ac1ecf5f030a1f368
MD5 53f66c329718d56a38225c2788c5031b
BLAKE2b-256 6beb87f0ff802dd917ecbf3a368a75e41803c1661809c76987826f143734d7da

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dd56024c09ee82010a7609ad573aaea845a53da66bc05810bd7e130370323c78
MD5 f2a8969765e6f4373f5a48030f5de0b6
BLAKE2b-256 f9156a0d8e51add4665e069fb232a00d3742f52739826e9ad6344e96267bc319

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bbcdfebc8dbcbd09b9b59dcdf73d5662e6256b3ddf67a059892902f8c7a8c3ad
MD5 ba00b5d1ac35a73132824c16b4a99c0e
BLAKE2b-256 74850864d896b13b1f16e27b8ea5040f97e4ef4828c8e16874bc03b1cb45b22f

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7fe22b166e56daa9e528a16cf29e2c08dcea809649fbaec050f8e4b4c2cca5af
MD5 715f1147f48cf348ec7e754211dc297a
BLAKE2b-256 35ace19e1bd2fd0c7d88968816ab03e94fdf166fa48a4fc88017eb7cfbbafa41

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 05bf18a00e0be47366faf810969dd416ce7f488cac16ad76489df9f747a67900
MD5 cad504c36f0f565eb04722a66bd74736
BLAKE2b-256 3d4df27dfef9022caf443143f96b1339dd5d60a80ca5b77505aaa58c8f641a1c

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8c95ca8ed80cb361ee5f287ebf881eda13e00c9961bcd6c3a1c066727930c7c7
MD5 10b3a63e8b0505a7f557a36bcbf147d4
BLAKE2b-256 e526e76ba8cf4aea5de098f60c28593833bba67b55b1ca662718f7fe393a68dc

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3157753165aa36e309bdb32d7b779c2c6cf7e884d62afbd51cd6ebabc74b7428
MD5 509b41b2bf3ffc4b8ea5613a7601003c
BLAKE2b-256 853832ba8400831cbeb7449711752e3afd443c4824f5a92049632e474980821b

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2657b5826f6c8b1d6d08dbb4d26a0a86c4ac7848e74a86cfeb45af23c6636dac
MD5 35bfa44e4a7099b86c68d1d40c6856db
BLAKE2b-256 140db66941716f58dab57c0910c20dcbf93c2841d97c749c592c6ea55605920a

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a7d4c82752f80ff8d9964a1ccebec124144ebd687475f817c49a096044e415fb
MD5 4e9c74b6aefe61bef6cb3a3ac1e1d042
BLAKE2b-256 2c16d627c05c5f17cfb830ca1539c4347468779f79520e9c2c98e43f62ebd8f4

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 60b7ad58bff8566ee5ec5b30b3a6678ee52c937e80db75f8204ce7a8de31c200
MD5 14af00dd1fd26aef614a322685fc974b
BLAKE2b-256 d515110bb1577397535c8d2a0fda0b1f42790a5a68b08cc5ac4b57154ad41080

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 60495873a95f16cf7a985db6b5ac4cace77c1f793d4b17a1d368e1c437dc08aa
MD5 0fe349704f8ccb3eb593aec15776295b
BLAKE2b-256 ca8aaf26585f2a757d62d772254ffa62f71b35928eba9260fd866d5555dfa692

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 aecd205b50a3acb8101532b356e9bc40a29b6e4f8613e80e57b518ab9133870a
MD5 81d6e3eed2a44b01957d13da8eaa05ed
BLAKE2b-256 51e6158a19b11e82aff2c5d2867ecefd18300db569d8d8df57ec16c189080b10

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7fc8f18583f264985490c30567839ce808d25bb4f7c3cee949922a2bd565db48
MD5 0ad2eb1547869e33e2b12aef41be45c0
BLAKE2b-256 09950900f41ee144324a0d7bda052b8d5bd6b59dae6530d3e387d3dec4bd6e8d

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7bd8c083f5ca80689af83f533ce2979af26ddb0c96e039867b2b1f4e1934072e
MD5 9400ccb7e98e96ca293570d45fed139c
BLAKE2b-256 a8cd9608858affaf798342610a22486cf758df9d40c994cee85c372205db9234

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fe4a07c47843f94d63c660fda753a6acbf18b80f910bf48bacd0fc30718d76b4
MD5 dc539355f7708c4435deaae3208bd7b3
BLAKE2b-256 307b7bae1270acd13c3367fe9c0c01011b5d29d851be9f9c3d83ddd0974e525b

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9bf730ba64f58155d0b4ea21af915f48fde3daf77ca6f0611f7e0e7f5b031b51
MD5 49f221977290ecea356a0bcaa686a123
BLAKE2b-256 a8e688a629a71a353738f9096e7120b3f96a4e088965b3b0fb8768ce85145fb0

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 41bec2f329f6b9a8b4c28a698f9dcd504f0a3a0cddfed30762df55026839b18f
MD5 d20f816c05ea41970c84143911f448f4
BLAKE2b-256 adda15b775fee50952c964cae7cbdf82e9b559b52d62164b0128197abda51c57

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4f7b06d4d19ddb78111f1e8c82b93187a2719f08a70a93ed8dac390d94a83520
MD5 794289c80b3d7348a84dc6ce3f44519c
BLAKE2b-256 48c1e8de2d8cccd0340426ad51cae119da2f268fd12864485b4b2dfd9a88d887

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d5bc7c59d8104f829c502f5034aed5583f4eb5c153d2513af13f992df6f36631
MD5 ede92d1c6a878cf8a80325421db47fc9
BLAKE2b-256 20a21ff71e902ae43e84daa233182948d39e8a6aa07f2656700ecfd2f15c1e32

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ac0071e2d03e04b0f3cf2c08ab43db108d647a9dae5a9f616a877a094544c98e
MD5 afa0f062cc19687336fd7d2c0173aec7
BLAKE2b-256 ebf921945842e88aa486a3169f4a7e705fe05c19b050b0dadc7b5985c5eb5bc7

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 43e5da792e46e24d0a952c1588970172743af87584115932449580671d3c9419
MD5 9aa3caf922c5a74ee69c81464b8480b3
BLAKE2b-256 d120d3293f94e3e6080ebe0a320490a6f4fe996c7486e0837bf928abf94ff1f0

See more details on using hashes here.

File details

Details for the file cnv_from_bam-0.4.4b1-cp38-cp38-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cnv_from_bam-0.4.4b1-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a659666983f4c8b790444e52fc1390a646b274187ea59a85b9a9008e1dbbcf59
MD5 cbb8462d3e02b02f33a4dda4ead123e3
BLAKE2b-256 8c43c5dc950dedf7c6070e7e2ef9c4d06949ba64fae770770e97108869b8b5ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page