问题标签 [bam]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
691 浏览

python - 有没有办法使用 Samtools 将整个“对齐字段/列”保存到 NumPy 数组中?

在SAM格式中,每条对齐线代表一个段的线性对齐,每条线有11个必填字段,即QNAME、FLAG、RNAME、POS、MAPQ等。

假设我想要一个给定 BAM 文件中所有“QNAMES”的 NumPy 数组。或者,可以采用几列并将它们导入 Pandas Dataframe。

pysam 可以实现此功能吗?

人们可以很自然地用 来打开给定的 BAM 文件,pysam.AlignmentFile()然后用 来访问各个段pysam.AlignmentSegment(),例如

但是,您可以将所有 QNAMES 保存到 NumPy 数组中吗?

0 投票
2 回答
2435 浏览

python - 使用 CIGAR 推断序列的长度

给你一些背景信息:我正在尝试将 sam 文件转换为 bam

退出并出现以下错误

违规行如下所示:

我的序列长 98 个字符,但在创建 sam 文件时可能存在错误,在 CIGAR 中报告了 101。我可以让自己奢侈地丢失几次读取,并且我目前无法访问生成 sam 文件的源代码,因此没有机会寻找错误并重新运行对齐。换句话说,我需要一个务实的解决方案来继续前进(目前)。因此,我设计了一个 python 脚本来计算我的核苷酸字符串的长度,将其与 CIGAR 中注册的内容进行比较,并将“正常”行保存在一个新文件中。

如您所见,要将 CIGAR 转换为显示长度的整数,我正在使用模块CIGAR。老实说,我对它的行为有点警惕。在非常明显的情况下,这个模块似乎错误地计算了长度。是否有另一个模块或更明确的策略将 CIGAR 转换为序列的长度?

旁注:有趣的是,至少可以说,这个问题已被广泛报道,但在互联网上找不到实用的解决方案。请参阅以下链接:

0 投票
3 回答
76 浏览

php - 如何将大型生物格式文件转换为可异步访问的类数据库文件宽度 JavaScript

优点!

我有一个可视化项目,将生物数据呈现到画布图表中,在其中我使用名为jgv.jsdoc API)的 javascritp 框架来生成画布。

这是一个简单的配置演示:

上面代码中的track项是生物信息的陈述,可以是纯文本文件或二进制文件(*.bam)的形式。

问题是生物文件太大了,我无法直接访问它们,更不用说客户了。如:

那么,是否有任何后端解决方案可以使这些文件可以逐个访问?就像AJAX的方式一样。

任何建议将不胜感激!

0 投票
1 回答
61 浏览

bioinformatics - 如何为具有特定版本的 shell 调用的软件编写规则?(例如 Samtools 1.3.1 和 0.1.18)

关于如何考虑可以使用需要(稍微)不同的 shell 调用的软件版本的管道的想法?

有时,在带有conda的版本之间切换,shell 调用是不同的,例如 Samtools 0.1.18 和 Samtools 1.3.1。前缀需要不同的格式。

我已经想到了三种方法,并正在寻找其他建议:

  1. 我将在我的 YAML 中添加一个配置变量,用它来设置版本号。有一个条件,使得只包含匹配的版本规则。与我在这里使用软件选择标志的方式类似

  2. 我将在规则中进行版本检测,并相应地更改 shell 调用。在上面的示例中,唯一的区别是添加了“-T”参数。这很简单,但我担心最终我会遇到一种情况,它不仅仅是一个额外的论点。

  3. 编写完全独立的规则,规则名称中包含版本,让用户有责任选择正确的版本。这将不可避免地导致模棱两可的冲突,但我可以处理这些。

反思: 我不相信嵌套条件是最好的方法,因为它使维护更加困难,而且真的不是那么优雅。在规则中进行检测并没有那么糟糕,但我不喜欢将控制流推送到规则中的想法(现在它已经从我的管道规则中删除了)。我想避免产生歧义冲突。

我缺少支持功能吗?起初我以为这是Snakemake 的 'Version' 指令,但实际上并不是我想要的。要么,要么我错过了如何使用它。

想法?

支持文档

山姆工具 1.3.1

1.3.1 ---> config["samtools"] + ' sort -no -m ' + str(config["sortMem"]) + ' - -T' + str(log.stdErr)

山姆工具 0.1.18

0.1.18 --> config["samtools"] + ' sort -no -m ' + str(config["sortMem"]) + ' - ' + str(log.stdErr)

不同之处在于 str(log.stdErr) 之前的“-T”。

0 投票
1 回答
154 浏览

bioinformatics - snakemake:在另一个规则上以错误模式处理规则连接

我需要在同一个蛇文件中运行两个规则(gatk_Mutect2和)。gatk_IndelRealigner

如果将这些规则放在不同的蛇文件中,我可以毫无错误地运行它们。

我使用两个输入函数(get_files_somaticget_files)。两者都使用案例名称作为字典键。(每个案例都有一个正常的)。当我将这些规则放在同一个蛇文件中时,snakemake 会尝试在gatk_IndelRealigner.

我的问题是:如何管理两条规则的歧义?我的意思是我希望snakemake 不要试图将这两个规则联系起来。

0 投票
1 回答
324 浏览

google-cloud-platform - 在 GRCh38 全外显子序列上运行 DeepVariant

我正在尝试在我的 BAM 文件上运行 DeepVariant 以生成 VCF。我有以下问题:

1 - 对齐在 GRCh38 中,我应该使用哪个模型。我可以使用标准的全外显子组序列模型吗?('gs://deepvariant/models/DeepVariant/0.7.0/DeepVariant-inception_v3-0.7.0+data-wes_standard')

2 - 使用哪个 BED 文件来指定外显子组区域?有标准的吗?我在这里找到了一个我现在正在使用的(“CDS-cannonical.bed”): https ://github.com/AstraZeneca-NGS/reference_data/tree/master/hg38/bed

3 - 我使用的是 Verily GRCh38 基因组,谷歌基因组学上是否有标准的 GRCh38 比对。这是我拥有的:--ref gs://genomics-public-data/references/GRCh38_Verily/GRCh38_Verily_v1.genome.fa \

我的脚本设置如下,如果有意义,请告诉我:

编辑:

我尝试添加使用 samtools 生成的 .bam.bai 文件(bam 索引)

我仍然收到一个错误:

0 投票
0 回答
91 浏览

python - 将字符串输入到熊猫数据框中时出错?

我正在尝试使用 pysam 模块的输出创建一个数据框,该模块用于基因组数据(Bam/Sam 文件)。Pysam.depth() 将表格输出为字符串。我已使用模块 StringIO 尝试将字符串解析为 pandas 数据帧,但出现错误:

如果我在终端中打开 python 并单独运行代码行,它就可以工作。

这是向您展示 pysam.depth() 的输出的样子:

这是我的一些代码:

我已经包含了一些可能不必要的周边代码。我将在集群上运行它,并为“list_of_bams.txt”文件中的所有 bam 文件制作数据帧。

这是错误:

我没有遇到阅读错误(或一般使用 python!) - 也许 pysam.depth() 没有输出任何东西?这很奇怪,因为正如我所提到的,如果我在命令行中的 python 中运行它,它可以正常工作,如下所示:

这是与代码运行的第一个文件相同的文件,因此肯定有可能的输出。也许“文件”对象不正确?虽然那么错误应该在前一行吗?谢谢你的帮助!

0 投票
1 回答
82 浏览

bioinformatics - 推荐用于阅读和操作 BAM 和 VCF 文件的语言?

我通常是 C# / .net 开发人员,但一个新项目将使用下一代测序 BAM 和 VCF 文件。我需要阅读这些文件,进行一些更改,然后保存它们。据我所知,现有的.net 库用于处理这些文件的方式并不多。

该领域通常使用哪些编程语言,并且有支持这些文件的库?

0 投票
0 回答
27 浏览

r - BWA:检测短读序列的变化

我使用 Burrows-Wheeler Aligner 将高覆盖率的短读长序列映射到参考基因组。输出为 .sam 格式。我还使用了一个单独的程序来识别参考基因组中发生微卫星的位点。我想识别短读序列中微卫星长度和基因座参考基因组不同的所有基因座。有谁知道我可以使用任何工具或软件包来读取映射到参考基因组的短读序列的 .sam/.bam 文件并识别短读序列与参考基因组不同的特定位点?我正在使用 RStudio,并且可以访问我大学的超级计算机集群。

有关微卫星的信息,请参见此处:https://en.wikipedia.org/wiki/Microsatellite#:~:text=A%20microsatellite%20is%20a%20tract,locations%20within%20an%20organism's%20genome。

0 投票
1 回答
2575 浏览

r - 如何从 SRA 下载 BAM 文件?我有 SRA 工具包,但我很困惑

我正在尝试从 GEO/SRA 下载 BAM 格式的数据集,可用于在 RStudio 中进行分析。

我尝试使用这种方法:我下载 .sra 并将其转换为 .bam

但是,在 RStudio 中这不起作用,并返回一个错误,说它无法读取 bam 文件 这是我的 R 代码;我正在使用 RSamTools

有谁知道如何帮助我将 SRA 数据下载到可读的 .bam 文件中?任何帮助或指导将不胜感激,因为我真的想在最后期限之前完成。