获得原始数据之后,需要对单端序列或双端序列进行引物的去除、序列拼接以及序列质控
- Cutadapt
该软件我经常用来切除Primer,甚至切序列也很丝滑
Cutadapt — Cutadapt 4.0 documentation
# 傻瓜版本(初学shell,感觉批量处理好复杂)
for i in $(ls rawdata/*1.fastq)
do
cutadapt -g CCTACGGGNGGCWGCAG -o rawdata/${i##*/}.fq ${i}
done
# 进阶版本(入门后回看之前的代码,感觉自己是个傻瓜)
for filename in rawdata/*_1.fastq
do
base=$(basename $filename _1.fastq)
echo $base
cutadapt -g CCTACGGGNGGCWGCAG -G GGACTACHVGGGTWTCTAAT \
-o seq/${base}_1.fastq -p seq/${base}_2.fastq \
rawdata/${base}_1.fastq rawdata/${base}_2.fastq
done
- Trimmomatic
该软件功能超级强大,但大多数都是以质控为主来使用
# 傻瓜版本
for i in $(ls merge/*1.fq)
do
trimmomatic SE -phred33 -t 10 \
${i} seq/${i##*/} \
LEADING:20 TRAILING:20 \
SLIDINGWINDOW:4:20 MINLEN:50
done
# 进阶版本
for filename in seq/*_1.fastq
do
base=$(basename $filename _1.fastq)
echo $base
java -jar /public/software/182_software/Trimmomatic-0.38/trimmomatic-0.38.jar PE -phred33 \
-threads 8 seq/${base}_1.fastq seq/${base}_2.fastq \
seq/${base}_1.fq seq/${base}_1.unpaired.fastq \
seq/${base}_2.fq seq/${base}_2.unpaired.fastq \
LEADING:20 TRAILING:20 \
SLIDINGWINDOW:4:20 MINLEN:50
done
- FastQC & Multiqc
这两个软件可以可视化质控后的结果,用法过于简单,在这里就不赘述了