????哈嘍,大家好宪祥,好久不見(jiàn)聂薪,今日分享代碼如題——如何對(duì)fastq文件進(jìn)行批量處理?以RNAseq為例蝗羊。首先大家可以回顧一下小編之前關(guān)于RNAseq數(shù)據(jù)分析的推送:
干貨 | 一文教會(huì)你如何采用Linux系統(tǒng)處理RNAseq測(cè)序數(shù)據(jù)
????在熟悉單一樣本的分析后藏澳,如何批量處理文件并在后臺(tái)運(yùn)行程序從而解放自己的電腦和雙手呢?這里就得用到一個(gè)語(yǔ)句:#for i in `ls`; do $i; done
????其中for ... in .... ; done是循環(huán)結(jié)構(gòu); ls是查看目錄下的文件,通過(guò)這樣一種循環(huán)語(yǔ)句遍歷將當(dāng)前目錄下的文件耀找,并將所有文件的名稱賦值給變量i翔悠,就可以對(duì)fastq文件進(jìn)行批量處理啦!廢話不多說(shuō)涯呻,下面一起來(lái)學(xué)習(xí)吧~
首先進(jìn)入fastq所在文件夾
#cd /path/to/file
1. 質(zhì)控
#fastqc -o FASTQC/ -t 8 *.fastq.gz
#multiqc ./
2. 過(guò)濾
# 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. 比對(duì)
#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. 計(jì)數(shù)
#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.查看后臺(tái)進(jìn)程
#jobs / ps
jobs用于查看當(dāng)前終端后臺(tái)運(yùn)行的任務(wù)凉驻。ps命令用于查看瞬間進(jìn)程的動(dòng)態(tài)
當(dāng)然啦,一樣的套路也可以用于其他類型測(cè)序數(shù)據(jù)的分析复罐,想要繼續(xù)學(xué)習(xí)的同學(xué)可以查看往期文章進(jìn)行回顧并嘗試哦~