一个简单进行SNP分析的实战例子(优秀学徒成果展)

准备工作

1

修改提示符

具体详见:shell界面颜值知多少 (颜值即正义)

1

保存到环境变量

mkdir biosoft package
mkdir ~/bisoft/mybin
vim .bashrc
export PATH=$PATH:/home/yjzhang/biosoft/mybin 

安装软件

首先参考:生物信息学常见1000个软件的安装代码! (初学者先这样摸索)

1

安装fastq-dump (sratoolkit套件)

cd package
wget -c http://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/2.9.1-1/sratoolkit.2.9.1-1-ubuntu64.tar.gz
tar -zxvf sratoolkit.2.9.1-1-ubuntu64.tar.gz -C ~/biosoft/
cd ~/biosoft/sratoolkit.2.9.1-1-ubuntu64/bin
ln -s ~/biosoft/sratoolkit.2.9.1-1-ubuntu64/bin/fastq-dump ~/biosoft/mybin/

2

安装Entrez Direct软件套件

curl ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/edirect.zip -O
unzip edirect.zip -d ~/biosoft/
## 不能执行,应该没有安装上,找教程发现还有要执行的步骤
./setup.sh
#添加到环境变量
echo "export PATH=\${PATH}:/home/yjzhang/biosoft/edirect" >> $HOME/.bashrc

安装后有帮助信息出现,应该是安装成功了,但下载数据失败,由于时间紧迫,目前没找原因,

查询conda的软件库有这个软件,直接转战conda安装

conda 软件查询网址

https://bioconda.github.io/recipes.html

3

安装miniconda

wget -c https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh

chmod +x Miniconda3-latest-Linux-x86_64.sh

./Miniconda3-latest-Linux-x86_64.sh

##更改镜像配置

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda

conda config --set show_channel_urls yes

#创建一个新环境

conda create -n snp

source activate snp #启动新环境

source deactivate   #关闭环境

4

conda install entrez-direct

5

conda install readseq

6

conda install bwa

7

conda install samtools

8

conda install freebayes

具体就不罗列了,总之是严格按照生信技能树的教学视频来的,自己去B站观看:

下载原始数据

从埃博拉项目中获取多个数据集

项目编号:PRJNA257197

这个时候需要学习生信技能树的:解读SRA数据库规律一文就够

1

第一种方法(下载的完整数据,比较大)

NCBI搜索,下载该项目的SraRunInfo.csv文件,FileZilla导入到服务器
mkdir sra
cd sra
cat SraRunInfo.csv | cut -f 10 -d ',' | grep SRR | head -10 > runinfo.csv
cat runinfo.csv | xargs -i echo wget -c {} \$ >>sra.sh
bash sra.sh
##下载完后进行文件转换

cd ~/snp/sra

cat SraRunInfo.csv | cut -f 1 -d ',' | grep SRR | head -10 > sraids.txt

#批量转换

vim fastq.sh

#! /bin/bash

#

bin=fastq-dump

dir='/home/yjzhang/snp/raw/'

cat $1 |while read id

do

arr=($id)

echo "Processin sample $arr"

$bin --gzip --split-3 -O $dir /home/yjzhang/snp/sra/$arr

done

bash fastq.sh sraids.txt

2

第二种下载方法

##下载完后进行文件转换
下载的数据不完整,每个文件只下载了20000条数据,方便练习,节省时间

mkdir ~/snp/sra/fastq

cat SraRunInfo.csv | cut -f 1 -d ',' | grep SRR | head -10 > sraids.txt

cat sraids.txt | awk ' { print "fastq-dump -X 20000 --split-files -O ~/snp/sra/fastq " $1 } ' > get-data.sh

bash get-data.sh

制作参考数据

cd ~/snp/ref

efetch -id KM034562 -format gb -db nucleotide > KM034562.gb

readseq -format=FASTA -o ~/snp/ref/KM034562.fa KM034562.gb

readseq -format=GFF -o ~/snp/ref/KM034562.gff KM034562.gb

比对

1

构建索引

bwa index ~/snp/ref/KM034562.fa

samtools faidx /KM034562.fa

2

比对

mkdir ~/snp/align

cd ~/snp/align

vim bwa.sh #新建脚本

NAME=$1

READ1=~/snp/sra/fastq/"$NAME"_1.fastq

READ2=~/snp/sra/fastq/"$NAME"_2.fastq

REFS=~/snp/ref/KM034562.fa

GROUP="@RG\tID:$NAME\tSM:$NAME\tLB:$NAME"

BAM=~/snp/align/$NAME.bam

bwa mem -R $GROUP $REFS $READ1 $READ2 2> logfile.txt | samtools view -b - | samtools sort -o $BAM -

echo $?

samtools index $BAM

echo "*** Created alignment file $BAM"

samtools flagstat $BAM | grep proper

cat ~/snp/sra/sraids.txt | awk ' { print "bash bwa.sh " $1 } ' > align-bwa.sh

bash align-bwa.sh

找SNP

cd ~/snp/align

freebayes -p 1 -f ~/snp/ref/KM034562.fa ~/snp/align/*.bam > freebayes.vcf

把bam文件,vcf文件,和参考序列导入IGV查看

随便找一个基因

samtools view -h SRR1972880.bam KM034562:9547-9637 |samtools sort -o 9547.bam -

这个流程就是生信技能树的WES学徒课程,学完马上就能follow啦,还等什么呢,赶快试试看

(0)

相关推荐