- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
致全世界的 Perl 大师!
我有一个这样的文件要解析并想制作......
从第一列开始,ID,外显子信息,起始位置,结束位置和方向。 ID遇到数字就加1。
1 9239 712 8571 +
1 start_codon 712 714 +
1 stop_codon 8569 8571 +
2 3882 24137 24264 +
2 start_codon 24137 24139 +
3 3882 24322 24391 +
4 3882 24490 26064 +
4 stop_codon 26062 26064 +
5 4972 26704 26740 +
5 start_codon 26704 26706 +
6 4972 26814 27170 +
7 4972 27257 27978 +
7 stop_codon 27976 27978 +
8 10048 40161 41114 -
8 start_codon 41112 41114 -
8 stop_codon 40161 40163 -
9 272 43167 43629 -
9 stop_codon 43167 43169 -
10 272 43755 44059 -
10 start_codon 44057 44059 -
像这样....
1 9239 *712* *8571* +
1 start_codon 712 714 +
1 stop_codon 8569 8571 +
*X 9239 712 8571 +*
2 3882 *24137* 24264 +
2 start_codon 24137 24139 +
3 3882 24322 24391 +
4 3882 24490 *26064* +
4 stop_codon 26062 26064 +
*X 3882 24173 26064 +*
5 4972 *26704* 26740 +
5 start_codon 26704 26706 +
6 4972 26814 27170 +
7 4972 27257 *27978* +
7 stop_codon 27976 27978 +
*X 4972 26704 27978 +*
8 10048 *40161* *41114* -
8 start_codon 41112 41114 -
8 stop_codon 40161 40163 -
*X 10048 40161 41114 -*
9 272 *43167* 43629 -
9 stop_codon 43167 43169 -
10 272 43755 *44059* -
10 start_codon 44057 44059 -
*X 272 43167 44059 -*
必须添加以 X 开头的每一行,但以我的技能我不能... :(
问题是第二列中的每个外显子编号忽略“start_codon”和“end_codon”,必须获得星号 * 之间的最小编号外显子位置和最大编号外显子位置。
这是我解析数据的基本代码......但我想,必须从头开始重新编码(我不知道如何插入“X”行)
(抱歉,我删除了代码,因为它不够好,可能会造成混淆...)
世界上的 Perl 大师,你能帮帮我吗???
谢谢!!
当 TLP 出现时,我放回了我的代码。虽然它的尴尬代码
use strict;
if (@ARGV != 1) {
print "Invalid arguments\n";
print "Usage: perl min_max.pl [exon_output_file]\n";
exit(0);
}
my $FILENAME = $ARGV[0];
my $exonid = 0;
my $exon = "";
my $startpos = 0;
my $endpos = 0;
my $strand = "";
my $min_pos = 0;
my $max_pos = 0;
open (DATA, $FILENAME);
while (my $line = <DATA>) {
chomp $line;
if ($line ne "") {
if ($line =~ /^(.+)\t(.+)\t(.+)\t(.+)\t(.+)/) {
$exonid = $1;
$exon = $2;
$startpos = $3;
$endpos = $4;
$strand = $5;
}
if ($exon =~ /\d+/) {
print $exonid,"\t",$exon,"\t",$startpos,"\t",$endpos,"\t",$strand,"\n";
} else {
print $exonid,"\t",$exon,"\t",$startpos,"\t",$endpos,"\t",$strand,"\n";
}
}
}
close (DATA);
exit;
如何比较最大值和最小值....
最佳答案
基本上你所做的就是遍历这些行,跳过你不想要的那些(即第 2 列中没有数字),记住同一组中每个新行的最小值/最大值,以及当第 2 列数字更改时你打印并重新开始。使用此解决方案,您还必须在最后手动打印最后一组。
此代码使用内部 DATA
演示数据的文件句柄。只需更改 <DATA>
至 <>
像这样在目标输入文件上使用:perl script.pl inputfile
use strict;
use warnings;
use List::Util qw(min max);
my $print;
my ($min, $max, $id);
while (<DATA>) { ###### change to <> to run on input file
my @line = split;
if ($line[1] !~ /^\d+$/) { # if non-numbers in col 2
print; # print line
next; # skip to next line
}
if (!defined($id) or $id != $line[1]) { # New dataset!
say $print if $print; # Print and reset
$id = $line[1];
$min = $max = undef;
}
$min = min($min // (), @line[2,3]); # find min/max, skip undef
$max = max($max // (), @line[2,3]);
$print = join "\t", "X", $line[1], $min, $max; # buffer the print
}
print $print;
__DATA__
1 9239 712 8571 +
1 start_codon 712 714 +
1 stop_codon 8569 8571 +
2 3882 24137 24264 +
2 start_codon 24137 24139 +
3 3882 24322 24391 +
4 3882 24490 26064 +
4 stop_codon 26062 26064 +
5 4972 26704 26740 +
5 start_codon 26704 26706 +
6 4972 26814 27170 +
7 4972 27257 27978 +
7 stop_codon 27976 27978 +
8 10048 40161 41114 -
8 start_codon 41112 41114 -
8 stop_codon 40161 40163 -
9 272 43167 43629 -
9 stop_codon 43167 43169 -
10 272 43755 44059 -
10 start_codon 44057 44059 -
输出:
9239 712 8571
3882 24137 26064
4972 26704 27978
10048 40161 41114
272 43167 44059
关于Perl 数据解析和插入行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14039330/
我一直在使用 AJAX 从我正在创建的网络服务中解析 JSON 数组时遇到问题。我的前端是一个简单的 ajax 和 jquery 组合,用于显示从我正在创建的网络服务返回的结果。 尽管知道我的数据库查
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我在尝试运行 Android 应用程序时遇到问题并收到以下错误 java.lang.NoClassDefFoundError: com.parse.Parse 当我尝试运行该应用时。 最佳答案 在这
有什么办法可以防止etree在解析HTML内容时解析HTML实体吗? html = etree.HTML('&') html.find('.//body').text 这给了我 '&' 但我想
我有一个有点疯狂的例子,但对于那些 JavaScript 函数作用域专家来说,它看起来是一个很好的练习: (function (global) { // our module number one
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 8 年前。 Improve th
我需要编写一个脚本来获取链接并解析链接页面的 HTML 以提取标题和其他一些数据,例如可能是简短的描述,就像您链接到 Facebook 上的内容一样。 当用户向站点添加链接时将调用它,因此在客户端启动
在 VS Code 中本地开发时,包解析为 C:/Users//AppData/Local/Microsoft/TypeScript/3.5/node_modules/@types//index而不是
我在将 json 从 php 解析为 javascript 时遇到问题 这是我的示例代码: //function MethodAjax = function (wsFile, param) {
我在将 json 从 php 解析为 javascript 时遇到问题 这是我的示例代码: //function MethodAjax = function (wsFile, param) {
我被赋予了将一种语言“翻译”成另一种语言的工作。对于使用正则表达式的简单逐行方法来说,源代码过于灵活(复杂)。我在哪里可以了解更多关于词法分析和解析器的信息? 最佳答案 如果你想对这个主题产生“情绪化
您好,我在解析此文本时遇到问题 { { { {[system1];1;1;0.612509325}; {[system2];1;
我正在为 adobe after effects 在 extendscript 中编写一些代码,最终变成了 javascript。 我有一个数组,我想只搜索单词“assemble”并返回整个 jc3_
我有这段代码: $(document).ready(function() { // }); 问题:FB_RequireFeatures block 外部的代码先于其内部的代码执行。因此 who
背景: netcore项目中有些服务是在通过中间件来通信的,比如orleans组件。它里面服务和客户端会指定网关和端口,我们只需要开放客户端给外界,服务端关闭端口。相当于去掉host,这样省掉了些
1.首先贴上我试验成功的代码 复制代码 代码如下: protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
什么是 XML? XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。 你可以通过本站学习 X
【PHP代码】 复制代码 代码如下: $stmt = mssql_init('P__Global_Test', $conn) or die("initialize sto
在SQL查询分析器执行以下代码就可以了。 复制代码代码如下: declare @t varchar(255),@c varchar(255) declare table_cursor curs
前言 最近练习了一些前端算法题,现在做个总结,以下题目都是个人写法,并不是标准答案,如有错误欢迎指出,有对某道题有新的想法的友友也可以在评论区发表想法,互相学习🤭 题目 题目一: 二维数组中的
我是一名优秀的程序员,十分优秀!