Welcome to snpgenie documentation.
Contents:
Introduction
snpgenie is a desktop and command line tool for microbial variant calling and phylogenetic analysis from raw read data. It is primarily written to be used with bacterial isolates of MBovis but can be applied to other species. This is in early stages of development. Anyone interested in using the software is encouraged to make sugggestions on improving or adding features.
This software is written in Python and is developed with the Qt toolkit using PySide2. It was made on Ubuntu linux but is designed to also run on Windows 10 with a standalone application.
Command line tool
This tool works from the command line and via Python scripts. Unlike many other SNP calling pipelines, it is also designed to have a graphical user interface, which is in development.
Current Features
load multiple fastq files and process together
view fastq quality statistics
trim reads
align to reference
view bam alignments
call variants
filter variants
create SNP core multiple sequence alignment
create phylogenetic tree
Links
Installation
Linux
With pip:
pip install -e git+https://github.com/dmnfarrell/snpgenie.git#egg=snpgenie
Install binary dependencies:
sudo apt install bcftools samtools bwa
Windows
A standalone installer will be used to deploy on windows.
Mac OSX
Not tested. You can try the Linux instructions possibly with bioconda for the binaries.
Using snpgenie
The program includes both a command line and graphical interface. Both will produce the same results.
Command Line
This will run the entire process based on a set of options given at the terminal:
-h, --help show this help message and exit
-i FILE, --input FILE
input folder(s)
-l FILE, --labels FILE
sample labels file, optional
-r FILE, --reference FILE
reference genome filename
-w, --overwrite overwrite intermediate files
-m, --trim trim fastq files
-q QUALITY, --quality QUALITY
trim quality
-t THREADS, --threads THREADS
cpu threads to use
-o FILE, --outdir FILE
Results folder
-v, --version Get version
-s, --test Do test run
Example:
snpgenie -r reference.fa -g reference.gff -i data_files -t 8 -o results
From Python
You can run a workflow from within Python:
from sngenie import app
args = {'threads':8, 'outdir': 'results', 'labelsep':'-',
'input':['/my/folder/',
'/my/other/folder'],
'reference': None, 'overwrite':False}
W = app.WorkFlow(**args)
st = W.setup()
W.run()
Desktop Application
This interactive tool is designed for those not comfortable with the command line and includes some additional features such as visualization of fastq qualities.