我们可以看到MeRIPseqPipe流程中主要是用的fastp与fastqc两个软件对原始数据进行了预处理。
fastqc可以对fq数据进行质量评估,使用java语言编写;fastp软件可以进行数据过滤同时进行质量评估,主要是用C++语言编写,支持多线程,处理数据速度非常快。
MeRIPseqPipe流程github上作者的这块相关的代码抠出来如下:
image-20220320231622072
Fastp:
image-20220320231827489
Fastqc:
image-20220320231852628
抠出来简化!
一、fastp处理数据
fastp这个软件既可以对数据进行质量评估,同时还可以对原始数据进行简单的过滤。官网:
- -i:原始fq数据
- -o:过滤后的fq数据
- -j:json格式的质控报告
- -h:html网页版格式报告
- -w:线程数
## 激活安装了软件的小环境conda activate rna
## human# 接上个程
cd Human_GSE52600
mkdir Cleandata
ls *gz |while read id
do
name=${id%.fastq.gz}
echo "fastp -i $id -o Cleandata/${name}_cleandata.fq.gz -j Cleandata/${name}_fastp.json -h Cleandata/${name}_fastp.html -w 12 "
done >fastp.sh
# run
nohup sh fastp.sh >fastp.sh.log &
# 同样运行小鼠的Mouse
cd Mouse_GSE52662/
mkdir Cleandata
#代码同上
放一张fastp.sh的内容:
image-20220320230014737
简单的看下fastp的生成内容:
生成文件:
image-20220320232654836
挑一个html看一下:
主要分为四个部分:
- Summary:这里一般就是一些数据的基本统计情况,比如这里测序单端50bp,过滤前约20M reads,1G 碱基数,GC含量52%左右;过滤后的数据情况,以及过滤了多少数据。我们这里并没有加明显的过滤参数,流程有个-q默认值15用来过滤低碱基质量值等还有其他默认过滤参数。
image-20220320232904020
- Duplication:看数据read的重复情况,一般来说转录组的数据是有比一定的比例的read重复的:一个基因表达多个转录本等原因。
image-20220320233340571
横坐标为reads重复的次数,纵坐标为比例。你可以看见大多数的read重复的次数在1-5次。
我们可以简单统计一下某个数据中reads出现的次数:
zless -S SRR1035213_cleandata.fq.gz |paste - - - - |cut -f 2 |sort |uniq -c |sort -nk 1 -r >stat.txt
- Before filtering:过滤前的Q值,GC含量等,其中有一个kmer,组合了5个碱基的所有组合情况,看5个碱基的序列在数据中出现的情况,可以用来查看数据中是否存在比较特殊高频率的短片段。
image-20220320233838504
- After filtering:同过率前。
二、fastqc质量评估
fastqc软件主页:https://www.bioinformatics.babraham.ac.uk/projects/fastqc/,有时间的可以选择去闲逛一下!
- --noextract:输出结果不压缩
- -o:输出文件夹
# 创建文件夹
cd Human_GSE52600
mkdir FastQC
ls *gz |while read id
do
echo "fastqc -o FastQC --noextract $id "
done >fastqc.sh
nohup sh fastqc.sh >fastqc.sh.log &
# Mouse同上
输出结果如下:
image-20220320234155247
fq结果就不加以解释了~~~,可参考以前的教程。