The smallgenomeutilities are a collection of scripts that is useful for dealing and manipulating NGS data of small viral genomes. They are written in Python 3 with a small number of dependencies.
The smallgenomeutilities are part of the V-pipe workflow for analysing NGS data of short viral genomes.
You can install these python modules either using pip or bioconda:
- biopython
- bcbio-gff
- numpy
- pandas
- progress
- pysam
- pysamstats
- sklearn
- matplotlib
- progress
- pyyaml
In addition to the modules, frameshift_deletions_checks currently requires mafft being installed -- it is also available on bioconda.
The recommended way to install the smallgenomeutilities is using the bioconda package:
mamba install smallgenomeutilities
Another possibility is using pip:
# install from the current directory
pip install --editable .
# install from GitHub
pip install git+https://github.com/cbg-ethz/smallgenomeutilities.git
# install from Pypi
pip install smallgenomeutilities
extract base counts and coverage information from a single alignment file
Compute multidimensional scaling for visualizing distances among reconstructed haplotypes.
Convert QuasiRecomb output of a transmitter and recipient set of haplotypes to a combined set of haplotypes, where gaps have been filtered. Optionally translate to peptide sequence.
Perform a genomic liftover. Transform an alignment in SAM or BAM format from one reference sequence to another. Can replace M states by =/X.
Calculate average coverage for a target region on a different contig.
Calculate average coverage for a target region of an alignment.
Build consensus sequences including either the majority base or the ambiguous bases from an alignment (BAM) file.
Extract regions with sufficient coverage for running ShoRAH. Half-open intervals are returned, [start:end), and 0-based indexing is used.
Extract subsequences of an alignment, with the option of converting it to peptide sequences. Can filter on the basis of subsequence frequency or gap frequencies in subsequences.
Extract sequences of alignments into a FASTA file where the sequence id matches a given string.
Produce a report about frameshifting indels in a consensus sequences
gather multiple per sample coverage information into a single unified file
Determine the genomic offsets on a target contig, given an initial contig and offsets. Can be used to map between reference genomes.
find the minimum coverage in a region from an alignment
Extract frequencies of minority variants from multiple samples. A region of interest is also supported.
Compare sequences from a multiple sequence alignment from transmitter and recipient samples in order to determine the optimal matching of transmitters to recipients.
Predict number of reads after quality preprocessing.
Starting with a primers BED file, generate the other files used by V-pipe (inserts BED file, and TSV and FASTA file of primers sequences)
Given a multiple sequence alignment, remove loci with a gap fraction above a certain threshold.
- David Seifert <david.seifert@bsse.ethz.ch>
- Susana Posada Cespedes <susana.posada@bsse.ethz.ch>
- Ivan Blagoev Topolsky <ivan.topolsky@sib.swiss>
- Lara Fuhrmann <lara.fuhrmann@bsse.ethz.ch>
- Mateo Carrara <carrara@nexus.ethz.ch>