跳转至

短序列比对输出bam

对于大部分分析,只需要保留bam文件即可,因此可以在比对阶段直接输出bam或排序后的bam文件,另外大部分比对软件可直接使用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
输出排序后的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
输出排序后的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
本文阅读量  次
本站总访问量  次