问题标签 [sequencing]

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 回答
527 浏览

python - 使用来自单独文本文件的 ID 从 7 GB fasta 文件中提取多个序列

在搜索了这个网站几个小时并尝试了许多不起作用的不同方法之后,我决定发布我自己的问题。我目前有一个文本文件 (id.txt),其中包含大约 100 行以下 IDS 的形式:

我有一个 7 GB 的 fasta 文件,其中包含表单中的条目

id.text 中的所有 ID 都可以在 seq.fasta 中找到。预期的输出将在 id.text 文件的 fasta 文件中找到匹配的 ID 号并生成:

目前,我可以在 bash 中使用 grep 一次从 fasta 文件中提取一个序列,只需从文件中复制和粘贴一个 ID。

前任:grep 5377-P3-D5-MSITS2a_R1reads1_1126992 seq.fasta -A 1

结果:

但是,我有多个文本文件,每个包含 50-300 个 ID,我想用它们从 FASTA 文件中提取序列,而单独提取序列似乎不必要地耗时。我想找到一种方法来从 fasta 文件中查找和输出位于单独文本文件中的多个 ID 的序列。我主要在 bash 中试验了 awk 和 grep 命令,主要基于此站点上的其他答案,几乎我尝试的每个命令都没有产生结果,也没有错误消息。

我试过的例子:

我觉得我已经尝试了这两个命令的许多变体(基于其他堆栈溢出和 biostar 建议),并且在 bash 中,没有任何反应,没有结果或没有错误消息。我也是编码方面的相对初学者,所以我无法准确指出出了什么问题。我也对任何可以使用的 python 或其他代码持开放态度。任何帮助或建议将不胜感激。谢谢!

0 投票
1 回答
230 浏览

perl - Vcf 到 Bayescan 格式 - perl 脚本无法识别种群

我正在尝试将.vcf文件转换为BayeScan. 我已尝试PGDSpider按照建议使用,但我的.vcf文件太大,所以我遇到了内存问题。

然后我发现了一个perl脚本Github,即使它真的很大,它也可以转换我的文件。可以在此处找到该脚本。但是,它不能正确识别我拥有的人口数量。它只找到 1 个人口,而我有 30 个。

我的人口文件的顶部看起来像这样,遵循 perl 脚本中的示例格式。

我也尝试过使用排序后的人口文件的脚本。我没有使用 perl 语言的经验,所以我正在努力找出脚本不起作用的原因。

我认为这与脚本的这一部分有关,但不能确定:

Appolgies,因为我不确定如何使它成为一个可重复的示例,但我希望有人至少可以帮助我理解这部分代码在做什么以及是否有办法调整它?我的个人姓名包括_和的问题是-什么?

非常感谢您提前提供的建议和帮助:)

0 投票
0 回答
64 浏览

c++ - 致命错误:无法打开文件'-c=':没有这样的文件或目录(SPP,phantompeakqualtools)

我正在尝试在终端中运行 phantompeakqualtools,我在 Visual Studio Code 中使用 WSL。

我已按照此处列出的所有步骤并安装了使用此程序的依赖项: https://code.google.com/archive/p/phantompeakqualtools/和此处:https : //github.com/kundajelab/phantompeakqualtools

但是,当我尝试执行时,它说没有这样的文件或目录,而文件显然在那里。

在此处输入图像描述

该文件格式正确,为 tagAlign.gz 文件。但不知何故,它找不到它。我也尝试将它作为 sudo 运行,但这也不起作用。

0 投票
1 回答
285 浏览

python - 如何计算熊猫列中字符串的字符数

我有一个具有以下结构的数据框:

每个字符串都是由字母组成的序列(本例中为 A 到 C)。
我想为每个字母创建一个列表,计算整个熊猫列中每个位置的出现次数。

例如,在第一个字符串中,A 仅在第一个位置/索引中,而不在其他位置。
在第二个字符串中,前两个位置的 A 不在其他位置
。在第三个字符串中,A 具有所有位置,直到最后一个位置。等等...
我想要按位置对列进行总计数。
以下是 A 的示例:

所以对于A,我想要一个类似于以下的输出...... A [6,4,2,2,1,1,2,1,1,1,0]
最后,我试图得到每个字符都有一行的矩阵。

0 投票
2 回答
169 浏览

input - Snakemake:{input:q} 不返回带引号的输入

我正在使用 Genrich 开发一个 ATACseq 管道以与 Snakemake 一起运行。

事实上,Genrich 允许在同一步骤中调用多个重复中的峰,从而避免了额外的步骤(即 IDR)。

在 Snakemake 中,我找到了同时返回所有我想要的样本(即从一个条件复制)的方法,但是如果每个文件都被引用,Genrich 要求逗号分隔的文件作为输入或空格分隔的文件。

通常,输入返回一个以空格分隔的文件列表(即file1 file2 file3),由于我不知道如何使它返回逗号分隔的文件,所以我尝试引用它们。

理论上,在 Snakemake 5.8.0 版本之后,您可以参考{input:q}规则的 shell 命令中的输入来返回引用的输入,如此所述。

但是,在我的情况下,返回的输入没有被引用。

我创建了一个测试规则来查看输入是如何返回的:

存储在输出文件中的返回输入是:

有人知道如何解决这个问题并返回引用的输入或返回逗号分隔的文件列表而不是空格分隔的文件吗?

谢谢你。

0 投票
1 回答
96 浏览

avfoundation - 在 iOS 上安排音频样本播放

在 iOS 应用程序 (Swift) 中,我将如何安排音频样本在准确的时间播放?

我想通过安排音频样本在准确的时间播放来制作音乐 - 一系列“曲目”。我有一些想法,我应该使用 AVFoundation,但我发现文档缺乏为这个特定用例提供服务。

我知道 AudioKit 存在,但我希望最终将我的应用程序移至 Apple Watch,目前 AudioKit 不支持。

0 投票
1 回答
113 浏览

r - R中的脚本越界

我正在使用基于 Deseq2 的代码。我的目标之一是绘制数据热图。

我得到的错误是

计数错误(dds)[topGenes,]:下标超出范围

我的 counts(dds) 函数的前几行如下所示。

我如何确保顶级基因的所有元素都存在于其中?当我尝试查看数据集中的 20 个顶级基因时。它看起来像一个基因列表

我都用过

查看是否删除了越界错误。然而这并没有什么用。我猜是V1头导致了这个问题。使用上面的代码片段生成了顶级基因函数。

0 投票
0 回答
94 浏览

bioinformatics - 星形索引生成 - 'std::bad_alloc' 错误

我试图使用 STAR 索引为受精后 99,50 小时 (99H50) 的突变库生成基因组索引,并带有 Lawson 实验室的注释。我使用的代码如下:

我试图在我的 HPC 集群上运行这段代码,它给我一个错误,如下所示:


我用谷歌搜索,发现这些错误可能源于内存分配,因此我从集群中有足够空间的空间运行。

此类作业的内存使用量由作业 ID 给出:



我浏览了互联网并试图找出解决方案。

  1. 我尝试将线程数从 10 减少到 1,以减少计算内存问题。
  2. 我尝试通过使用以下标志来分配特定的内存限制:

基因组fasta文件的一些行如下:

我试图提供尽可能多的细节,任何帮助都会有所帮助。

0 投票
1 回答
769 浏览

distributed-computing - Messenger 在聊天期间和用户再次登录时如何保持消息的顺序?

我在一次采访中被问到这个问题,无法回答。

FB messenger 如何在两条消息同时出现时对用户侧的消息进行排序,以避免在聊天期间和用户再次访问 Messenger 时出现显示顺序的差异。我认为我们可以为每条消息存储一个时间戳,即服务器接收到消息的时间。但是,这并不能确保客户端消息的正确排序。

假设服务器时间戳无法确定消息的确切顺序,如下所示:

  1. 用户 1 向用户 2 的服务器发送消息 M1。
  2. 服务器在 T1 收到 M1。
  3. 同时,User-2 为 User-1 发送消息 M2 到服务器。
  4. 服务器在 T2 接收到消息 M2,使得 T2 > T1。
  5. 服务器将消息 M1 发送给 User-2,将 M2 发送给 User-1。
  6. 所以 User-1 会先看到 M1 然后是 M2,而 User-2 会先看到 M2 然后是 M1。

我读到解决了这个问题,我们可以使用矢量时钟,但无法理解在聊天期间和用户再次登录时如何为不同用户保留消息顺序

在上述场景中,user1 将看到 M1 后跟 M2,而 user2 将看到 M2 后跟 M1。现在,如果每个用户还为每个客户端(单独)生成每个消息的序列号或时间戳。然后在上面的场景中,user1 将发送序列为 <1 (user1 seq), 0(user2 seq) > 的消息 M1,而 user2 将发送序列为 <0 (user1 seq), 1(user2 seq) > 的消息 M2。因此,当消息同时到达 user1 和 user2 时,它们将具有: M1 <1, 0> M2 <0, 1>

现在假设 user1 发送更多消息 M3 <2, 1> 和 M4 <3, 1> 那么每个客户端都会有以下消息。M1 <1, 0> M2 <0, 1> M3 <2, 1> M4 <3, 1>

因此,在这种情况下,当用户登录时,用户 1 和用户 2 在聊天期间的显示顺序将分别为 M1、M2、M3、M4 和 M2、M1、M3、M4。现在,我想知道再次登录时如何为用户 1 和用户 2 保留相同的顺序

谢谢。

0 投票
1 回答
69 浏览

r - R:获取向量中第一个实例的索引大于变量但对于整个列

我正在尝试在 data.table 中创建一个新变量。它旨在获取 data.table 中的一个变量,并将每个观察值与一个向量进行比较,并返回向量中大于 data.table 中的变量的第一个观察值的索引。

例子

对于中的每个观察,Variable我想知道第一个观察的指数ComparatorVector大于 的观察Variable

我玩过 araound min(which()),但无法通过ComparatorVector. 我也看到了这个match()函数,但没有找到如何让它返回除了完全匹配的索引之外的任何东西。