Skip to main content
PyPI version Python versions License

Python package for microsatellite genotyping from highly multiplexed amplicon sequencing data

Features

  • Semi-automatic genotyping optimized for amplicon sequencing data of microsatellite loci

  • Visual genotyping with interactive plots

  • Fast SSR search in sequences

  • Automatic grouping and naming of alleles based on polymorphisms in both SSR and non-SSR regions

  • Support for multi-core processing

Requirements

  • Python 3.8 or higher

  • NGmerge

  • MAFFT

  • BLASTn (included in BLAST+ command line applications provided by NCBI)

  • Optional: ripgrep

Installation

Install from PyPI

pip install massgenotyping

Install the latest version from a Git repository

pip install git+https://github.com/kohyamat/massgenotyping

Usage

mgt [-h] SUBCOMMAND [OPTIONS]

Subcommand list:

  • demultiplex: demultiplex raw amplicon sequences based on primer sequences

  • merge-pairs: merge paired-end reads

  • denoise: reduce any noise that may have been generated during sequencing and PCR

  • filter: filtering for erroneous sequence variants and screening for putative alleles

  • allele-check: check allele candidates and create an allele database

  • allele-call: assign alleles to raw amplicon sequences

  • show-alignment: show a sequence alingment

The details of the options for each subcommand can be checked by mgt SUBCOMMAND -h.

Tutorials with example data

Here’s a step-by-step tutorial using the example data.

1. Demultiplex raw amplicon sequences based on primer sequences

As a first step, the sequence data is split based on the primer sequence. The input can be one or two sequence files in the FASTQ format, or a directory containing multiple sequence files. Primer sequences can be read from CSV or FASTA files. Please check the example data for the format of the input data.

mgt demultiplex examples/sequence_data -g "*_R[12]_*" -m examples/marker_data.csv

The result files are written in subdirectories within the output directory (./project by default) for each marker.

2. Merge paired-end reads and trim primer sequecnes

For the paired-end sequencing data, the respective sequence pairs are merged using NGmerge program. The following command removes the the primer sequences after merging sequence pairs.

mgt merge-pairs ./project -m examples/marker_data.csv --trim-primer

For single-end data, this step can be skipped. The removal of the primer sequence can also be performed in the step 1.

3. Reduce noise (optional but recommended)

This step corrects any noise (very low-frequency point mutations) that may have been generated during sequencing or PCR. This step is not necessarily required, but it will make the following step easier.

mgt denoise ./project/*/*_merged.fastq.gz

4. Filter out erroneous sequence variants

In this step, the sequence of putative alleles is extracted for each marker in each sample, while removing any erroneous sequence variants, such as ‘stutter’ sequences. After some rough filtering, an interactive plot allows you to choose which sequence variants to keep. You can skip this visual-checking procedure with the --force-no-visual-check option.

mgt filter ./project -m examples/marker_data.csv

5. Check a multiple sequence alignment and make an allele database

The database is created after checking the alignment of the putative allele sequences. If necessary, you can further filter out the erroneous sequence variants.

mgt allele-check ./project

6. Assign alleles to raw amplicon sequences

Finally, the following command perform a BLASTn search against the database created for each marker and assign alleles to the raw sequence data. The genotype tables are created within the output directory.

mgt allele-call ./project -m examples/marker_data.csv

Screenshots

Figure 1

Figure 1. Checking the multiple sequence alignment across the samples (STEP 5).

Figure 2

Figure 2. Visual genotyping (STEP 6).

Contributing to massgenotyping

Contributions of any kind are welcome!

License

MIT

Metadata

Release files for massgenotyping 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for massgenotyping 0.2.2
File Size Uploaded
massgenotyping-0.2.2.tar.gz 327.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for massgenotyping 0.2.2
File Interpreter ABI Platform
massgenotyping-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 380.3 kB

Release files / massgenotyping-0.2.2.tar.gz

Download URL massgenotyping-0.2.2.tar.gz
Size 327.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c9cb26e2b2e125104ad7cc42488159d075826afe734cd49803940be9a436e168
BLAKE2b-256 checksum
How to use checksums
75650fc38318b16c6b93f8c67412edd134e10162a30c8b2ee808ddec5829d8f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.12.1

Release files / massgenotyping-0.2.2-py3-none-any.whl

Download URL massgenotyping-0.2.2-py3-none-any.whl
Size 53.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
29a6b85f866970e75c4e03cee78d98af503d233ca3ab4ba9f0c230129926a0c5
BLAKE2b-256 checksum
How to use checksums
fe05c9f7c84f394f5530b36fb7d628c9d2f15e9feac0433d8258c72d45ec72e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.12.1

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page