本文介绍uBAM文件:
- 什么是uBAM文件
- uBAM vs fastq
- uBAM转换为fastq
1.什么是uBAM文件?
uBAM文件,即unmapped or unaligned BAM文件,里面的reads是没有经过比对的,目的是为了储存原始的reads信息。
2.uBAM vs fastq
相比于fastq文件来说,uBAM文件储存的信息更加丰富。由于fastq文件的格式原因,很多信息都不能存放在fastq文件中。而BAM文件中只需要加上tag信息即可。以FlyCellAtlas中的原始BAM文件为例:
1 | 1 4 * 0 255 * * 0 91 ATTGGCGACAGAT...CGGAATATATATATATGTATATAT FFFFFFFFFFFFFFFFFFF...FFFFFFFFFFFFFFFFFF on:Z:A00428:211:H77T5DSXY:3:1101:1090:1000@2:N:0:GCTCAACC op:Z:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFFFF,FFFFFFFFF:FFFFFF RX:Z:CATCTATTATAT QX:Z:FFFFFFFFFF:F CR:Z:TTGGGTAAGGAGGCAG CY:Z:#FFFFFFFFFFFFFFF |
RX tag即UMI信息,QX tag为UMI测序质量信息,CR tag为cell barcode序列,CY tag为cell barcode的测序质量信息。对于单细胞测序而言,一个uBAM文件即将R1(cell barcode + UMI)和R2(真正的reads)的fastq信息都包含在内。
3.uBAM转换为cellranger需要的fastq
cellranger处理的fastq文件,有两个reads文件和index文件,index文件不是必需的。R1文件中储存的是cell barcode+UMI序列相关信息,R2文件中储存的是真正的测序序列。对于R2文件来说,直接用samtools fastq即可完成转换。
1 | samtools fastq sample1.bam > fastq/sample1-1_S1_L001_R2_001.fastq.gz |
对于R1文件而言,就有些复杂,我们可以首先将BAM文件中的UMI、barcode序列信息进行提取,然后再用samtools完成转换。这是一个笨方法,而且耗费资源,速度也比较慢,但是不需要写脚本。
1 | for i in sample1-1 sample1-2 sample1-3 |
完成转换之后就可以走接下来的cellranger流程啦!