生信技能23 - Samtools提取BWA比对的mapped reads

本文介绍了如何通过Samtools从BWA比对结果中提取mapped reads,首先构建参考序列索引,然后进行bwa比对并转换SAM为BAM格式,最后用samtools提取比对成功的reads。

本文目的:筛选出能比对到参考序列的mapped reads,形成新的fastq文件

参考序列构建索引

bwa index ref.fasta

运行成功后会生成5个结果文件:ref.fasta.amb、ref.fasta.ann、ref.fasta.bwt、ref.fasta.pac、ref.fasta.sa

bwa比对+samtools进行sam2bam转换

利用samtools view 命令可将bwa比对生成的为sam(sequence Alignment mapping)文件,将SAM转换为二进制对应的BAM格式。

bwa mem ref.fasta sample_R1.fq.gz sample_R2.fq.gz | samtools view 
领域,unique reads(唯一比对的读段)和 multi - mapping reads(多重比对的读段)是在将测序得到的短序列reads比对到参考基因组时出现的两种不同情况。 Unique reads 指的是那些在参考基因组中只有一个最佳比对位置的 reads。这些 reads 能够明确地定位到基因组的某一个特定区域,因此在后续的分析中,它们所携带的息通常比较可靠,能够为基因表达定量、变异检测等分析提供准确的数据支持。例如在基因表达定量分析中,unique reads 可以准确地反映某个基因的转录本丰度。 Multi - mapping reads 则是那些可以比对到参考基因组中多个不同位置的 reads。这种情况通常是由于基因组中存在重复序列,或者基因家族成员之间具有高度的序列相似性导致的。由于这些 reads 无法明确其来源,在后续分析中使用时会带来一定的困难。例如在基因表达定量分析中,很难确定这些 reads 究竟是来自哪个基因。 在代码示例中,以 BWA(Burrows - Wheeler Aligner)比对工具的输出为例,SAM(Sequence Alignment/Map)格式文件中,对于 unique reads 和 multi - mapping reads 有不同的标记。以下是简单的 Python 代码示例,用于统计 unique reads 和 multi - mapping reads 的数量: ```python unique_count = 0 multi_count = 0 with open('alignment.sam', 'r') as f: for line in f: if line.startswith('@'): continue fields = line.strip().split('\t') # 这里简单假设 MAPQ 值为 0 表示 multi - mapping reads if int(fields[4]) == 0: multi_count += 1 else: unique_count += 1 print(f"Unique reads count: {unique_count}") print(f"Multi - mapping reads count: {multi_count}") ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生信与基因组学

每一份鼓励是我坚持下去动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值