问题标签 [rosalind]

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 投票
1 回答
313 浏览

python - Rosalind:REVP 失败了给定的案例

我为这个挑战写了一个解决方案。它成功地处理了给出的示例案例,但不是实际案例。

挑战:如果 DNA 串与其反向补码相等,则它是反向回文。例如,GCATGC 是一个反向回文,因为它的反向补码是 GCATGC。例如:

5'...GCATGC...3'

3'...CGTACG...5'

鉴于:

FASTA 格式中长度最多为 1 kbp 的 DNA 字符串。

返回:

长度在 4 到 12 之间的字符串中每个反向回文的位置和长度。您可以按任何顺序返回这些对。

样本数据集

>Rosalind_24 TCAATGCATGCGGGTCTATATGCAT

样本输出

4 6

5 4

6 6

7 4

17 4

18 4

20 6

21 4

对于示例,它有效。然而,它在实际样本中失败了。

实际数据集:

>Rosalind_7901 ATATAGTCGGCTGTCCAGGCAATCGCGAGATGGGGAACGACATCTTGGTACTTTACGGAT GCCAAGACTTAATATCTGGCCCGGATATGACCGCGAGCACCCCCTACTCGTCTGTCGGTT TCGGCCGGCATGACCTGTCCTCTTGATAATAGATATAAGTTGCCAACCGCACTATTTCAA GATCAGATGCCCCAAGGCACAAGGCACAGAAGAATCAGGTACTGAGCAAACAGCGCCCAT TTGTCAGCGCAACTCCGAGCGACAGGCACAAGTGGTAGTAACATCTGTAGTCTACGAGCG CGGGACCGATGTAAAAAGCAACGAGAGACGGGGCCGTCGATAGAAAAGCAATGGAGTCCA TATGGGCACGCTGAGCGTGCCTGTACTAATTTCTATGGGCTACTGGCACTAGGGGCTTAA GCCCTCGGTTACCGCGCTTTATGAATATAGTTTTCGTGCCAGGAGTGTCTTGTTTCGAGG AAGCGTGAGCTACACTTAGCACGTCCGGGCTTATTGGAAATTTGTTCAGTCTGTATGCTC CGCAATATCATGTCGGCGCTCATTCAATGTTGCGTGTAATTTAGACCTCTACTACAGCTG GGGTTGGAGCGGTCGGTAGTAAGACGTATGATTACGGTTTACATCCCGCCGGCGGACACG GAACGTGATTTTCAGCATTGTCCCATCGTAGGGATTGGGGCCCTAGTAGGTGTGGGTAGC ACGTTACATGAAGCTATCCAATGGCGTATATACTCCATCCCATCGGACTAGAAGATTTGA GGGACCCAGTCATAACTGGTGCAAAATTACGTTACAAAAGCCGAGGATACAGTATA

实际输出:

1 4 2 4 23 6 24 4 48 4 70 4 73 4 79 4 82 4 86 4 93 4 124 6 125 4 126 6 127 4 131 4 155 4 156 4 184 4 222 4 236 4 251 4 337 4 342 4 389 4 394 4 415 4 423 4 440 4 441 4 452 4 453 4 482 4 496 4 509 4 513 4 526 6 527 4 554 4 558 4 565 4 587 4 604 6 605 4 634 4 656 10 657 8 658 6 659 4 674 4 709 6 710 4 714 4 733 4 739 4 744 4 758 8 759 4 759 6 760 4 761 4 780 4 813 4 818 4 822 4 846 4

代码:

(测试样品时,第 4 行是

protein=open('rosalind_revp.txt','r').read()[12::].strip()

我什至手动匹配了一堆位置-长度对,很遗憾地发现它们都工作得很好。我仍然不知道为什么结果不被接受。谁能让我知道我错在哪里?

0 投票
1 回答
574 浏览

python - Rosalind 的 - '按字典顺序排列不同长度的字符串' 是否可以对我的结果进行排序?

我试图自己解决另一个 Rosalind( http://rosalind.info/problems/lexv/ ) 问题,但不幸的是我不得不向你寻求帮助。

这是我的方法

首先; 创建长度为 n 的输入字符串的所有可能子字符串的函数:

然后是创建具有不同长度的当前字符串的所有组合的主函数:

我对来自 Rosalind 的“示例输入”的数据的代码的结果是:

我的问题:

a) 是否可以按原样订购我的结果(Rosalind 的结果)?

b) 我的方法正确吗?如果没有,你能给我一些线索(但不是这个问题的解决方案——我想自己解决)。

很感谢!

0 投票
1 回答
266 浏览

javascript - 凡人斐波那契兔子 - 值大于 6 时的错误

我试着数一数凡人斐波那契兔子。该任务假设兔子在固定的几个月后死亡。

图为兔子的数量如何随时间变化的兔子

Mortal Rabbits 的斐波那契数列如下所示:

{1,1,2,2,3,4,5,7,9,12,16,21,28 (...)}

我的代码很简单 - 不幸的是只计到 6(含)。

从 7 开始 - 而不是 F (n-2) + F (n-3) - 计数 F (n-1) + (F (n-2)。

我不知道为什么会这样。错误在哪里?

我刚刚开始用 JS 冒险,我担心复杂的代码我无法理解(什么和为什么) - 所以我寻求建议/帮助修改现有的代码,以便初学者理解。

编辑//

好的,问题解决了。这是一个工作代码:

0 投票
1 回答
1367 浏览

python - 从蛋白质 Rosalind 推断 mRNA

问题

对于正整数 aa 和 nn,aa 模 nn(简写为 amodnamodn)是 aa 除以 nn 的余数。例如,29mod11=729mod11=7,因为 29=11×2+729=11×2+7。

模算术是关于模运算的加法、减法、乘法和除法的研究。如果 amodn=bmodnamodn=bmodn,我们说 aa 和 bb 模 nn 一致;在这种情况下,我们使用符号 a≡bmodna≡bmodn。

模算术中有两个有用的事实是,如果 a≡bmodna≡bmodn 和 c≡dmodnc≡dmodn,则 a+c≡b+dmodna+c≡b+dmodn 和 a×c≡b×dmodna×c≡b×dmodn。要检查您对这些规则的理解,您可能希望验证 a=29a=29、b=73b=73、c=10c=10、d=32d=32 和 n=11n=11 的这些关系。

正如您将在本练习中看到的那样,一些 Rosalind 问题将要求以较小的数字为模的(非常大的)整数解,以避免存储如此大的数字时出现的计算缺陷。

给定:长度最多为 1000 个 aa 的蛋白质串。

返回:可以翻译蛋白质的不同 RNA 字符串的总数,以 1,000,000 为模。(不要忽视终止密码子在蛋白质翻译中的重要性。)

样本数据集

样本输出

12

我的答案始终设置为零。我意识到使用 mod 的方式存在一些问题,但我不知道究竟是什么。

0 投票
2 回答
1824 浏览

python - 共识字符串和配置文件矩阵

我编写了以下 python 代码来解决 Rosalind 问题之一(http://rosalind.info/problems/cons/),出于某种原因,Rosalind 说答案是错误的,但我做了一些抽查,它看起来是正确的.

问题如下:

一个样本数据集是:

示例解决方案是:

我试图解决这个问题:

如果有人可以看看并建议我做错了什么会很棒吗?非常感谢!

0 投票
1 回答
625 浏览

python - rosalind 解决方案修复:共享主题

我知道有针对 rosalind 挑战的解决方案,但我不希望它们破坏乐趣。我以为我找到了“寻找共享主题”的解决方案,但我的答案一直都是错误的。

问题是关于在给定工作表中找到最长的公共子字符串,该工作表由以“>”开头的行和下一行直到另一行以“>”开头的行组成一个序列。这是它的样子:

大约有一百个 dna 片段,你要找到最长的公共子序列。这是我的方法:

我的策略是;读取文件,将其拆分为序列,选择第一个序列并将其公共部分与其余部分进行比较。我正在检查至少 2 个匹配项,因为序列由 ATGC 组成,并且肯定会发生 1 个匹配项。它从一个字符开始,并继续将其扩展 1 个字符,直到匹配被破坏。然后它获取最后一个匹配位并附加到一个列表中。然后从它停止的地方重新启动。

我的解决方案给出了答案,但它不是正确的,我无法发现代码中的误导部分。有人可以尝试了解我的方法并就修复它给我建议吗?

0 投票
0 回答
1402 浏览

python - 罗莎琳德:开放阅读框架

我正在解决“Rosalind”问题,但我已经陷入了我的代码问题所在......问题是:

DNA双螺旋的任何一条链都可以作为RNA转录的编码链。因此,一个给定的 DNA 字符串意味着共有六个阅读框,或者说 DNA 的同一区域可以翻译成氨基酸的方式:三个阅读框来自阅读字符串本身,而另外三个阅读框来自阅读其反向互补。

开放阅读框 (ORF) 是从起始密码子开始到终止密码子结束,中间没有任何其他终止密码子的框架。因此,通过将开放阅读框翻译成氨基酸直到到达终止密码子来获得候选蛋白质串。

给定: FASTA 格式中长度最多为 1 kbp 的 DNA 字符串 s。

返回:可以从 s 的 ORF 翻译的每个不同的候选蛋白质字符串。字符串可以按任何顺序返回。

这是我的代码(Python):

使用样本数据:

Rosalind_99 AGCCATGTAGCTAACTCAGGTTACATGGGGATGACCCCGCGACTTGGATTAGAGTCTCTTTTGGAATAAGCCTGAATGATCCGAGTAGCATCTCAG

我的代码工作正常,但是对于我得到的每个问题数据集,它都失败了......

这是我失败的问题数据集之一:

Rosalind_1485 GACCAGAATGCGTTAGTCGGCCTCAGAGCGCACAAAAACCAGTATTTACAAAGTGGGACG TAGCGCCCCGCGGCGTCCTTTTGCCCTATCGAAAGTATAGGCATCAGCTTTTTACCACCT TGTCATAGGTAAACTGCCCGACCCAGGTCCGGCCCTCAGCCCAACGCAGATAAACCAAGG TTATAGATGTGGCCTGTAGGCATATTGCTCTTAATGTTATAAAGAGCGAAGCGTGGTCTC GGTTTGTAAACATTAATCAAATTCCCAGGCACTAAGCCATGGTCGCCCCGGATTGGTTTT CCGGTGTACGCATCGGTGGCAGCTGGAGGGGACAGTTTAGGTGCTGCAATTGAACATGAA ACTGCACGAAAGGTGGGGTGGGCCGGATCTTGCGGGCCTCGAAAGGGTAGTGTTCCTCTG C​​TATCTAGTCCAATTACCTGTAGTATATATGATCAGGCCGTCGGTTACTTAGCTAAGTAA CCGACGGCCTGATCATCTCCTAGGAAATGGTCCTGAATGCGAACTAGGTTCCGTGGAATG ATGGGGCCCAGAGGAAACCTGTACGCAATGGATCCCGGACAGATAGACCGGGAGGTCTTG CAACCTCTTGTGGGAGTTACAGGCCGTACCTGAATTGCCCTCGTACCATTTGAAATGGTG CGACGCCTGTACGCAACAATCGTTCGCCTGGATAATACAGACGGCCATTTCTGTAGGAAC GATACCGTAACGCGACGTCAGGCATGACGTTAACTGCGTCACGTTTCATACCACTATGTGAGGTACCCACTCCTTCATTTACCGCGAGATAAAGAGCCACCACCACCTTCTCTTGGTTTC CATGCGCCGATCGGCTAAACGTGCATCACATTCAGGCGAAGAGTCAAATGGAAGCTCGCA ATTTTAGGCCTTTATGGCGAATATCCCGCAAGCCTTAGGCGCGT

显然,这段代码远非高效,还有很多可以改进的地方,我只是好奇为什么它不起作用。

0 投票
1 回答
435 浏览

python - Strange behaviour of Python difflib library for sequence matcher

I am somewhat puzzled by a strange behaviour in the difflib library. I try to find overlapping sequences in strings (actually Fasta sequences from a Rosalind task) to glue them together. The code adapted from here works well with a smaller length of the string (for the sake of the clarity, I construct here an example from a common substring a):

Output

But when the string is longer, difflib doesn't find the match any more.

Output

Why does this happen and how can you use difflib with longer strings?

0 投票
1 回答
607 浏览

python - RNA拼接Python(未给出输出)

我一直在为 RNA 剪接的生物信息学据点进行 Rosalind 练习。我目前正在使用 Python 3.6 版本。它没有告诉我我的代码有任何错误,所以我假设我的代码没问题。但是,没有产生任何输出,也没有错误警告或其他任何东西。下面是我的代码:

这是 rosalind_splc.txt 文本文件中的内容:

由于没有给出输出,我想知道我的代码的哪一部分需要修复才能输出。谢谢。

0 投票
1 回答
913 浏览

python - Rosalind 不接受“变量和一些算术”任务

问题链接http://rosalind.info/problems/ini2/

给定:两个正整数ab,每个小于 1000。
返回:对应于直角三角形斜边平方的整数,其边长为ab

例如,对于a, b = 3,4退货25

每次试验的数据集总是不同的。

我已经在我的计算机上尝试了这段代码,并且它有效。但罗莎琳德不会接受。这段代码可能有什么问题?