- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图以字符串格式(包括基因组上的起始 (i) 和终止 (j) 位置以及 ORF 的长度 (l))从(DNA)基因组序列的一条链中分离出所有重叠的 ORF; ORF 应以 ATG 开头,具有至少 24 个内部核苷酸 [ACGT] 并以 (TAA|TAG|TGA) 结尾。
通过查看 find ORF with minimal size of 45 bases using perl regular expression - why this regex doesn't work我想出了这个(所以需要调整):
my $genome = $_[0];
my $ATG_count = 0;
my $ORF_count = 0;
my @i = ();
my @j = ();
my @l = ();
my @frames = ();
while ($genome =~ m/ATG/ig) { ### I need to do this to find every ORF starting with ATG, including ORFs which are located inside other ORFs.
$ATG_count++;
my $start = $-[0]+1;
foreach (substr($genome,$-[0]) =~ m/^ATG(?:[ATGC]{3}){8,}(?:TAA|TAG|TGA)/ig) {
my $length = $+[0];
if ($length%3 == 0) { ### I need to do this because sadly, the above regex DOESN'T recover only Strings are dividable by 3. (Why not?!?)
my $stop = $start+$length;
my $readingframe = ($start%3);
push(@i, $start), push(@j, $stop), push(@l, $length), push (@frames, $readingframe);
$ORF_count++;
}
}
}
(?:[ATGC]{3}){8,}
但我该怎么做呢?
my $genome = $_[0];
my $ATG_count = 0;
my $ORF_count = 0;
my @i = ();
my @j = ();
my @l = ();
my @frames = ();
while ($genome =~ m/ATG/ig) {
$ATG_count++;
my $start = $-[0]+1;
foreach (substr($genome,$-[0]) =~ m/^ATG(?:[ATGC]{3})*?(?:TAA|TAG|TGA)/ig) {
### This was changed so that it matches "ATG - first(lazy) stop-codon".
my $length = $+[0];
if ($length%3 == 0 && $length >=30) {
### This was changed so that the matches must be >=30 in length.
my $stop = $start+$length;
my $readingframe = ($start%3);
push(@i, $start), push(@j, $stop), push(@l, $length), push (@frames, $readingframe);
$ORF_count++;
}
}
}
最佳答案
您编写的模式将贪婪地搜索密码子,直到到达字符串中的最后一个终止密码子。尝试像这样重写你的模式:
m/ATG(?:[ATGC]{3}){8,}?(?:TAA|TAG|TGA)/ig
?
至
(?:[ATGC]{3}){8,}?
告诉正则表达式引擎匹配尽可能多的密码子,直到第一个停止密码子,而不是最后一个。我也会省略
^
根据您的模式,假设起始密码子不会成为您序列中的第一个密码子。
关于regex - perl 正则表达式 : howto get open-reading-frames without internal stop-codons?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17528778/
注意:这不是 Translating PHP date() for Multilingual Site 的副本.我读过了! 对不起,我必须先解释一下我的框架是如何工作的,这样你才能准确地理解我的问题出
我在 PHP 5.2 中使用 Console_Getopt,发现它与其他语言(perl、bash、java)中的 getopt 有多么不同令人惊讶。谁能推荐如何从返回的数组“$opts”中解析参数?
我喜欢制作一个.htaccess文件来重定向从网站上收到的任何错误。 我已删除旧站点中的所有页面。但是我不知道人们在书中写了几页。 新的网页和网站的结构完全不同...因此,没有页面与旧的页面相同,更不
我需要实现一个由外部系统返回的 session 池,这样我就可以在需要时快速重用它们(创建 session 需要一段时间)。我使用数据源创建了一个数据库连接池(来自 Apache 的 DBCP),它是
我刚开始使用 C++,我无法理解我的代码是如何工作的: 好的,我分配内存,但在分配时没有人知道要分配的内存大小。但代码仍然有效。分配了多少内存?编译器如何知道我需要多少内存? 编辑: 抱歉,如果我的问
我正在编写一个存储一些数据的 Python 应用程序。为了存储数据,我编写了一个带有抽象方法的连接类(使用 Python 的 abc 模块)。此类是所有存储后端派生自的父类(super class)。
我想编写一个名为 size() 的函数,它将接受文件名或文件名列表,并分别返回文件的大小或文件大小的总和。如何在没有 python 中不可用的函数重载的情况下做到这一点? 谢谢 确定 最佳答案 def
我需要传送大量的 HTTP 内容(让我们说的很简单 - 具有 HTTP 访问权限的大存储 - 类似于 AWS S3)这需要的带宽超过一台服务器的带宽(我们每台服务器获得 200MBit,问题是不要改变
给定以下 UML 表示,我怎样才能获得 BullDog 的实例,它只公开了 getter 方法? BullDog 的实例不应有任何可用的 setter 方法。 BullDog 的实例应该只有 gett
我想配置 gitolite 以便 开发者无法推送到 master 和 stage1 开发人员可以对所有其他分支(他们想要的任何名称)进行 RW 操作 我想到的最好的事情是: repo foo bar
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: In Java, what is the best way to determine the size of an
基于最小的 C 解析器示例,并使用以下依赖项: compile(group: "org.codehaus.sonar.sslr", name: "sslr", version: "1.20"); co
我在有条件地创建依赖项方面遇到困难。谷歌搜索,我还没有找到使用BuildStack和条件谓词的好例子。 这是我在注册表中执行的操作: //snip public SomeRegistry() {
下面是部分html代码 我尝试使用 jquery 克隆 #test1 节点并删除添加按钮,然后将结果添加到 #container 我尝试编写如下代码,但似乎不起作用 $("#test1").clo
这个问题在这里已经有了答案: How to loop through a plain JavaScript object with the objects as members (28 个答案) 关
你好 不要说这是一个重复的问题,因为我已经阅读了两天。他们中没有一个真正提供有用的答案。 我在 SD 卡上的一个文件夹中有许多不同的文件。想要根据 apk、txt、mp3、avi、jpg 打开正确的应
在父行上设置空值时如何删除子行(在删除级联上?)? 这是数据库设计。 表 A [id、b_id_1、b_id_2] 表B[id,其他字段...] b_id_1 和 b_id_2 可以为 NULL 如果
我下载了 Open ERP 服务器和网络,决定不使用更厚的 gtk。我在 eclipse 中添加了 2 作为项目,pydev 在 Ubuntu 11.10 上运行,然后启动。我完成了 Web 客户端设
我需要将一些图形元素放在一个 div 中,这些元素应该在具有不同分辨率的各种屏幕(例如,移动屏幕)上显示。例如,类似于关闭覆盖窗口的“X”按钮。我可能会想到几个实现它的选项: 有几个 JPEG(每个分
这看起来应该是直截了当的,但我很难过。我有一个指向 View Controller 的链接,该 View Controller 最终使用 send_data 将文件下载到用户的硬盘驱动器。这非常有效,
我是一名优秀的程序员,十分优秀!