Skip to main content

Piecing together complete genetic coverage for biomonitoring.

Project description

mozaiko: Piecing Together Complete Genetic Coverage for Biomonitoring

License: GPL v3 Lint Status Packge Tests codecov

alt text

mozaiko is a bioinformatics tool designed to help researchers select suitable primer sets for complete coverage in biomonitoring studies. Taking inspiration from mosaics, where small pieces fit together to form a whole, mozaiko supports comprehensive genetic marker analysis by ranking primers' suitability.

The name comes from the Esperanto word 'Mozaiko', reflecting the idea of bringing different elements together. With mozaiko, researchers can efficiently select primer sets for a range of applications, making biomonitoring and ecological studies more reliable and comparable.

Installation instructions

Prerequisites

  • Python 3.x
  • Conda (Miniconda or Anaconda)
  • Git

Installation

  1. Clone the repository:

    git clone git@github.com:CIBIO-BU/mozaiko.git
    
    cd mozaiko
    
  2. Run the installation script:

    chmod +x conda_env_setup.sh
    
    ./conda_env_setup.sh
    
  3. Activate the environment:

    conda activate mozaiko
    
  4. Run mozaiko:

    mozaiko --help
    

Th installation script will:

  • Check if Conda is installed;
  • Create a new Conda environment named "mozaiko", if it does not yet exist;
  • Activate the Conda environment;
  • Install the mozaiko package;
  • Install required dependencies and tools.

mozaiko Metrics' System

mozaiko contains three main categories to evaluate and rank primer sets:

Category 1: Reference Database Quality

  • barcoded_taxa_one_plus: percentage of taxa in OTL with more than one barcode. A barcode must include the target insert to be considered.
  • ratio_barcoded_taxa: proportion of taxa in OTL with high barcode coverage (more than five barcodes) relative to taxa with minimal barcode coverage (at least one barcode). The value ranges from 0 to 1, 1 representing the optimal scenario.

Category 2: Binding

  • mismatch_score: the maximum number of mismatches between the forward primer and its binding site and the reverse primer and its binding site is recorded for each taxon. The maximum mismatch values are then summed to provide the score for the OTL list. The lowest values indicate lower mismatches between primer and primer-binding sites, facilitating amplification.
  • priming_ratio_sum: sum of the priming ratio across taxon. The priming ratio is computed as the ratio of the maximum number of mismatches at the 3’ end of the primer binding site to the maximum number of mismatches across the entire primer binding site. The lowest values indicate fewer mismatches at the 3’ end of the primer binding site, hence higher binding strength.
  • gc_clamp_score: sum of GC matches at the 3’ end (GC Clamp) across all taxa present in the OTL. Higher values are preferable, as a content of 40-60% of GC matches promotes binding.
  • min_tm_cv: The minimum melting temperature (Tm) between each pair of forward and reverse primers is calculated for each taxon. The coefficient of variation across taxa is then determined. Lower values indicate a more consistent thermal performance and are preferable.

Category 3: Traits and Resolution

  • taxonomic_resolution: percentage of taxa whose genetic divergence is higher than 2%. Higher values are preferable as they indicate an increased possibility of distinguishing between closely related taxa.
  • resolution_ratio: percentage of taxa with genetic divergence higher than a cutoff (default cutoffs are 10%, 5%, and 2% for families, genus, and species, respectively), divided by the total number of taxa considered. This metric indicates the primer's ability to distinguish the target taxonomy from non-target taxa.

The final ranking position is determined based on the individual ranking scores for each metric, presented in the output file intermediate_ranks, with all metrics weighted equally. Each metric is ranked based on whether higher or lower values are more desirable:

  • Descending (higher is better):
    • barcoded_taxa_one_plus
    • ratio_barcoded_taxa
    • gc_matches_across_taxon
    • tm_score
    • amplification_success_percent
  • Ascending (lower is better):
    • mismatch_score
    • priming_ratio_sum
    • min_tm_cv
    • taxonomic_resolution

For metrics ranked ascending, primers with lower values are preferred. For example, a lower ‘mismatch_score’ is better because it means fewer mismatches. For metrics ranked descending, primers with higher values are preferred.

mozaiko Workflow

Primer rankings are always relative to a specific run, if different primers are given the results will vary.

Contacts

In case of enquiry, please reach out to bu@biopolis.up.pt.

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

mozaiko-0.1.6.tar.gz (89.5 kB view details)

Uploaded Source

Built Distribution

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

mozaiko-0.1.6-py3-none-any.whl (65.0 kB view details)

Uploaded Python 3

File details

Details for the file mozaiko-0.1.6.tar.gz.

File metadata

  • Download URL: mozaiko-0.1.6.tar.gz
  • Upload date:
  • Size: 89.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for mozaiko-0.1.6.tar.gz
Algorithm Hash digest
SHA256 d5a764f7298c033f10bb12d6442d20773bc758b45f6103409bfa55b9fa93b0dd
MD5 a4b002f6b9a75acf7ea80bbf6738e104
BLAKE2b-256 9a59d0c2921862e5dc5e72e5e34b192db5752a84b84245358f27e598bd524768

See more details on using hashes here.

File details

Details for the file mozaiko-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: mozaiko-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 65.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for mozaiko-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 a4473359644ad933995129e9ecd21b45a83feb3f871fb85f039bc36e65c95bad
MD5 7d5fd65338396a89168aa48cb0efc1cf
BLAKE2b-256 1a7c6a550d429f42edc76e7f89c46804c52e1754e7db29b4b6fb1adf2bf03f2a

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