Skip to main content

Generate cov3 files used in DEMIC

Project description

pycov3

CI codecov Renovate enabled Super-Linter Codacy Badge PyPI version

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.4a0.tar.gz (24.4 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: pycov3-2.0.4a0.tar.gz
  • Upload date:
  • Size: 24.4 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.4a0.tar.gz
Algorithm Hash digest
SHA256 235fb13b248080a2597e4dd6d90024a4a86483d3bceb5b94f3ef1e18fbf6bffb
MD5 3004fc83fd17f7d89ffacef110e9cf73
BLAKE2b-256 5794ed7523b4c3f159445e86c37ebdedb698b932d0e6c28665b2138fc2a71bc4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pycov3-2.0.4a0-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.4a0-py3-none-any.whl
Algorithm Hash digest
SHA256 6d61c4f06cc22cfe054b2708c2d5440ef4d6aaf330142ffd2039cb68a32d5fdb
MD5 fec286675c332ad4be61c8f9d601cba6
BLAKE2b-256 244daab02073ba4038197bd68e3f403d10cb681d763a8d0ec07d12610e6fd280

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