Skip to main content

Generate cov3 files used in DEMIC

Project description

pycov3

Tests codecov Renovate enabled Codacy Badge PyPI version DockerHub

A package for generating cov3 files which are generated from sam files giving coverage information and a fasta file giving binned contigs. Cov3 files are used as input for the DEMIC R package which calculates PTR, an estimate for bacterial growth rates.

Install it from PyPI

pip install pycov3

Usage

Create a SAM directory and FASTA directory, set any non-default window or coverage parameters, then create a COV3 directory and use it to generate a COV3 file for each contig set in the FASTA directory.

    from pycov3.Directory import Cov3Dir, FastaDir, SamDir

    sam_d = SamDir(Path("/path/to/sams/"), False)

    window_params = {
        "window_size": None,
        "window_step": None,
        "edge_length": sam_d.calculate_edge_length(),
    }
    coverage_params = {
        "mapq_cutoff": None,
        "mapl_cutoff": None,
        "max_mismatch_ratio": None,
    }
    window_params = {k: v for k, v in window_params.items() if v is not None}
    coverage_params = {k: v for k, v in coverage_params.items() if v is not None}

    fasta_d = FastaDir(Path("/path/to/fastas/"), False)

    cov3_d = Cov3Dir(
        Path(args.out_dir),
        False,
        fasta_d.get_filenames(),
        window_params,
        coverage_params,
    )

    cov3_d.generate(sam_d, fasta_d)

Alternatively, to use the bare application logic and do all the file handling yourself, you can use the Cov3Generator class which takes a list of generators as SAM inputs and a generator as a FASTA input.

    from pycov3.Cov3Generator import Cov3Generator
    from pycov3.File import Cov3File

    cov3_generator = Cov3Generator(
        sam_generators,
        fasta_generator,
        sample,
        bin_name,
        window_params,
        **coverage_params,
    )

    cov3_dict = cov3_generator.generate_cov3()

    # Write output
    cov3_file = Cov3File(Path(/path/to/output/), "001")
    cov3_file.write_generator(cov3_generator.generate_cov3())
$ python -m pycov3 -h
#or
$ pycov3 -h

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

pycov3-2.0.4b0.tar.gz (24.6 kB view details)

Uploaded Source

Built Distribution

pycov3-2.0.4b0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file pycov3-2.0.4b0.tar.gz.

File metadata

  • Download URL: pycov3-2.0.4b0.tar.gz
  • Upload date:
  • Size: 24.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for pycov3-2.0.4b0.tar.gz
Algorithm Hash digest
SHA256 22a3b35bd589e967bf3041356436c652913a64c601efb2af2149375fb095a8e4
MD5 d765d90400b5e1c8878a0fa74099edd9
BLAKE2b-256 a6897c95e9d0077eb0bc58755e477fdb3b7c4f4c5e2092809932714eb6e6b3a2

See more details on using hashes here.

File details

Details for the file pycov3-2.0.4b0-py3-none-any.whl.

File metadata

  • Download URL: pycov3-2.0.4b0-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for pycov3-2.0.4b0-py3-none-any.whl
Algorithm Hash digest
SHA256 4f666a08de07d5787fad941c8e4e5bc7d02ec216c27e9c2c4bd8c6ffb2834940
MD5 e4c8655a608f5a1ed2debe9a053627ce
BLAKE2b-256 8a91753567de0ea8589c2307daaec8b07b8ba511df62ef65dbf08e0202274ef5

See more details on using hashes here.

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