• Stars
    star
    215
  • Rank 183,925 (Top 4 %)
  • Language
    C
  • License
    Other
  • Created almost 13 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Finds SNP sites from a multi-FASTA alignment file

SNP-sites

Rapidly extracts SNPs from a multi-FASTA alignment.

Build Status
License: GPL v3
status
install with bioconda
Container ready
Docker Build Status
Docker Pulls
codecov

Contents

Introduction

Rapidly decreasing genome sequencing costs have led to a proportionate increase in the number of samples used in prokaryotic population studies. Extracting single nucleotide polymorphisms (SNPs) from a large whole genome alignment is now a routine task, but existing tools have failed to scale efficiently with the increased size of studies. These tools are slow, memory inefficient and are installed through non-standard procedures. We present SNP-sites which can rapidly extract SNPs from a multi-FASTA alignment using modest resources and can output results in multiple formats for downstream analysis. SNPs can be extracted from a 8.3 GB alignment file (1,842 taxa, 22,618 sites) in 267 seconds using 59 MB of RAM and 1 CPU core, making it feasible to run on modest computers. It is easy to install through the Debian and Homebrew package managers, and has been successfully tested on more than 20 operating systems. SNP-sites is implemented in C and is available under the open source license GNU GPL version 3.

Installation

There are a few ways to install SNP-sites. The simpliest way is using apt (Debian/Ubuntu) or Conda. If you encounter an issue when installing SNP-sites please contact your local system administrator. If you encounter a bug please log it here.

  • Linux - Ubuntu/Debian
  • OSX/Linux - using Bioconda
  • OSX/Linux - from source
  • OSX/Linux - from a release tarball

Linux - Ubuntu/Debian

If you have a recent version of Ubuntu or Debian then you can install it using apt.

   apt-get install snp-sites

OSX/Linux - using Bioconda

Install Conda and install the bioconda channels.

conda config --add channels conda-forge
conda config --add channels defaults
conda config --add channels r
conda config --add channels bioconda
conda install snp-sites

OSX/Linux - from source

This is a difficult method and is only suitable for someone with advanced unix skills. No support is provided with this method, since you have advanced unix skills. Please consider using Conda instead. First install a standard development environment (e.g. gcc, automa
ke, autoconf, libtool). Download the software from GitHub.

autoreconf -i -f
./configure
make
sudo make install

OSX/Linux - from a release tarball

This is a difficult method and is only suitable for someone with advanced unix skills. No support is provided with this method, since you have advanced unix skills. Please consider using Conda instead. First install a standard development environment (e.g. gcc, automa
ke, autoconf, libtool).

tar xzvf snp-sites-x.y.z.tar.gz
cd snp-sites-x.y.z
./configure
make
sudo make install

All platforms - Docker

Bioconda produce a Docker container so you can use the software out of the box. Install Docker and then pull the container from Bioconda https://quay.io/repository/biocontainers/snp-sites

Running the tests

The test can be run from the top level directory:

autoreconf -i
./configure
make
make check

This requires libcheck (the check package in Ubuntu) to be installed.

Usage

Usage: snp-sites [-mvph] [-o output_filename] <file>
This program finds snp sites from a multi fasta alignment file.
 -r     output internal pseudo reference sequence
 -m     output a multi fasta alignment file (default)
 -v     output a VCF file
 -p     output a phylip file
 -o STR specify an output filename [STDOUT]
 -c     only output columns containing exclusively ACGT
 -b     output monomorphic sites, used for BEAST
 -h     this help message
 -V     print version and exit
 <file> input alignment file which can optionally be gzipped

This application takes in a multi fasta alignment, finds all the SNP sites, then outputs the SNP sites in the following formats:

  • a multi fasta alignment,
  • VCF,
  • relaxed phylip format.

Example input

For the given input file:

>sample1
AGACACAGTCAC
>sample1
AGACAC----AC
>sample1
AAACGCATTCAN

the output is:

>sample1
GAG
>sample1
GA-
>sample1
AGT

Example usage

snp-sites my_alignment.aln
snp-sites my_gzipped_alignment.aln.gz

Output

  • Multi Fasta Alignment - Similar to the input file but just containing the SNP sites.

  • VCF - This contains the position of each SNP in the reference sequence, and the occurrence in each other sample. Can be loaded into Artemis for visualisation.

  • Relaxed Phylip format - All the SNP sites in a format for RAxML and other tree building applications.

License

SNP-sites is free software, licensed under GPLv3.

Feedback/Issues

This software is community supported. Please report any issues to the issues page.

Citation

If you use this software please cite:

"SNP-sites: rapid efficient extraction of SNPs from multi-FASTA alignments", Andrew J. Page, Ben Taylor, Aidan J. Delaney, Jorge Soares, Torsten Seemann, Jacqueline A. Keane, Simon R. Harris, Microbial Genomics 2(4), (2016)

More Repositories

1

Roary

Rapid large-scale prokaryote pan genome analysis
Perl
317
star
2

circlator

A tool to circularize genome assemblies
Python
230
star
3

Artemis

Artemis is a free genome viewer and annotation tool that allows visualization of sequence features and the results of analyses within the context of the sequence, and its six-frame translation
Java
217
star
4

ariba

Antimicrobial Resistance Identification By Assembly
Python
167
star
5

assembly-stats

Get assembly statistics from FASTA and FASTQ files
C++
115
star
6

Fastaq

Python3 scripts to manipulate FASTA and FASTQ files
Python
70
star
7

pathogen-informatics-training

Jupyter Notebook
62
star
8

assembly_improvement

Improve the quality of a denovo assembly by scaffolding and gap filling
Perl
56
star
9

iva

de novo virus assembler of Illumina paired reads
Python
54
star
10

plasmidtron

Assembling the cause of phenotypes and genotypes from NGS data
Python
29
star
11

gff3toembl

Converts Prokka GFF3 files to EMBL files for uploading annotated assemblies to EBI
Python
29
star
12

pymummer

Python3 module for running MUMmer and reading the output
Python
26
star
13

mlst_check

Multilocus sequence typing by blast using the schemes from PubMLST
Perl
24
star
14

saffrontree

SaffronTree: Reference free rapid phylogenetic tree construction from raw read data
Python
24
star
15

Bio-Tradis

A set of tools to analyse the output from TraDIS analyses
Perl
22
star
16

companion

This repository has been archived, currently maintained version is at https://github.com/iii-companion/companion
Lua
21
star
17

seroba

k-mer based Pipeline to identify the Serotype from Illumina NGS reads
Python
19
star
18

panito

Calculate genome wide average nucleotide identity (gwANI) for a multiFASTA alignment
C
16
star
19

nano-rave

Nextflow pipeline designed for rapid onsite QC and variant calling of Oxford Nanopore data (following basecalling and demultiplexing with Guppy).
Nextflow
10
star
20

Bio-RNASeq

The new Sanger Pathogen Informatics RNA Seq analysis pipeline
Perl
8
star
21

update_pipeline

Update a pipelines metadata
Perl
7
star
22

remove_blocks_from_aln

Python
5
star
23

Farmpy

Python3 package to handle job submission to a compute farm
Python
5
star
24

sanger-pathogens.github.io

Summary of Sanger Pathogen's Repos
Python
5
star
25

SnpEffWrapper

Takes a VCF and applies annotations from a GFF using SnpEff
Python
5
star
26

Bio-InterProScanWrapper

Perl
5
star
27

bact-gen-scripts

Python
4
star
28

Bio-ENA-DataSubmission

Perl
4
star
29

mapping-and-snp-calling-training

TeX
3
star
30

Bio-PacbioMethylation

Runs Pacbio methylation pipeline
Perl
3
star
31

unix-training

A set of jupyter notebooks to provide unix training developed by Pathogen Informatics at Wellcome Sanger Institute.
Jupyter Notebook
2
star
32

Bio-Metagenomics

Perl
2
star
33

setup_tracking

setup a vrtracking pipeline
Perl
2
star
34

pipelines_reporting

Perl
1
star
35

baker

A tool to generate configuration files and wrapper scripts
Python
1
star
36

chado-tools

Tools for accessing CHADO databases.
Python
1
star
37

Bio-ReferenceManager

Perl
1
star
38

Bio-AutomatedAnnotation

Perl module to take in an genomic assembly and produce annoation
Perl
1
star
39

fastml

Addtional functionality for fastml, see http://fastml.tau.ac.il
C++
1
star
40

iva-publication

Supplementary scripts and data for the IVA publication
Python
1
star
41

QC-training

Gnuplot
1
star
42

PathFind-training

Jupyter Notebook
1
star
43

Farm_blast

Python3 module to run blast+ or blastall in parallel on an LSF compute farm
Python
1
star
44

assembly-and-annotation-training

TeX
1
star
45

singularity-bsub

Provides wrapper scripts for executing LSF commands within a Singularity container
Shell
1
star
46

monocle

Python
1
star