RNA-Seq

【RNA-Seq 实战】三、fastq下载及过滤数据

2022-07-28  本文已影响0人  佳奥

这里是佳奥!继续转录组分析的学习。

一般我们都是从.fq文件开始的,但是如果是自己寻找数据的话,要多一步骤。

1 获取fastq数据

1.1 sratoolkit

我们看文章的时候,找到对应的SRR号。

进入环境,下载sratoolkit软件,后续就可以直接在Linux内操作了。

最好的方式还是从官网下载(Github),把压缩包传到Linux,解压(conda下载的无法使用,版本过旧)
添加文件夹到环境变量即可

$ export PATH="$PATH:/home/kaoku/biosoft/sratoolkit/sratoolkit.3.0.0-ubuntu64/bin"

配置软件:这个界面是可以鼠标点击的,设置两个路径到root/ncbi即可
$ vdb-config --interactive

安装成功后,使用prefetch便开始下载

prefetch SRR1039508

prefetch批量下载:SRR存在一个id.txt内

cat id | while read id; do prefetch $id; done

挂在后台下载:
cat id | while read id; do (prefetch $id &); done

使用top查看下载进程。

想关掉全部进程:

ps -ef | grep prefe | awk '{print $2}'| while read id; do kill $id; done

下载完成后,我们会看到一列的SRR1039508.sra文件,转化成fastq文件

fastq-dump --gzip --split-3 -o ./ /SRR1039508.sra

便开始生成SRR1039508_1.fastq.gz文件。

1.2 直接wget

这是一个研究对象为拟南芥的文章,所有的fastq数据存放于此, ID为E-MTAB-5130。

先获取.txt文件,再提取出URL,wget下载。

wget http://www.ebi.ac.uk/arrayexpress/files/E-MTAB-5130/E-MTAB-5130.sdrf.txt
head -n1 E-MTAB-5130.sdrf.txt | tr '\t' '\n' | nl | grep URI
tail -n +2 E-MTAB-5130.sdrf.txt | cut -f 33 | xargs -i wget {}

随后下载参考基因组TAIR10 ver.24。

nohup wget ftp://ftp.ensemblgenomes.org/pub/plants/release-28/fasta/arabidopsis_thaliana/cdna/Arabidopsis_thaliana.TAIR10.28.cdna.all.fa.gz &

nohup wget ftp://ftp.ensemblgenomes.org/pub/plants/release-28/fasta/arabidopsis_thaliana/dna/Arabidopsis_thaliana.TAIR10.28.dna.genome.fa.gz &

nohup wget  ftp://ftp.ensemblgenomes.org/pub/plants/release-28/gff3/arabidopsis_thaliana/Arabidopsis_thaliana.TAIR10.28.gff3.gz &

nohup wget ftp://ftp.ensemblgenomes.org/pub/plants/release-28/gtf/arabidopsis_thaliana/Arabidopsis_thaliana.TAIR10.28.gtf.gz &

后续就是按照流程一步一步了。
查看下载日志:

less raw/nohup.out
grep failed raw/nohup.out

2 fastqc查看测序质量

获取数据后,用fastqc查看数据质量。

fastqc SRR957678.fastq.gz

批量处理.fastqc.gz:一共10个文件

ls *gz | xargs fastqc -t 10

用multiqu批量查看.html结果

使用conda安装:

conda install -c bioconda multiqc

进入结果目录,直接运行:

multiqc ./

即可出现multiqc_report.html文件

下面我用数据跑一遍流程:

$ ls
SRR957677.fastq.gz  SRR957678.fastq.gz  SRR957679.fastq.gz  SRR957680.fastq.gz

全部跑一遍fastqc
$ ls *gz | xargs fastqc -t 10

运行multqc
$ multiqc ./

  /// MultiQC  | v1.13.dev0

|           multiqc | Search path : /home/kaoku/rnaseq/biotree_human
|         searching | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 14/14
|            fastqc | Found 4 reports
|           multiqc | Compressing plot data
|           multiqc | Report      : multiqc_report.html
|           multiqc | Data        : multiqc_data
|           multiqc | MultiQC complete

$ ls 查看该multiqc_report.html
multiqc_data
multiqc_report.html
SRR957677_fastqc.html
SRR957677_fastqc.zip
SRR957677.fastq.gz
SRR957678_fastqc.html
SRR957678_fastqc.zip
SRR957678.fastq.gz
SRR957679_fastqc.html
SRR957679_fastqc.zip
SRR957679.fastq.gz
SRR957680_fastqc.html
SRR957680_fastqc.zip
SRR957680.fastq.gz
image.png

整体质量还不错。

查看了数据以后,我们就需要过滤测序数据。

3 过滤测序结果(双端测序结果)

如果Adapter Content是错误的,说明需要对reads进行修剪处理。

查看Adapter Content :(fastqc软件测出的Adapter Content 序列后数个碱基是TCTTCTGCTTG)

zcat SRR957677_fastqc.zip | grep TCTTCTGCTTG

使用TrimGalore软件

在GitHub下载.tar.gz,解压

添加到环境变量(要进入rnaseq环境,依赖cutadapt)

$ export PATH="$PATH:/home/kaoku/biosoft/trim_galory/TrimGalore-0.6.7"

设置参数:(--length 30-40、--stringency 3-5)

dir='/home/kaoku/rnaseq/biotree_human/clean'(工作目录)
fq1='/home/kaoku/rnaseq/biotree_human/SRR957677_1_fastqc.zip'(举例)
fq2='/home/kaoku/rnaseq/biotree_human/SRR957677_2_fastqc.zip'(举例)
trim_galore -q 25 --phred33 --length 35 -e 0.1 --stringency 3 --paired -o $dir $fq1 $fq2

可以继续调整参数(引自lncRNA组装流程的软件介绍之trim-galore)

--quality:设定Phred quality score阈值,默认为20。分析时可改成25,稍微严格一些。

--phred33::选择-phred33或者-phred64,表示测序平台使用的Phred quality score。具体怎么选择,看你用什么测序平台;例如:-phred33对应(Sanger/Illumina 1.9+ encoding),-phred64对应(Illumina 1.5 encoding)

--adapter:输入adapter序列。也可以不输入,Trim Galore!会自动寻找可能性最高的平台对应的adapter。自动搜选的平台三个,也直接显式输入这三种平台,即--illumina、--nextera和--small_rna。

--stringency:设定可以忍受的前后adapter重叠的碱基数,默认为1(非常苛刻)。可以适度放宽,因为后一个adapter几乎不可能被测序仪读到。

--length:设定输出reads长度阈值,小于设定值会被抛弃。

--paired:对于双端测序结果,一对reads中,如果有一个被剔除,那么另一个会被同样抛弃,而不管是否达到标准。

--retain_unpaired:对于双端测序结果,一对reads中,如果一个read达到标准,但是对应的另一个要被抛弃,达到标准的read会被单独保存为一个文件。

--gzip和--dont_gzip:清洗后的数据zip打包或者不打包。

--output_dir:输入目录。需要提前建立目录,否则运行会报错。

--trim-n : 移除read一端的reads

批量处理的话:

ls *_1.fastqc.gz >1
ls *_2.fastqc.gz >2
paste 1 2 > config

dir='/home/kaoku/rnaseq/biotree_human/clean'
cat config | while read id
do
arr=($id)
fq1=${arr[0]}
fq2=${arr[1]}
echo $dir  $fq1 $fq2
nohub trim_galore -q 25 --phred33 --length 35 -e 0.1 --stringency 3 --paired -o $dir $fq1 $fq2 &
done

运行完成后也会有ERR1698194_2_val_2_fastqc.html报告,查看清洗前后差异。

拿到干净的测序数据后,就可以开始后面的比对分析流程了。

那么我们,下篇再见!

上一篇 下一篇

猜你喜欢

热点阅读