1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > linux fastQC 操作命令 Linux shell合并fastq测序数据/批量fastqc小脚本|merge|multiqc

linux fastQC 操作命令 Linux shell合并fastq测序数据/批量fastqc小脚本|merge|multiqc

时间:2020-10-23 15:20:24

相关推荐

linux fastQC 操作命令 Linux shell合并fastq测序数据/批量fastqc小脚本|merge|multiqc

合并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:/article/1163.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。