问题标签 [pysam]

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 投票
0 回答
91 浏览

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

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

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

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

这是我的一些代码:

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

这是错误:

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

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

0 投票
2 回答
3657 浏览

python - 为什么安装pysam python包失败?

我是 python 新手并运行命令:

点安装 pysam

结果是:

这里有什么问题?

最初我收到关于未安装 cython 的错误,所以我运行了 pip install cython 并且能够毫无问题地运行它。

0 投票
1 回答
853 浏览

python - 命令错误退出状态 1:Python setup.py [...] 尝试安装 Pysam 时

我已经解决这个问题好几天了,不得不得出结论,我需要你们的帮助!

信息:Python 版本:3.8.2 Pip 版本:20.0.2

更新了 Setuptools Setuptools 轮 Python-language-server

使用 pip 使用以下命令安装模块 python -m pip install pysam 或 python -m pip install C:\Users\NDSNIVE\Downloads\pysam-master.zip

完整的错误代码

0 投票
2 回答
343 浏览

python - 从 bam 文件中提取行

我有一个看起来像这样的 bam 文件:

我还有另一个文件,其中包含我感兴趣的 ID,如下所示:

理想情况下,我想从 bam 文件中提取以 ID 文件中的 ID 开头的行。目前我正在使用我编写的这段代码,但它不起作用。任何帮助将不胜感激!谢谢

0 投票
1 回答
191 浏览

python - Deeptools 找不到存在的文件

我的一个实习生正在尝试使用 deeptools 的 bamCoverage 函数,'/my/dir/data.bam' file does not exist尽管文件在那里,但它会引发错误。是的,该文件确实存在,我们可以使用 bash 命令来操作它,所以它没有真正的理由抛出该错误。

根据这个线程,这可能是 pysam 或 python 的问题。两者都是最新的。你知道我可以如何进一步调查 pysam 或 python IO 的问题吗?

所有这些都发生在我们团队使用的服务器上。他的用户会话的python路径可能有问题吗?

作为参考,这是我在 bash 终端中运行的代码。这是非常基本的:

在过去的一年中,我可能已经使用了这条线 100 次,但现在它找不到该文件。

我还尝试使用 conda 在我的主目录中安装 deeptools,但这会产生相同的错误。

编辑:显然,这只是那个文件的一个问题。bamCoverage 将适用于其他数据文件。如果 deeptools 会告诉您而不仅仅是“找不到文件”,那就太好了...

0 投票
1 回答
214 浏览

samtools - 如何使用 pysam 在 bam 文件中添加带有读取质量分数的“OQ”标签作为附加字段

我需要使用 OQ 标记将读取质量作为附加字段添加到使用 pysam 的 bam 文件中

其他使用 samtools 等的传统方式会消耗更多时间并创建多个文件。

我尝试使用下面给出的脚本,但最终是无符号字符而不是质量得分字符串!任何帮助表示赞赏。

提前致谢。

例如。输入 bam:

预期输出 bam:

皮萨姆

python GenerateBamWithOQTag.py -i subset.bam -o subset_OQ.bam

0 投票
1 回答
366 浏览

python - Snakemake Conda 环境似乎没有被激活,尽管它说它是

我正在使用该--use-conda选项运行 Snakemake。Snakemake 成功创建了环境,其中应该包括 pysam。我可以手动激活这个创建的环境,并在其中运行我的脚本split_strands.py,该脚本导入模块 pysam,没有任何问题。但是,在运行 Snakemake 管道时,我收到以下错误日志:

如您所见,虽然它说它是“激活 conda 环境”,但这似乎不是真的,因为随后找不到模块“pysam”,我已经验证在手动激活时会找到该模块。

这是指定规则的方式:

我已经验证了哈希 7c375b6b 对应于 python2.7.yaml 中指定的适当环境。

任何想法可能会发生什么?我的规则正在运行一个集群并通过 qsub 命令提交。

0 投票
0 回答
262 浏览

python - 使用 Python 从 BAM 文件和 vcf 文件中提取具有不同位置的读取和配对(PYSAM 和 PYSAM,也可以使用 bamnostics)

我正在使用 Python 并使用 PYSAM 和 PyVCF 库进行数据处理。嗨,假设我有一个 bam 文件和一个包含变体调用结果的 vcf 文件。我想提取其中有变体的读取和配对。假设 mate 中的 read 和 variant 有一个变体,我想提取这些 reads 并丢弃所有没有变体位置的 reads 或者它们的 mate 没有变体(即使 reads 有变体但 mate 没有变体)。之后,我想计算从结果中生成的其他 read_mate 模式的计数。

完整问题:我们必须使用 VCF 文件搜索 bam 文件,如果 vcf 文件上的位置与 bam 文件中的读取匹配,则检查是否在同一位置上是否存在与 vcf 相同的 alt,如果两者相同则考虑一下并保存并继续前进。在处理完基因的所有数据之后,(逐个基因),我们将保存所有那些在其中具有 vcf 位置的读取和配对。具有vcf位置的读取和配对将在一个变量中逐个基因保存,信息应保存如下:最初是一个带有基因名称的输出文件,contig name : <position,alt base>, <Position,alt base> 等等每次阅读和配对。下一步在保存那些reads和只有vcf位置的mates的信息后,注意:(丢弃那些mates没有vcf位置的reads),下一步是计算read support,

下一步:合并基本模式和噪音:例如,我们有以下模式 pos alt pos alt pos alt post alt pos alt pos alt pos alt(读取,配对模式):55 G 58 C 63 G 75 T 87 A 87 T 95 A(读数,配对模式):C 63 G 75 T 87 A 87 T 95 A(读数,配对模式):55 G 58 C 63 G 75
(读数,配对模式):55 G 58 C 63 G 75 T 87 A 87 T 95 A

现在所有这些模式应该合并成一个更大的模式:pos alt pos alt pos alt post alt pos alt pos alt(过滤模式):55 G 58 C 63 G 75 T 87 A 87 T 95 A

底线:我只想获得这些读取和具有 vcf 位置的配对,并为每个读取及其具有 vcf 位置的配对制作一个模式。并丢弃所有其他没有 vcf 位置的人。

我在映射中遇到了一些问题,不知道如何使用雪茄串来映射我的数据并在与 vcf 位置匹配后将 DNA 序列与其进行比较以检查它是否具有碱基。任何帮助将不胜感激。

我尝试了以下代码:

依此类推,长代码但不是所需的输出。谢谢

0 投票
1 回答
187 浏览

python - 如何使用 pysam.view() 将 SAM 转换为 BAM

我想使用pysam库将我的 SAM 文件转换为 BAM。我正在尝试从 samtools 编写此命令:

作为这样的python代码:

根据本文档。但不幸的是,它不起作用。我该怎么做?我应该先创建一个空的 BAM 文件还是自动创建它?最后我有这个错误:

SamtoolsError: 'samtools 返回错误 1: stdout=b'\x1f\x8b\x08\x04\x00\x00\x00\x00\x00\xff\x06\x00BC\x02\x004\x01\x9dQMO\x83@\x10 \xa5G\xfa#\xccz\xb3\x87\xfd\xa2\xa0\x86\x83\xa9\xad\xd86i\t\x16\xc3u\xb3P\xc0&,PvcC\xff\xa6\x7f\xc8\xc5\ x88&\xe8\xc1xx\x99\xc9\xbcyy\x937\xf3\xfb\xed\xe8md\x18\xb3\xf0\xc9\x0c}\xd7"\x90\x90)a\xa1\xc5\xe8.\xcdX \xd2&\x8cPv\xb9\xf2"\xb8\x8av\xac\xac\xd6\xa5L\x1ben\xf4\xee\xed\xf5x\x16,\xcd\xf5\x83\x1b\x9f\xb8\x19\xf8 \x1f%\xf2]\x82n\x10u`C\xa9M\xcc\xc5\xa6\x1b\x03\x91\n\x00\x95E\x00\x9c[\x00>;\x00\xcb\xa4\xe1* y\xc1\xbcP\x82\x97e\x8c\xfde\xc8\x1e\x97\xd4\xc1\xbd\x99\x97W\r\x1e\\\x84\x89\xcd\x9a\x94\xef%\x13 \xbc\xae\xd3=\xde\xf2z\xd1&\x84~5l\xa0@\x19\x97\x8a\xff\xdfo\xfa\xe9\x97\x1dJ^\x0ci\x16z(;\xa2\xfc\ xdc\'!\xb9PUU\xc8.\x8e\xef>\xe8\xa3\xa1\x88\x12pU\xb7\x9a\x9at\xd1\xf4+\xe0\xf5\x90\x9e\x00\x0c\x01\x8c\x01\xac\x00V\xa2\xee\x10g\xb6 <\xe6\x9a\xfei\x1bxH\x8b\xc1\xdd\xefT\xcc\xc5X\x7f\xd5\x98h\xfc\xf5\xa7\xc6\x85V\xbc\x03\xb7nn4\x10\x02\x00\ x00\x1f\x8b\x08\x04\x00\x00\x00\x00\x00\xff\x06\x00BC\x02\x00\x1b\x00\x03\x00\x00\x00\x00\x00\x00\x00\ x00\x00', stderr=[main_samview] 随机对齐检索仅适用于索引 BAM 或 CRAM 文件。\n'

先感谢您!

0 投票
0 回答
30 浏览

python - Python 和 Ubuntu 中带 parseargs 的 Bam 文件处理函数代码

我正在尝试修改一段代码来提取 bam 文件中特定元素的信息。

这是我到目前为止所拥有的:

我得到的错误是:

ValueError: Length mismatch: Expected axis has 1 elements, new values have 3 elements

这是在我在函数全局变量中创建所需文件之后。之前,我得到的错误是:

TypeError: count_bam() missing 3 required positional arguments: 'bed_file', 'output', and 'genome_sizes'

我觉得这与argparse有关。它读取第一个必需的参数(bamfile),但不注册其他 3 个。

任何帮助将不胜感激。