开始忙碌起来,作业可能没法扯那么多闲话了。
数据质控
昨天完成了数据格式的转换,接下来就可以对得到的fastq文件进行处理啦。
由于数据的问题,本应生成*_1.fastq.gz
和*_2.fastq.gz
两个文件的,结果生成了第三个文件
直接把这些删掉就好
ls *.gz | grep -v '_1' | grep -v '_2' | xargs rm
运行fastqc
ls *.gz | xargs -n 1 -I {} fastqc -t 32 {} -o ./
这种方法比较慢,是先做完一个再做下一个,还有比较简单粗暴的方法可以多个数据并行
fastqc -t 32 *.gz
查看结果
把结果拿下了看看,可以用filezilla,也可以
sz *.html *.zip
在弹出的框内选好位置即可。
用fastp处理数据
生成数据ID列表文件
ls *.gz | grep "_1" > 1.txt
ls *.gz | grep "_2" > 2.txt
paste 1.txt 2.txt > fastqID.txt
就可以得到
$ cat fastqID.txt
SRR1039509_1.fastq.gz SRR1039509_2.fastq.gz
SRR1039512_1.fastq.gz SRR1039512_2.fastq.gz
SRR1039513_1.fastq.gz SRR1039513_2.fastq.gz
SRR1039516_1.fastq.gz SRR1039516_2.fastq.gz
SRR1039517_1.fastq.gz SRR1039517_2.fastq.gz
SRR1039520_1.fastq.gz SRR1039520_2.fastq.gz
SRR1039521_1.fastq.gz SRR1039521_2.fastq.gz
这样的结果。感谢豆豆的神仙操作!
为了方便后面文件的命名,用vim的替换功能把.fastq.gz
给拿掉
%s/.fastq.gz//g
得到结果
SRR1039509_1 SRR1039509_2
SRR1039512_1 SRR1039512_2
SRR1039513_1 SRR1039513_2
SRR1039516_1 SRR1039516_2
SRR1039517_1 SRR1039517_2
SRR1039520_1 SRR1039520_2
SRR1039521_1 SRR1039521_2
写一个脚本来用fastp处理数据
#!/usr/bin/env bash
cat fastqID.txt | while read i
do
fqs=($i)
fq1=${fqs[0]}
fq2=${fqs[1]}
echo fastp -i ${fq1}.fastq.gz -o ../02clean/${fq1}.fastq.fp.gz -I ${fq2}.fastq.gz -O ../02clean/${fq2}.fastq.fp.gz
done
这玩意儿输出来是这样的
然后挂nohup
nohup bash fastp.sh > fastp.log &
查看了nohup的--help才知道原来可以指定log的名字的,以后就不用每次去改nohup.out的文件名啦。
卖萌哥
2019年6月10日
今天回来继续做比对。
先用seqtk取一部分数据来做个测试
conda activate rnaseq
conda install seqtk
生成conf.clean文件
cd /home/usrname/rnaseq/02clean
$ ls `pwd`/*_1* > 1.clean
$ ls `pwd`/*_2* > 2.clean
$ paste 1.clean 2.clean > clean.conf
写个脚本来进行小范围的测试
mkdir $rna/testMapping
cd testMapping
cat >sample_fq.sh
# 输入以下内容
cat clean.conf | while read i;do
fqs=($i)
fq1=${fqs[0]}
fq2=${fqs[1]}
file=`basename $fq1`
#echo $file
surname=${file%%_*}
#echo $fq1 $fq2 $surname
# 随机选了10000条reads
seqtk sample $fq1 10000 >test.${surname}_1.fastq
seqtk sample $fq2 10000 >test.${surname}_2.fastq
done