跳转至

fq比对建议

目前各流程的常规分析中,原始数据比对通常是比较占用存储空间的部分,这里以常用软件为例,给定一个原始数据比对、比对结果存放的参考建议。

大规模比对和格式转换需要较高的存储带宽,建议在normal队列上运行。

原始数据

大部分比对软件可直接使用fq.gz文件进行比对,因此无需解压fq.gz。原始数据从ncbi上下载的,sra文件转成fq.gz之后,需及时删除sra文件。

部分不能直接使用fq.gz的程序,可以尝试使用类似下面的变通方式。

#程序输出转gz
program file | gzip > out.gz
#gz文件为输入
program < gzip -dc file.gz 
#综合
blastn -query <(gzip -dc ZS97_cds_10^6.fa.gz)  -db ./MH63_cds -outfmt 6 |gzip > ZS97_cds_10000.gz

质控

fastp可以在完成质控的同时输出质控报告,运行速度非常快。如无特殊需求,质控建议使用fastp。多个样本跑完之后可以使用multiqc整合所有样本的质控报告。

module load fastp
fastp -w 8 -i 00-raw-data/sample.R1.fq.gz -o 01-clean-data/sample.R1.fq.gz -I 00-raw-data/sample.R2.fq.gz -O 01-clean-data/sample.R2.fq.gz 

比对

对于大部分分析,只需要保留bam文件即可,因此可以在比对阶段直接输出bam或排序后的bam文件,以下是各常用比对软件直接输出bam的方式:

BWA

输出排序后的bam文件

module load BWA
module load SAMtools
bwa mem -t 8 genome.fa 01-clean-data/sample.R1.fq.gz 01-clean-data/sample.R2.fq.gz | samtools sort -@8 -o 02-read-align/sample_sorted.bam

sentieon-bwa

输出排序后的bam。绝大多数场景下,可以使用sentieon bwa代替bwa,速度有显著提升。

module load sentieon
sentieon bwa mem -R "@RG\tID:sample\tSM:sample\tPL:illumina" -t 8 -K 10000000 genome.fa 01-clean-data/sample.R1.fq.gz 01-clean-data/sample.R2.fq.gz | sentieon util sort -r genome.fa -o 02-read-align/sample_sorted.bam -t 8 --sam2bam -i -

hisat2

输出排序后的bam文件

module load hisat2
hisat2 -p 8 -x  genome.fa -1 01-clean-data/sample.R1.fq.gz -2 01-clean-data/sample.R2.fq.gz | samtools sort -@8 -o 02-read-align/sample_sorted.bam

bowtie2

输出排序后的bam文件

module load Bowtie2
module load SAMtools
bowtie2 -p 8 -x  genome.fa -1 01-clean-data/sample.R1.fq.gz -2 01-clean-data/sample.R2.fq.gz | samtools sort -@8 -o 02-read-align/sample_sorted.bam

tophat2

比对输出bam后,使用samtool进行排序,之后删除未排序的bam

module load Tophat
module load SAMtools
tophat2 -p 8 -o 02-read-align/sample 01-clean-data/sample.R1.fq.gz 01-clean-data/sample.R2.fq.gz
samtools sort -@8 -o 02-read-align/sample/accepted_hits_sorted.bam 02-read-align/sample/accepted_hits.bam
rm 02-read-align/sample/accepted_hits.bam

STAR

指定参数输出排序后的bam。STAR内存使用较多,建议在high队列运行。

module load STAR
STAR  --runThreadN 8 --genomeDir genome_dir/ --outSAMtype BAM SortedByCoordinate --outFileNamePrefix 01-clean-data/sample --readFilesCommand gunzip -c --readFilesIn 01-clean-data/sample.R1.fq.gz 01-clean-data/sample.R2.fq.gz

去重

部分流程比对完成之后需要去重,推荐使用sambamba。

module load sambamba
sambamba markdup -t 8 -p --overflow-list-size 600000  --tmpdir='./tmp'  -r  02-read-align/sample_sorted.bam 02-read-align/sample_sorted_rmd.bam
常用流程去重参考 NGS reads去重知多少
RNA-seq     一般不去重
ChIP-seq    一般要去重
Call SNP    一般要去重
RRBS        一般不去重
Targeted-seq (Amplicon seqencing) 一般不去重
WGBS        一般要去重
ATAC-seq    一般要去重

bam文件完整性检查

大量群体样本比对过程中,可能会因为各种原因导致作业中断,因此建议比对完成之后,检查所有bam文件的完整性,将bam文件不完整的样本重新比对。cram文件也同样适用。

for i in *.bam ;do (samtools quickcheck $i && echo "ok" || echo $i error);done

数据保存建议

对于样本数不超过200个的项目,流程定型跑完后,cleandata可以删除,保存rawdata即可。所有bam文件建议保存至多不过3个月,如有必要,重新比对得到bam时间也非常快。需要长期存放的bam文件,建议转成cram保存。如非必要,vcf.gz 不建议解压。流程中间步骤需要用到sam等大文本文件的情况,在写流程时,在使用完之后需立即压缩或者删除。

samtools view -C -T genome.fasta sample.bam > sample.cram

本文阅读量  次
本站总访问量  次