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.8.tar.gz (90.0 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.8-py3-none-any.whl (65.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mozaiko-0.1.8.tar.gz
  • Upload date:
  • Size: 90.0 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.8.tar.gz
Algorithm Hash digest
SHA256 b3a6238b27cbc3551b3597f8346607983b0cbf95e236e55ae2f8546185e62b09
MD5 510bc41f5c2f826594a73bcf4c083c9e
BLAKE2b-256 57eec1a342b84c709faf0c2e832f8ac7edd34d6bb4aac6167c90e19c93f5a1dd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mozaiko-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 65.4 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 0516d9fc951311ad577be4e9198e1b1b642c7c065dd4dac4ca4f0b16b43b59d1
MD5 ae2337fff7cd28505d5034427b6d1d05
BLAKE2b-256 a440db2944f580c13402cecadd8238a6a90c89b56ff0e562fe4cf0331cbe56b3

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