短序列比对输出bam
bam文件格式为sam文件格式的二进制形式,但bam文件大小只有sam文件的⅓左右,同时对于大部分分析流程,使用bam文件即可满足需求,因此为节省存储空间,如无特殊需求建议在比对阶段直接输出bam或排序后的bam文件,如果下游分析软件支持可进一步压缩成cram格式,另外大部分比对软件可直接使用fq.gz文件进行比对,因此无需解压fq.gz。以下是各常用比对软件直接输出bam的方式:
fq->bam
¶
BWA¶
直接输出bam文件
bwa mem -t 8 genome.fa read1.fq.gz read2.fq.gz | samtools view -bS > output.bam
输出排序后的bam文件
bwa mem -t 8 genome.fa read1.fq.gz read2.fq.gz | samtools sort -@8 -o output_sorted.bam
sentieon-bwa¶
输出排序后的bam
sentieon bwa mem -R "@RG\tID:ID\tSM:SM\tPL:PL" -t 8 -K 10000000 genome.fa read1.fq.gz read2.fq.gz | sentieon util sort -r genome.fa -o output_sorted.bam -t 8 --sam2bam -i -
hisat2¶
直接输出bam文件
hisat2 -p 8 -x genome.fa -1 read1.fq.gz -2 read2.fq.gz | samtools view -bS > output.bam
hisat2 -p 8 -x genome.fa -1 read1.fq.gz -2 read2.fq.gz | samtools sort -@8 -o output_sorted.bam
bowtie2¶
直接输出bam文件
bowtie2 -p 8 -x genome.fa -1 read1.fq.gz -2 read2.fq.gz | samtools view -bS > output.bam
bowtie2 -p 8 -x genome.fa -1 read1.fq.gz -2 read2.fq.gz | samtools sort -@8 -o output_sorted.bam
tophat2¶
软件直接输出排序后的bam文件
STAR¶
有参数可以直接输出bam文件
--outSAMtype BAM Unsorted
--outSAMtype BAM SortedByCoordinate
--outSAMtype BAM Unsorted SortedByCoordinate
sentieon-STAR¶
输出排序后的bam
sentieon STAR --runThreadN NUMBER_THREADS --genomeDir genome.fa \
--readFilesIn read1.fq.gz read2.fq.gz --readFilesCommand "zcat" \
--outStd BAM_Unsorted --outSAMtype BAM Unsorted --outBAMcompression 0 \
--outSAMattrRGline ID:GROUP_NAME SM:SAMPLE_NAME PL:PLATFORM \
--twopassMode Basic --twopass1readsN -1 --sjdbOverhang READ_LENGTH_MINUS_1 \
| sentieon util sort -r genome.fa -o output_sorted.bam -t 8 -i -
bam转cram¶
长期存放的bam文件,可以转成cram存放,可节省大约⅓-½的磁盘空间
# bam转cram
samtools view -C -T genome.fasta out.bam > out.cram
# cram转bam
samtools view -b -h out.cram > out.bam
bam文件完整性检查¶
大量群体样本比对过程中,可能会因为各种原因导致作业中断,因此建议比对完成之后,检查所有bam文件的完整性,将bam文件不完整的样本重新比对。cram文件也同样适用。
大量bam转cram之后、大量bam保存备份之前,建议都跑一遍完整性检查。
for i in *.bam ;do (samtools quickcheck $i && echo "ok" || echo $i error);done
本站总访问量 次