四、数据过滤
2021-02-25 本文已影响0人
白米饭睡不醒
1.过滤条件
测序得到的原始序列含有接头序列或低质量序列,为了保证信息分析的准确性, 需要对原始数据进行质量控制,得到高质量序列(即Clean Reads),原始序 列质量控制的标准为:
(1) 去除含接头的reads
(2) 过滤去除低质量值数据,确保数据质量
(3) 去除含有N(无法确定碱基信息)的比例大于5%的reads
2.数据过滤
(1)trim_galore过滤


🍀 trim_galore 过滤命令
#新建文件夹
mkdir cleandata
cd cleandata/
mkdir trim_galore
cd trim_galore/
# 定义文件夹
rawdata=~/project/Human-16-Asthma-Trans/data/rawdata/fastq
cleandata=~/project/Human-16-Asthma-Trans/data/cleandata/trim_galore
# 单个样本(过滤后的数据为*.fg.gz)
trim_galore --phred33 -q 20 --length 36 --stringency 3 --fastqc --paired --max_n 3 -o $cleandata $rawdata/SRR1039510_1.fastq.gz $rawdata/SRR1039510_2.fastq.gz
# 多个
cat /teach/project/Human-16-Asthma-Trans/data/rawdata/sra/sampleId.txt | while read id
do
echo "trim_galore --phred33 -q 20 --length 36 --stringency 3 --fastqc --paired --max_n 3 -o ${cleandata} ${rawdata}/${id}_1.fastq.gz ${rawdata}/${id}_2.fastq.gz"
done >trim_galore.sh
nohup sh trim_galore.sh >trim_galore.log &
#less SRR1039510_1.fastq.gz_trimming_report.txt (可看详细报告)
(2)fastp过滤
https://github.com/OpenGene/fastp


☘️ fastp 过滤命令
#路径 /trainee/Last11/project/Human-16-Asthma-Trans/data/cleandata/fastp
# 定义文件夹
cleandata=~/project/Human-16-Asthma-Trans/data/cleandata/fastp
#查看定义文件夹
echo $cleandata
# 单个样本
fastp -i $rawdata/SRR1039510_1.fastq.gz -I $rawdata/SRR1039510_2.fastq.gz \
-o $cleandata/SRR1039510_1.fastp.fq.gz -O $cleandata/SRR1039510_2.fastp.fq.gz \
-l 36 -q 30 --compression=6 -R $cleandata/SRR1039510 \
-h $cleandata/SRR1039510.fastp.html -j $cleandata/SRR1039510.fastp.json
# 多个样本
cat /teach/project/Human-16-Asthma-Trans/data/rawdata/sra/sampleId.txt | while read id
do
echo "fastp -i ${rawdata}/${id}_1.fastq.gz -I ${rawdata}/${id}_2.fastq.gz -o ${cleandata}/${id}_1.fastp.fq.gz -O ${cleandata}/${id}_2.fastp.fq.gz -l 36 -q 20 --compression=6 -R ${cleandata}/${id} -h ${cleandata}/${id}.fastp.html -j ${cleandata}/${id}.fastp.json 1>$cleandata/${id}.fastp.log 2>&1"
done >fastp.sh
# 运行fastp脚本
nohup sh fastp.sh >fastp.log &
3.数据过滤前后对比
# 进入过滤目录
cd ~/project/Human-16-Asthma-Trans/data/cleandata/trim_galore
# 原始数据
zcat ~/project/Human-16-Asthma-Trans/data/rawdata/fastq/SRR1039510_1.fastq.gz | paste - - - - >raw.txt
# 过滤后的数据
zcat SRR1039510_1_val_1.fq.gz |paste - - - - > trim.txt
#找出被剪切过的数据
awk '(length($4)<63){print$1}' trim.txt > ID
head -n 100 ID > ID100
grep -w -f ID100 trim.txt | awk '{print$1,$4}' > trim.sm
grep -w -f ID100 raw.txt | awk '{print$1,$4}' > raw.sm
#把两个文件按行粘贴在一起
paste raw.sm trim.sm | awk '{print$2,$4}' | tr ' ' '\n' |less -S