生信技能树学习笔记
先了解
Raw data 或 Raw reads 结果以FASTQ文件格式存储
结果每四行一显示
常用参数
nohup fastqc -t 6 -o ./ SRR*.fastq.gz >qc.log &
将html文件下载到本地,解读 QC 报告
使用MultiQC整合FastQC结果
multiqc *.zip -o ./
如何判断数据需要过滤?
质量控制标准
常用参数
## 单个样本
trim_galore -q 20 --length 20 --max_n 3 --fastqc --paired -o ./ ../../rawdata/SRR1039510_1.fastq.gz ../../rawdata/SRR1039510_2.fastq.gz
## 多个样本
## 生成并保存ID,$NF表示最后一列
ls $HOME/project/Human-16-Asthma-Trans/data/rawdata/*_1.fastq.gz | awk -F'/' '{print $NF}' | cut -d'_' -f1 >ID
vim trim.sh
## 循环 .sh内容
rawdata=$HOME/project/Human-16-Asthma-Trans/data/rawdata
cleandata=$HOME/project/Human-16-Asthma-Trans/data/cleandata/trim_galore
cat ID | while read id
do
trim_galore -q 20 --length 20 --max_n 3 --stringency 3 --fastqc --paired -o ${cleandata} ${rawdata}/${id}_1.fastq.gz ${rawdata}/${id}_2.fastq.gz
done
## 后台运行
nohup sh trim.sh > trim.sh.log &
## 整合新的multiqc
multiqc *.zip
速度比 trim_galore 快
常用参数
# 定义文件夹:vim fastp.sh
cleandata=$HOME/project/Human-16-Asthma-Trans/data/cleandata/fastp/
rawdata=$HOME/project/Human-16-Asthma-Trans/data/rawdata/
cat ../trim_galore/ID | while read id
do
fastp -l 20 -q 20 --compression=6 \
-i ${rawdata}/${id}_1.fastq.gz \
-I ${rawdata}/${id}_2.fastq.gz \
-o ${cleandata}/${id}_clean_1.fq.gz \
-O ${cleandata}/${id}_clean_2.fq.gz \
-R ${cleandata}/${id} \
-h ${cleandata}/${id}.fastp.html \
-j ${cleandata}/${id}.fastp.json
done
## 注意反斜线后面一定不能有空格
# 运行fastp脚本
nohup sh fastp.sh >fastp.log &
# 进入过滤目录
cd $HOME/project/Human-16-Asthma-Trans/data/cleandata/trim_galore
# 原始数据
zcat $rawdata/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 > Seq.ID
head -n 100 Seq.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
## 运行时按Ctrl + Z
jobs ## 可以看到 stopped,并且可以看到 jobs 的序列号,但只能在当前窗口
ps fx ## 可以看到PID编号,使用ps fx在另一个窗口也可以看见
bg %1 ## 百分号后面的是jobs的序列号
jobs ## 此时进入running状态,并且可在后台显示
kill -9 %2 ## 强制性杀除第2个进程
fg %1 ## 此时后台转到前台
使用echo打印命令,进行检查
cat ID | while read id
do
echo "trim_galore -q 20 --length 20 --max_n 3 --stringency 3 --fastqc --paired -o ${cleandata} ${rawdata}/${id}_1.fastq.gz ${rawdata}/${id}_2.fastq.gz"
done
ls $rawdata/*_1.fastq.gz | while read id
do
name=${id##*/}
name=${name%_*}
trim_galore -q 20 --length 20 --max_n 3 --stringency 3 --fastqc --paired -o ${cleandata} ${rawdata}/${name}_1.fastq.gz ${rawdata}/${name}_2.fastq.gz
done
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。