Skip to main content

gumpy re-implemented in Rust

Project description

grumpy - Re-implementation of gumpy in Rust for speed

Does not implement the same interface, but rather the same premise.

Up to 100x faster than gumpy

Install

pip install bio-grumpy

Usage

import grumpy

# Parse a genbank file
ref = grumpy.Genome("some/path/to/a/genbank/file.gbk")

# Parse a VCF file, respecting filter fails with a MIN_DP of 3 reads to make a call
vcf = grumpy.VCFFile("some/path/to/a/vcf/file.vcf", False, 3)

# Apply the VCF's mutations to the genome
sample = grumpy.mutate(ref, vcf)

# Get the genome level differences
genome_diff = grumpy.GenomeDifference(ref, sample)
for variant in genome_diff.variants:
    print(variant.variant)
# And minor alleles
for variant in genome_diff.minor_variants:
    print(variant.variant)

# Get gene level differences for all genes with mutations
for gene_name in sample.genes_with_mutations:
    print(gene_name)
    gene_diff = grumpy.GeneDifference(
            ref.get_gene(gene_name),
            sample.get_gene(gene_name),
            grumpy.MinorType.COV,
        )
    for mutation in gene_diff.mutations:
        print(mutation.mutation)
    # And minor alleles
    for mutation in gene_diff.minor_mutations:
        print(mutation.mutation)

Threads

By default, VCF parsing will run with the same number of threads as CPU cores. This can give significant speed improvements for complex VCF files

To force single threading (or other number of threads), run grumpy.thread_setup(<thread count>). Note that should be run before any other function in this library, and should not be called more than once! Not following this will cause errors!

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

bio_grumpy-0.2.0.tar.gz (3.1 MB view hashes)

Uploaded Source

Built Distributions

bio_grumpy-0.2.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl (894.3 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ x86-64

bio_grumpy-0.2.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl (925.9 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ i686

bio_grumpy-0.2.0-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl (989.0 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARMv7l

bio_grumpy-0.2.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl (901.9 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARM64

bio_grumpy-0.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (723.5 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

bio_grumpy-0.2.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (848.4 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

bio_grumpy-0.2.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (783.3 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

bio_grumpy-0.2.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (774.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

bio_grumpy-0.2.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (728.2 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

bio_grumpy-0.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (725.9 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

bio_grumpy-0.2.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl (895.2 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ x86-64

bio_grumpy-0.2.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl (926.9 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ i686

bio_grumpy-0.2.0-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl (991.0 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARMv7l

bio_grumpy-0.2.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl (903.5 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARM64

bio_grumpy-0.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (724.4 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

bio_grumpy-0.2.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (849.9 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

bio_grumpy-0.2.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (784.2 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

bio_grumpy-0.2.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (775.9 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

bio_grumpy-0.2.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (729.5 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

bio_grumpy-0.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (727.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

bio_grumpy-0.2.0-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl (895.4 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ x86-64

bio_grumpy-0.2.0-pp38-pypy38_pp73-musllinux_1_2_i686.whl (927.2 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ i686

bio_grumpy-0.2.0-pp38-pypy38_pp73-musllinux_1_2_armv7l.whl (990.8 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARMv7l

bio_grumpy-0.2.0-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl (904.2 kB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARM64

bio_grumpy-0.2.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (850.1 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

bio_grumpy-0.2.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (784.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

bio_grumpy-0.2.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (729.5 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

bio_grumpy-0.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (726.7 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

bio_grumpy-0.2.0-cp312-none-win_amd64.whl (530.0 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

bio_grumpy-0.2.0-cp312-none-win32.whl (497.0 kB view hashes)

Uploaded CPython 3.12 Windows x86

bio_grumpy-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl (897.6 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

bio_grumpy-0.2.0-cp312-cp312-musllinux_1_2_i686.whl (929.1 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ i686

bio_grumpy-0.2.0-cp312-cp312-musllinux_1_2_armv7l.whl (991.2 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARMv7l

bio_grumpy-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl (905.9 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARM64

bio_grumpy-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (727.5 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

bio_grumpy-0.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (834.5 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

bio_grumpy-0.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (783.3 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

bio_grumpy-0.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (778.0 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

bio_grumpy-0.2.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (728.9 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

bio_grumpy-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (728.1 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

bio_grumpy-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (639.0 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

bio_grumpy-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl (656.9 kB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

bio_grumpy-0.2.0-cp311-none-win_amd64.whl (529.0 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

bio_grumpy-0.2.0-cp311-none-win32.whl (494.2 kB view hashes)

Uploaded CPython 3.11 Windows x86

bio_grumpy-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl (893.7 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

bio_grumpy-0.2.0-cp311-cp311-musllinux_1_2_i686.whl (922.8 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ i686

bio_grumpy-0.2.0-cp311-cp311-musllinux_1_2_armv7l.whl (986.9 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARMv7l

bio_grumpy-0.2.0-cp311-cp311-musllinux_1_2_aarch64.whl (902.2 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARM64

bio_grumpy-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (722.7 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

bio_grumpy-0.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (846.1 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

bio_grumpy-0.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (780.4 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

bio_grumpy-0.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (771.5 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

bio_grumpy-0.2.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (724.0 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

bio_grumpy-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (724.2 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

bio_grumpy-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (635.4 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

bio_grumpy-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl (654.2 kB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

bio_grumpy-0.2.0-cp310-none-win_amd64.whl (528.9 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

bio_grumpy-0.2.0-cp310-none-win32.whl (494.1 kB view hashes)

Uploaded CPython 3.10 Windows x86

bio_grumpy-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl (893.6 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

bio_grumpy-0.2.0-cp310-cp310-musllinux_1_2_i686.whl (922.7 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ i686

bio_grumpy-0.2.0-cp310-cp310-musllinux_1_2_armv7l.whl (986.7 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARMv7l

bio_grumpy-0.2.0-cp310-cp310-musllinux_1_2_aarch64.whl (902.3 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARM64

bio_grumpy-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (722.7 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

bio_grumpy-0.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (846.8 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

bio_grumpy-0.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (780.4 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

bio_grumpy-0.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (771.6 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

bio_grumpy-0.2.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (724.2 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

bio_grumpy-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (724.2 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

bio_grumpy-0.2.0-cp310-cp310-macosx_11_0_arm64.whl (636.6 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

bio_grumpy-0.2.0-cp39-none-win_amd64.whl (529.2 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

bio_grumpy-0.2.0-cp39-none-win32.whl (494.4 kB view hashes)

Uploaded CPython 3.9 Windows x86

bio_grumpy-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl (894.4 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

bio_grumpy-0.2.0-cp39-cp39-musllinux_1_2_i686.whl (923.1 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ i686

bio_grumpy-0.2.0-cp39-cp39-musllinux_1_2_armv7l.whl (987.1 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARMv7l

bio_grumpy-0.2.0-cp39-cp39-musllinux_1_2_aarch64.whl (903.0 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARM64

bio_grumpy-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (723.5 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

bio_grumpy-0.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (849.0 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

bio_grumpy-0.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (780.4 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

bio_grumpy-0.2.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (772.2 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

bio_grumpy-0.2.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (724.8 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

bio_grumpy-0.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (725.8 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

bio_grumpy-0.2.0-cp39-cp39-macosx_11_0_arm64.whl (638.0 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

bio_grumpy-0.2.0-cp38-none-win_amd64.whl (529.2 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

bio_grumpy-0.2.0-cp38-none-win32.whl (494.3 kB view hashes)

Uploaded CPython 3.8 Windows x86

bio_grumpy-0.2.0-cp38-cp38-musllinux_1_2_x86_64.whl (894.4 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

bio_grumpy-0.2.0-cp38-cp38-musllinux_1_2_i686.whl (923.5 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ i686

bio_grumpy-0.2.0-cp38-cp38-musllinux_1_2_armv7l.whl (987.5 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ ARMv7l

bio_grumpy-0.2.0-cp38-cp38-musllinux_1_2_aarch64.whl (902.8 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ ARM64

bio_grumpy-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (723.5 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

bio_grumpy-0.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (848.8 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

bio_grumpy-0.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (780.7 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

bio_grumpy-0.2.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (772.3 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

bio_grumpy-0.2.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (724.2 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARMv7l

bio_grumpy-0.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (725.6 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

Supported by

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