干货 | 如何对fastq文件进行批量处理?

    哈喽,大家好,好久不见,今日分享代码如题——如何对fastq文件进行批量处理?以RNAseq为例。首先大家可以回顾一下小编之前关于RNAseq数据分析的推送:

干货 | 一文教会你如何采用Linux系统处理RNAseq测序数据

    在熟悉单一样本的分析后,如何批量处理文件并在后台运行程序从而解放自己的电脑和双手呢?这里就得用到一个语句:#for i in `ls`; do $i; done

    其中for ... in .... ; done是循环结构; ls是查看目录下的文件,通过这样一种循环语句遍历将当前目录下的文件,并将所有文件的名称赋值给变量i,就可以对fastq文件进行批量处理啦!废话不多说,下面一起来学习吧~

首先进入fastq所在文件夹

#cd /path/to/file

1. 质控

#fastqc -o FASTQC/ -t 8 *.fastq.gz

#multiqc ./

2. 过滤

# for i in `ls *_combined_R1.fastq.gz`; do i=${i/_combined_R1.fastq.gz/}; nohup cutadapt -a AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC -A AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT -q 30 -m 75 --trim-n --report=minimal -o ${i}_out_R1.fastq.gz -p ${i}_out_R2.fastq.gz ${i}_combined_R1.fastq.gz ${i}_combined_R2.fastq.gz & done

3. 比对

#for i in `ls *_out_R1.fastq.gz`; do i=${i/_out_R1.fastq.gz/}; nohup hisat2 -p 8 --dta -x /path/to/file/hg19/genome -1 ${i}_out_R1.fastq.gz -2 ${i}_out_R2.fastq.gz -S ${i}.sam & done

4. 排序

# for i in `ls *.sam`; do i=${i/.sam/}; nohup samtools sort -@ 8 -o ${i}.bam ${i}.sam & done

5. 计数

#for i in `ls *.bam`; do i=${i/.bam/}; nohup featureCounts -T 5 -p -t exon -g gene_id -a /path/to/file/genes.gtf -o ${i}.featureCounts.txt ${i}.bam & done

# featureCounts -T 5 -p -t exon -g gene_id -a /path/to/file/genes.gtf -o all.id.txt *.bam

6.查看后台进程

#jobs / ps

jobs用于查看当前终端后台运行的任务。ps命令用于查看瞬间进程的动态

当然啦,一样的套路也可以用于其他类型测序数据的分析,想要继续学习的同学可以查看往期文章进行回顾并尝试哦~

你可能感兴趣的:(干货 | 如何对fastq文件进行批量处理?)