问题标签 [dna-sequence]
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.
c++ - 提高字符串重叠矩阵构建效率
我有一个巨大的字符串列表(N = ~100 万),长度为 100 个字符,我试图找到它们之间的重叠。例如,一个字符串可能是
我需要构建一个 N × N 矩阵,其中包含每个字符串与其他字符串的最长重叠值。我目前的方法是(伪代码)
将所有字符串读入数组
创建空 NxN 矩阵
将每个字符串与具有更高数组索引的每个字符串进行比较(以避免重做比较)
将最长重叠写入矩阵
还有很多其他的事情,但我真的需要一种更有效的方法来构建矩阵。即使使用最强大的计算集群,我也需要数天才能掌握这种方法。
如果您没有猜到,这些是 DNA 片段。X 表示“通配符”(探针给出的质量分数低于阈值),所有其他选项都是基数(A、C、T 或 G)。我试图写一个四叉树算法,但是这种方法太占用内存了。
我很乐意为您提供更有效的方法的任何建议;我正在使用 C++,但伪代码/想法或其他语言代码也会非常有帮助。
编辑:一些说明我当前方法的代码摘录。与该概念无关的任何内容均已删除
python - 如何使用 python 反向补充多序列 fasta 文件?
我是 python 新手,我试图弄清楚如何读取具有多个序列的 fasta 文件,然后创建一个包含序列反向补充的新 fasta 文件。该文件将类似于:
>homo_sapiens ACGTCAGTACGTACGTCATGACGTACGTACTGACTGACTGACTGACGTACTGACTGACTGACGTACGTACGTACGTACGTACGTACTG
>Canis_lupus CAGTCATGCATGCATGCAGTCATGACGTCAGTCAGTACTGCATGCATGCATGCATGCATGACTGCAGTACTGACGTACTGACGTCATGCATGCAGTCATG
>Pan_troglodytus CATGCATACTGCATGCATGCATCATGCATGCATGCATGCATGCATGCATCATGACTGCAGTCATGCAGTCAGTCATGCATGCATCAT
我正在尝试学习如何使用 for 和 while 循环,因此如果解决方案可以包含其中之一,那将是首选。
到目前为止,我设法以一种非常不雅的方式做到这一点,如下所示:
file1 = open('/path/to/file', 'r')
文件 1.close()
这行得通,但我知道有更好的方法来迭代该末端部分。有更好的解决方案吗?
algorithm - 遍历收集尽可能多点的网格的算法
考虑一个二维 m*n 网格,其中每个单元格可以包含 1 或 0。通过移动通过该网格找到遍历可以获得的最大值。可以通过对角线穿过 1 个单元格来增加该值。网格的遍历遵循以下规则:
- 从左上角的单元格开始。
- 在每个单元格处,遍历可以向下移动一个网格、向右移动一个网格或沿对角线移动(向下移动一个网格并向右移动一个网格)。如果单元格包含 1 并且遍历沿对角线移动,则遍历值增加 1。
- 遍历不能移出网格(如果在右边缘不能向右移动,如果在底部边缘不能向下移动)。
- 在右下角结束。
一个简单的算法会考虑所有 3*m*n 遍历并选择最大值。有人可以帮我想出更好的解决方案吗?有没有解决类似问题的算法?
这不是一个面试问题,我需要这个来尝试优化 Smith-Waterman 算法。
例子:
以下网格的最大值为 2:
这个最大值为 7:
r - 与 R 矩阵的 DNA 成对距离
在处理 DNA 时,我们经常需要三角形 p 距离矩阵,它包含序列对之间不同位点的比例。因此:
- AGGTT
- AGCTA
- AGGTA
产量:
p 距离计算在某些 R 包中可用,但假设我需要使用数字代码 (-1,0,1,2),而不是字母 (C,T,A,G)。如何从“my.matrix”生成三角 p 距离矩阵?
python - 通过根据一组字符将文件拆分为列表项,将文本文件读入 python
我有一个包含以下内容的纯文本文件:
我想将其读入根据 ID 代码拆分为项目的列表@M00964
,即:
我试过使用
但这会删除 ID 序列@M00964
。有什么办法可以保留这个 ID 序列吗?
作为另一个问题,是否有任何方法可以在列表中维护空白(而不是 /n 符号)。
我的总体目标是读入这组项目,以前 2 个项目为例,然后将它们写回保持所有原始格式的文本文件。
python - 使用 python/biopython 计算 DNA 序列
我下面的脚本是从标准 FASTA 文件中计算序列“CCCCAAAA”和“GGGGTTTT”的出现次数:
脚本在这里统计CCCCAAAA序列3次
CCCCAAAACCCCAAAACCCCAAAA(CCCC不计入)
有人可以告诉我如何将 CCCC 序列包含在最后作为半数,以为此返回 3.5 的值。
到目前为止,我的尝试一直没有成功。
我的脚本如下...
python - 寻找蛋白质序列中的氨基酸基序
我有一个由字典组成的简单搜索引擎,其中包含多个条目的 UniProt 代码和序列。
最终我想在所有这些序列中找到一些基序并在每个序列中打印它的位置(仅起始氨基酸)。
对于简单的图案,我使用下面的代码完成了这样的任务
我的听写就像
这将打印所有三个序列上的所有 AA 基序位置。
现在我想使用 RE 沿着这些序列找到复杂的基序。
使用此代码,我只能在序列中检测一次主题。假设每个基序在每个序列中可以多次出现,我应该如何定义加法 FOR 循环以获得更准确的结果,就像在第一种情况下一样?
bioinformatics - 在进行成对序列比对时,序列文件的典型大小是多少?
在进行成对序列比对时,序列文件的典型大小是多少?我们可以对齐生物的整个基因组吗?
python - 在用户定义的索引处拆分python中的列表项
我有一个名为:
FirstSequenceToSplit
它包含一个项目,即 DNA 序列 说:
'ATTTACGTA'
我可以很容易地返回这个项目的长度,所以用户知道它是 10 个字符长,然后我想做的是让用户说他们想要提取索引的字符,比如 [0:6],并且然后在新列表中生成两个项目。第一项具有用户定义索引的字符,后跟一个问号替换未提取的其他字符,第二项具有相反的字符。
所以为了说明我想要什么,如果用户说他们想要 [0:5] 你会得到一个包含以下项目的新列表:
['ATTTT?????','?????ACGTA']
这是一个更大问题的一部分,我有一组 FASTA 格式的 DNA 序列('>Sequence1/nATTTTACGTA'、'>Sequence2/nATTGCACGTA' 等),我希望用户能够根据它的 ID 和用于根据预定义输入拆分该序列并称为 Sequence2a 和 Sequence2b ('>Sequence1a/n?????ACGTA', '>Sequence1b/nATTTT?????''>Sequence2/ nATTGCACGTA' 等)。我目前已经通过打印序列的名称解决了这个问题,让用户选择一个来拼接,只提取序列(没有 ID),然后一旦我解决了上面显示的问题,我将创建一个包含新项目的新列表。
由于我是初学者(我确信现在很明显!)我将不胜感激对给出的代码的任何解释。非常感谢您提供的任何可能的帮助
到目前为止,我的代码是:
java - 获得越界异常,我不知道如何回溯以查找异常在哪里
首先,我想比这个社区更慷慨地帮助那些刚刚学习编程的人,我请求你多多包涵。这是我正在使用的文件: DNA测序程序
我收集到的是,在我的代码中的某个地方,我试图引用字符串长度之外的东西。我想知道如何使用错误代码回溯程序以找到我出错的地方。因为这里被要求是这里的完整代码:
'
呜呼现在不同的错误!
我查看了代码,由于某种原因,当它将一个字符分配给 char[][] 数组 mat_hold 中的一个点时,它抛出了另一个异常错误,这次是 10(恰好是数组的大小10x10)