Skip to main content

No project description provided

Project description

rust-gc-count

cargo build --release
target/release/gccount --input in.fa --output out.wig

Description

A tool for generating wiggle files of GC from DNA written in Rust.

Help

Calculate GC and write into a wiggle file

Usage: gccount [OPTIONS] --input <INPUT> --output <OUTPUT>

Options:
      --input <INPUT>                   FASTA formatted file (can be gziped) to calculate GC from
      --output <OUTPUT>                 Output wiggle file. One file will be produced
      --window <WINDOW>                 Window size to calculate GC over [default: 5]
      --omit-tail                       Remove any trailing sequence and do not calcualte GC. Default behaviour is to retain the leftover sequence. GC is calculated over the remaining sequence length
      --write-chrom-sizes               Write a chrom.sizes file into the current directory. Use --chrom-sizes-path to configure location
      --chrom-sizes-path <CHROM.SIZES>  Path of the chrom.sizes file. Defaults to chrom.sizes [default: chrom.sizes]
      --verbose                         Be verbose
  -h, --help                            Print help
  -V, --version                         Print version

Checksum calculator

target/release/checksumseq --input in.fa --output chrom.file

Another binary for calculating sequence lengths and checksums from a file. The resulting file is formted as tab separated with the following columns:

  1. Sequence ID as it appears in the FASTA file
  2. Sequence length
  3. Refget ga4gh identifier (SQ.sha512t24u)
  4. MD5 checksum hex encoded

The resulting file can be used as a chrom.sizes file too.

Command line

Iterates through a FASTA file calclating checksums and sequence length

Usage: checksumseq [OPTIONS]

Options:
      --input <INPUT>    FASTA formatted file to calculate checksums from (- mean STDIN). Reads gzipped FASTA if the filename ends with .gz (including bgzip files) [default: -]
      --output <OUTPUT>  Output file (- means STDOUT). Each line is tab separated reporting "ID Length sha512t24u md5" [default: -]
      --verbose          Be verbose
  -h, --help             Print help
  -V, --version          Print version

From within Python

Python bindings are available for the checksumseq calculation. The following code demonstrates how to use the bindings.

Install the bindings

maturin is used to build the bindings and install them into the current environment. Ensure you are using the Python environment you want to install the bindings into.

pip install maturin

Then navigate to the rust-gc-count/bindings directory and run the following command to install the bindings.

maturin build --release

Use the bindings

To use the bindings in Python, the following code demonstrates how to use the bindings.

from gc_count import checksum

results = checksum("path/to/seq/fasta")
for result in results:
    print(result.sha512)

Level of code quality

The code developed here has not been extensively tested but has been verified as producing correct and expected output.

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

gc_count-0.2.1.tar.gz (22.7 kB view hashes)

Uploaded Source

Built Distributions

gc_count-0.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

gc_count-0.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

gc_count-0.2.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

gc_count-0.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

gc_count-0.2.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

gc_count-0.2.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

gc_count-0.2.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

gc_count-0.2.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

gc_count-0.2.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

gc_count-0.2.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

gc_count-0.2.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

gc_count-0.2.1-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

gc_count-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ARM64

gc_count-0.2.1-cp312-none-win_amd64.whl (225.6 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

gc_count-0.2.1-cp312-none-win32.whl (237.8 kB view hashes)

Uploaded CPython 3.12 Windows x86

gc_count-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

gc_count-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

gc_count-0.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (1.2 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.5+ i686

gc_count-0.2.1-cp312-cp312-macosx_11_0_arm64.whl (337.1 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

gc_count-0.2.1-cp312-cp312-macosx_10_12_x86_64.whl (345.9 kB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

gc_count-0.2.1-cp311-none-win_amd64.whl (225.5 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

gc_count-0.2.1-cp311-none-win32.whl (238.2 kB view hashes)

Uploaded CPython 3.11 Windows x86

gc_count-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

gc_count-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

gc_count-0.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (1.2 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.5+ i686

gc_count-0.2.1-cp311-cp311-macosx_11_0_arm64.whl (337.5 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

gc_count-0.2.1-cp311-cp311-macosx_10_12_x86_64.whl (346.8 kB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

gc_count-0.2.1-cp310-none-win_amd64.whl (225.5 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

gc_count-0.2.1-cp310-none-win32.whl (238.2 kB view hashes)

Uploaded CPython 3.10 Windows x86

gc_count-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

gc_count-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

gc_count-0.2.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (1.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.5+ i686

gc_count-0.2.1-cp310-cp310-macosx_11_0_arm64.whl (337.5 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

gc_count-0.2.1-cp310-cp310-macosx_10_12_x86_64.whl (346.8 kB view hashes)

Uploaded CPython 3.10 macOS 10.12+ x86-64

gc_count-0.2.1-cp39-none-win_amd64.whl (225.6 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

gc_count-0.2.1-cp39-none-win32.whl (238.6 kB view hashes)

Uploaded CPython 3.9 Windows x86

gc_count-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

gc_count-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

gc_count-0.2.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (1.2 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.5+ i686

gc_count-0.2.1-cp38-none-win_amd64.whl (225.6 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

gc_count-0.2.1-cp38-none-win32.whl (238.4 kB view hashes)

Uploaded CPython 3.8 Windows x86

gc_count-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

gc_count-0.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

gc_count-0.2.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl (1.2 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.5+ i686

gc_count-0.2.1-cp37-none-win_amd64.whl (225.5 kB view hashes)

Uploaded CPython 3.7 Windows x86-64

gc_count-0.2.1-cp37-none-win32.whl (238.2 kB view hashes)

Uploaded CPython 3.7 Windows x86

gc_count-0.2.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

gc_count-0.2.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

gc_count-0.2.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl (1.2 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.5+ i686

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