赞
踩
合并fastq测序数据
不同泳道的同一个样品测序数据经过质量检查QC后是可以合并的。本例中文件命名情况如下:
示例文件名:83b_S156_L004_R1_001.fastq.gz,其中83b_S156是样品名,L004是泳道,R1是正向序列。
这时候只需要用这个小脚本即可:
ls *R1* | cut -d _ -f 1,2 | sort | uniq \
| while read id; do \
cat $id*R1*.fastq.gz > ../merged/$id.R1_001.fastq.gz;
echo "Sample" $id "Merged";
done
注释
我这里只是取了R1的样品进行merge,所以ls只选取文件名中含有R1的文件;
cut是将文件名以-d后的参数_进行分割,然后选取第1和第2个项(根据实际情况来)作为id;
然后sort进行排序,uniq来去除重复;
最后用循环来合并所有的数据。
批量fastqc
这个就不用说了,就一行:
ls *fastq.gz | while read id ; do nohup fastqc $id & done
但是如果文件数量过多,且内存不足的话可能会出现错误,这时候运行目录下会出现形如hs_err_pid50531.log的文件。
这种时候就需要限制运行的线程数量了:
ls *fastq.gz | xargs fastqc -P 32
其中-P参数表示线程限制,这里是32线程,最好综合考虑内存和CPU的情况。
stringtie进行定量
ls *Aligned.sortedByCoord.out.bam | xargs -I bamfile -P 32 sh -c 'FILENAME=bamfile; stringtie -p 64 -G /ssd/gencode.v37.chr_patch_hapl_scaff.annotation.gtf -o /ssd/cleandata/EVA_Part2/${FILENAME::-69}.gtf bamfile'
This article is under CC BY-NC-SA 4.0 license.
Please quote the original link:https://www.liujason.com/article/1163.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。