Linux Snippy基因组分析软件环境搭建及使用

2021-12-04  本文已影响0人  火卫控

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
上一篇 下一篇

猜你喜欢

热点阅读