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
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容