240124学习记录:查看/提取bam文件的reads

BAM 文件(Binary Alignment/Map file)是一种常用于存储测序数据的二进制格式。它主要用于存储 DNA测序 数据的比对(alignment)信息。以下是 BAM 文件的主要结构和组成部分:

  1. 文件头(Header): BAM 文件的开头包含一个文件头,其中包含有关该文件的元信息,如测序平台信息、参考基因组信息、测序参数等。文件头以 @HD 开始,后跟 @SQ(参考序列信息)、@RG(测序样本组信息)等不同的记录类型。

    @HD     VN:1.6 
    @SQ     SN:chr1 LN:248956422 
    @SQ     SN:chr2 LN:242193529 
    ... 
    @RG     ID:sample1     SM:sample1
  2. 比对数据(Alignment Data): BAM 文件的主要部分包含测序数据的比对信息。每个比对记录包括了测序 reads 的信息、比对位置、质量值等。比对记录以二进制形式存储,具体的字段和信息可以通过工具(例如 samtools view)来查看。

  3. 索引(Index): 为了快速访问 BAM 文件中的数据,通常会有一个对应的索引文件(.bai)。索引文件允许根据位置快速检索 BAM 文件中的比对记录,而不必遍历整个文件。

BAM 文件采用二进制格式,因此它通常相对较小,同时能够存储大量的测序数据。由于 BAM 文件是二进制的,要查看其中的内容通常需要使用专门的工具,比如 samtools

在使用 BAM 文件时,常用的工具包括 samtoolsPicard 等,它们提供了各种功能,如文件格式转换、信息查询、统计分析等。

查看bam文件上的总reads可以用idxstats命令,要求 BAM 文件有一个索引文件(.bai):

samtools idxstats your_file.bam

输出将是一个包含每个参考序列的名称、长度、mapped reads 数目和unmapped reads 数目的表格。

如果只关心总 reads 数量,你可以使用 awk 命令从输出中提取相应的信息:

# only mapped
samtools idxstats your_file.bam | awk '{s+=$3} END {print s}'

# mapped + unmapped
samtools idxstats your_file.bam | awk '{s+=$3+$4} END {print s}'

{s+=$3+$4}: 对于每一行,将第三列(mapped reads)和第四列(unmapped reads)的值相加,然后将结果累加到变量 s 中。

若想查看特定染色体区段的reads数量,如chrM:

samtools view -c -F 256 your_file.bam chrM

使用 -F 256 选项排除非主对齐的 reads(如辅助比对),然后通过指定 chrM 来统计线粒体 reads 的数量。但是我觉得也可以不用设置-F这一参数。

提取特定区段:

# 替换文件名
bam_file="your_file.bam"

# 使用 samtools view 和 grep 提取线粒体 reads 信息
samtools view -h "$bam_file" | grep -E "^@|^\S+\s[0-9]+\schrM\s" > "chrM_reads.sam"

# 使用 samtools view 和 grep 提取线粒体 reads 信息,并保存为 BAM 文件
samtools view -h "$bam_file" | grep -E "^@|^\S+\s[0-9]+\schrM\s" | samtools view -bS - > "chrM_reads.bam"

  • 20
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据您提供的信息,当在 JBrowse 浏览器页面上创建 `alignment` 轨道后,诊断信息显示 HTTP 403 错误。错误信息指出在获取 `http://192.168.211.234:7777//default/files/jbrowse/persea_americana__avocados_1/data/bam/pame.hifi.bam.bai` 时出现了权限问题。 HTTP 403 错误表示服务器拒绝了请求,通常是由于缺乏访问权限或身份验证失败引起的。在您提供的 URL 中,我们可以看到 `pame.hifi.bam.bai` 文件的路径。 要解决这个问题,可以尝试以下步骤: 1. 检查文件路径和名称:确保所提供的路径和文件名正确无误。确认文件是否存在,并检查文件所在目录的权限设置。 2. 检查服务器权限:确保服务器上的相关文件或目录具有适当的权限,以允许 JBrowse 浏览器访问和读取这些文件。检查文件所在目录的权限设置,并确保对该目录的访问权限正确配置。 3. 身份验证问题:如果您的服务器需要身份验证才能访问文件,请确保您提供了正确的凭据(用户名和密码等)。 4. 检查服务器日志:查看服务器日志以获取更多详细信息,以确定引起 HTTP 403 错误的具体原因。服务器日志通常位于服务器的日志文件夹中,可以提供有关访问错误的更多信息。 请注意,这些步骤可能需要根据您的具体环境和服务器配置进行调整。 如果问题仍然存在,请提供更多详细信息,例如服务器配置、文件路径和相关代码,以便我能够更准确地帮助您解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值