背景:对原始序列进行质量控制以及评估,主要使用fastp+bowtie2或者trimmomatic+bowtie2方法进行质控,使用fastqc+multiqc进行质量评估。
- 软件安装
安装fastq、bowtie2、trimmomatic等软件或方法进行质量控制;安装multiqc,其主要作用是将fastqc生成的多个质量评估网页合并为一个。
conda create -n metagenome
conda install mamba -c conda-forge -y
mamba install kneaddata fastqc multiqc fastp r-reshape2 -y
-质控前评估fastqc+multiqc
workdir=工作路径
project=原始样本文件所在路径
cd $workdir && mkdir 01.qc
#'质控前fastqc
mkdir -p 01.qc/01.fastqc_before
fastqc $project/*.fastq -t 4 -o 01.qc/01.fastqc_before
#'multiqc合并
cd 01.qc/01.fastqc_before
multiqc .
cd $workdir
运行完将生成每个样本的样本.html
报告和合在一起的multiqc_report.html
报告:
- fastp+bowtie2质量控制
#'默认dofastp=F
#'datapath是metadata.txt所在的路径
#'metadata.txt是样本信息其中第一列是样本名字
#'tail -n+2 $data_path/metadata.txt |cut -f1 | sort | uniq |rush -j 4提取样本名字进行并行任务
mkdir -p 01.qc/02.fastp_after
dofastp=F
if [ $dofastp == "T" ]
then
tail -n+2 $data_path/metadata.txt |cut -f1 | sort | uniq |rush -j 4 \
"fastp \
-i ${project}{}_1.fastq \
-I ${project}{}_2.fastq \
-o 01.qc/02.fastp_after/{}.R1.fq.gz -O 01.qc/02.fastp_after/{}.R2.fq.gz \
-q 20 -u 30 --length_required 80 --thread 4 \
--json 01.qc/02.fastp_after/{}.json \
--html 01.qc/02.fastp_after/{}.html"
mkdir -p 01.qc/02.bowtie2_after
tail -n+2 00.data/metadata.txt |cut -f1 | sort | uniq |rush -j 8 \
"bowtie2 --mm --sensitive --threads 8 \
-x ${kneaddata_host} \
-1 01.qc/02.fastp_after/{}.R1.fq.gz \
-2 01.qc/02.fastp_after/{}.R2.fq.gz \
--un-conc-gz 01.qc/02.bowtie2_after/{}.clean.fq.gz \
--no-unal --no-head -k 1 -S 01.qc/02.bowtie2_after/{}.host.sam \
1> 01.qc/02.bowtie2_after/{}.bowtie.o 2>01.qc/02.bowtie2_after/{}.bowtie.e & "
- trimmomatic+bowtie2
#'trimmomatic去除接头污染 bowtie2去除宿主污染
#'kneaddata_host是数据库位置
if [ $dofastp == "F" ]
then
mkdir -p 01.qc/03.trimmomatic_tmp
tail -n+2 $data_path/metadata.txt|cut -f1|rush -j 4 \
"kneaddata -i1 ${project}{}_1.fastq -i2 ${project}{}_2.fastq \
-o 01.qc/03.trimmomatic_tmp -v -t 3 --remove-intermediate-output \
--trimmomatic /mnt/home/yanyt/01.software/miniconda3/envs/metagenomics/share/Trimmomatic-0.33 \
--trimmomatic-options 'ILLUMINACLIP:/mnt/home/yanyt/01.software/miniconda3/envs/metagenomics/share/Trimmomatic-0.33/adapters/TruSeq2-PE.fa:2:40:15 SLIDINGWINDOW:4:20 MINLEN:50' \
--reorder --bowtie2-options '--very-sensitive --dovetail' \
-db ${kneaddata_host}"
#'删除过程中tmp大文件
rm -rf 01.qc/03.trimmomatic_tmp/*contam* 01.qc/03.trimmomatic_tmp/*unmatched* 01.qc/03.trimmomatic_tmp/*.fq
ll 01.qc/03.trimmomatic_tmp/
#'修改文件名字
awk '{system("/bin/mv -f 01.qc/03.trimmomatic_tmp/"$1"_1_kneaddata_paired_1.fastq 01.qc/03.trimmomatic_tmp/"$1"_1.fastq")}' <(tail -n+2 $data_path/metadata.txt)
awk '{system("/bin/mv -f 01.qc/03.trimmomatic_tmp/"$1"_1_kneaddata_paired_2.fastq 01.qc/03.trimmomatic_tmp/"$1"_2.fastq")}' <(tail -n+2 $data_path/metadata.txt)
ls -ltrsh 01.qc/03.trimmomatic_tmp/
质控后也可以做fastqc+multiqc,用法都一样,只需要在输入参数处将质控前的样本路径修改为质控后的样本所在路径即可。
总结:要永远上进,永远脚踏实地。学习真如“逆水行舟,不进则退”。
网友评论