Linux Snippy基因组分析软件环境搭建及使用
Snippy****基因组分析软件环境搭建及使用
官方文档:https://github.com/tseemann/snippy
Rapid haploid variant calling and core genome alignment
快速单倍体变异调用和核心基因组比对
Snippy finds SNPs between a haploid reference genome and your NGS sequence reads. It will find both substitutions (snps) and insertions/deletions (indels). It will use as many CPUs as you can give it on a single computer (tested to 64 cores). It is designed with speed in mind, and produces a consistent set of output files in a single folder. It can then take a set of Snippy results using the same reference and generate a core SNP alignment (and ultimately a phylogenomic tree).
Snippy在单倍体参考基因组和您的NGS序列读数之间找到SNP。它将找到替换(snps)和插入/删除(indels)。一台计算机上将使用尽可能多的CPU(已测试64核)。在设计时考虑到速度,并在单个文件夹中生成一组一致的输出文件。然后,它可以使用相同的参考来获取一组Snippy结果,并生成核心SNP比对(并最终生成系统树)。
环境搭建:以win10 WSL unbuntu子系统为例
conda分为anaconda和miniconda。anaconda是包含一些常用包的版本(这里的常用不代表你常用 微笑.jpg),miniconda则是精简版,需要啥装啥,所以推荐使用miniconda
选择适合自己的版本,用wget命令下载。
这里选择的是latest-Linux版本,所以下载的程序会随着python的版本更新而更新(现在下载的版本默认的python版本已经是3.7了)注意,以前的教程都是教一路yes下来的,但是会有隐患,特别是当你的服务器之前有安装过软件的话,conda会污染你原来的环境,把你原来设置好的东西进行更改。具体的惨痛教训请参见:Anaconda is a snake. 所以在询问是否将conda加入环境变量的时候选择no。
安装conda
wget -c https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod 777 Miniconda3-latest-Linux-x86_64.sh #给执行权限
bash Miniconda3-latest-Linux-x86_64.sh #运行
在询问是否将conda加入环境变量的时候选择no。
安装Bioconda
conda install -c conda-forge -c bioconda -c defaults snippy
安装 Ruby(Brew依赖Ruby)
sudo apt-get update
sudo apt-get install ruby
安装 LinuxBrew(Linux) (库管理),(安装备用方式在文末)
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew -v
brew update
brew install brewsci/bio/snippy
安装Snippy
cd $HOME
git clone https://github.com/tseemann/snippy.git
$HOME/snippy/bin/snippy --help
Git clone速度太慢的解决办法
Git速度太慢需要改DNS,方法如下:
1 查找域名对应的ip地址,并修改hosts文件
linuxidc@linuxidc:~/linuxidc.com$ **nslookup github.global.ssl.fastly.Net**
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: github.global.ssl.fastly.Net
Address: 151.101.229.194
linuxidc@linuxidc:~/linuxidc.com$ **nslookup github.com**
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: github.com
Address: 13.229.188.59
2 然后修改hosts文件
Windows上的hosts文件路径在
C:\Windows\System32\drivers\etc\hosts
Linux的hosts文件路径在/etc/hosts中
sudo vim /etc/hosts
3 在hosts文件末尾添加两行
github.com 13.229.188.59
github.global.ssl.fastly.Net 151.101.229.194
4 刷新DNS缓存
sudo /etc/init.d/networking restart
(如果不行,下列命令)
$sudo apt-get install nscd
$sudo /etc/init.d/nscd restart)
安装LinuxBrew(另详细)#
第1步 - 克隆LinuxBrew#
为了保持整洁,克隆LinuxBrew成用户的主目录中的隐藏目录:
Copy
$ git clone https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew
但任何其他目录也将工作。
第2步 - 更新环境变量点击
下一步骤是将LinuxBrew添加到用户的环境变量。
添加以下行到用户的年底~/.bashrc文件中:
Copy
# Until LinuxBrew is fixed, the following is required.
# See: https://github.com/Homebrew/linuxbrew/issues/47
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH
## Setup linux brew
export LINUXBREWHOME=$HOME/.linuxbrew
export PATH=$LINUXBREWHOME/bin:$PATH
export MANPATH=$LINUXBREWHOME/man:$MANPATH
export PKG_CONFIG_PATH=$LINUXBREWHOME/lib64/pkgconfig:$LINUXBREWHOME/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=$LINUXBREWHOME/lib64:$LINUXBREWHOME/lib:$LD_LIBRARY_PATH
注 :如果您安装LinuxBrew到不同的目录,更改路径LINUXBREWHOME以上。
第3步 - 更换源点击
brew默认的源速度太慢了,有时还会被墙……,可以替换成国内的源,这里演示的是中科大的源。
替换brew.git
Copy
cd "$(brew --repo)"
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
替换homebrew-core.git
Copy
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
替换Homebrew Bottles源
对于bash用户:
Copy
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile
然后brew update 更新一下。
Snippy 4.4.5 快速开始
快速开始:https://github.com/tseemann/snippy作者文档说明
% snippy --cpus 16 --outdir mysnps --ref Listeria.gbk --R1 FDA_R1.fastq.gz --R2 FDA_R2.fastq.gz
<cut>
Walltime used: 3 min, 42 sec
Results folder: mysnps
Done.
% ls mysnps
snps.vcf snps.bed snps.gff snps.csv snps.tab snps.html
snps.bam snps.txt reference/ ...
% head -5 mysnps/snps.tab
CHROM POS TYPE REF ALT EVIDENCE FTYPE STRAND NT_POS AA_POS LOCUS_TAG GENE PRODUCT EFFECT
chr 5958 snp A G G:44 A:0 CDS + 41/600 13/200 ECO_0001 dnaA replication protein DnaA missense_variant c.548A>C p.Lys183Thr
chr 35524 snp G T T:73 G:1 C:1 tRNA -
chr 45722 ins ATT ATTT ATTT:43 ATT:1 CDS - ECO_0045 gyrA DNA gyrase
chr 100541 del CAAA CAA CAA:38 CAAA:1 CDS + ECO_0179 hypothetical protein
plas 619 complex GATC AATA GATC:28 AATA:0
plas 3221 mnp GA CT CT:39 CT:0 CDS + ECO_p012 rep hypothetical protein
% snippy-core --prefix core mysnps1 mysnps2 mysnps3 mysnps4
Loaded 4 SNP tables.
Found 2814 core SNPs from 96615 SNPs.
% ls core.*
core.aln core.tab core.tab core.txt core.vcf
使用实例
采用geogia.gb (ASFV 格鲁吉亚株 NCBI下载)文件作为参考基因组
本实验室测序株GD11 Fasta格式序列信息文本 GD11.fasta 去和参开基因组比对。
Linux Ubuntu(WIN10 WSL Ubuntu18.4 LTS)命令行窗口下运行命令:
snippy --cpus 4 --outdir gd11-geogia.gb-mysnps --ref dblj2018.gb --ctgs GD11.fasta –force
说明:
-- cpus 4:根据电脑配置,尽量设置为最高核心数,效率更高
--outdir gd11-geogia.gb-mysnps:分析数据输出文件夹,默认当前文件夹下
--ref dblj2018.gb: 参考基因组为gb格式的dblj2018.gb,也可以为gbk格式
--ctgs GD11.fasta:待分析基因组Fasta格式文件
–force:防止程序意外终止,强制执行
程序运行过程如下:
image.png
image.png image.png
一共使用9s时间。
生成分析数据结果文件夹如下:
image.png其中三个文件比较重要:
snps.html
snps.csv
snps.txt
分别如下:
image.png image.png
image.png