以下子程序在我的计算机中需要12秒才能执行:
sub trans() {
$trans = "";
foreach $nuc (@array) {
foreach $k (keys %hash) {
if ($nuc eq $k) {
$w = $hash{$k};
$trans .= $w;
last;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
代码继续生成内容为$ trans的文件.正如我所说,这需要12秒.问题是我必须生成256个输出文件......这需要太长时间.....
任何优化它的想法?
我应该有这样的输出:
AAAA
AAAG
AAAC
AAAT
AAGA
AAGG
...
Run Code Online (Sandbox Code Playgroud)
我想先用数字做这个,将"A"表示为1,将"G"表示为2,等等......
1111
1112
...
Run Code Online (Sandbox Code Playgroud)
然后将1转换为"A",依此类推.我找到了这个函数expand.grid
,但这给了我一个包含4个变量(4列)的数据框,每个变量都有一个数字.
你还有其他想法吗?
提前致谢.
我一直试图自己解决这个问题,我在Google上找了一些帮助,但无论如何我都无法继续.非常感谢您提供的任何帮助!
所以,我有一个字符串,例如:
CTGGCAAGAAAGAAATGTGGAATGGCAACAAAGAAAGGAAAAAAAATCAATACTGGCTGATGCAGTTTC
Run Code Online (Sandbox Code Playgroud)
我正在寻找这个输出:
CTG GCA AGA AAG AAA TGT GGA ATG GCA ACA AAG AAA GGA AAA AAA ATC AAT ACT GGC TGA TGC AGT TTC
Run Code Online (Sandbox Code Playgroud)
我可以在Python或Perl中快速完成,但我需要在这里使用AWK.
非常感谢,人们!我很感激.
我有以下代码:
foreach $string (@strings) {
if ($hash{$string}) {
$letter = $hash{$string};
$text .= $letter;
}
}
Run Code Online (Sandbox Code Playgroud)
其中$letter
是一个字符或一个数字(例如:a,e,o,2,5 ......).它会创建一个精美的文本,但我在添加数字0时遇到问题.
如果$letter = 0
它没有连接,例如给出28
而不是2008
.但是,如果$letter
在那一刻是1
或者aaaa
,它给出2118
或2aaaaaaaa8
.
我认为它可能是与Perl相关的0和FALSE ...可能是?
非常感谢.
我有一个哈希:
while( my( $key, $value ) = each %sorted_features ){
print "$key: $value\n";
}
Run Code Online (Sandbox Code Playgroud)
但我无法获得正确的价值$value
.它给了我:
intron: ARRAY(0x3430440)
source: ARRAY(0x34303b0)
exon: ARRAY(0x34303f8)
sig_peptide: ARRAY(0x33f0a48)
mat_peptide: ARRAY(0x3430008)
Run Code Online (Sandbox Code Playgroud)
为什么?
有没有办法转换这些数据:
(Intercept) Timecoursecdc15 Timecoursecdc28 Timecourseclb Timecoursecln
YAL001C FALSE FALSE FALSE FALSE FALSE
YAL002W FALSE FALSE FALSE FALSE FALSE
YAL003W FALSE FALSE FALSE FALSE FALSE
YAL004W FALSE FALSE FALSE FALSE FALSE
YAL005C FALSE FALSE FALSE FALSE FALSE
YAL007C FALSE FALSE FALSE FALSE TRUE
Run Code Online (Sandbox Code Playgroud)
这样的事情:
YPR163C YPR164W YPR165W YPR166C YPR167C YPR168W YPR169W YPR170C
FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
YPR171W YPR172W YPR173C YPR174C YPR175W YPR176C YPR177C YPR178W
FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
YPR179C YPR180W YPR181C YPR182W YPR183W …
Run Code Online (Sandbox Code Playgroud) 我这样做有问题:
$contents = do { local $/; <SEQ> };
$contents =~ "s/\n/ /g";
print $contents;
Run Code Online (Sandbox Code Playgroud)
我想将文件的所有行加入一个.但是,它不起作用......
知道我的代码发生了什么吗?
谢谢.
我没有找到任何关于此含义的信息:
case ${!i} in
--fa)
((i+=1))
fa=${!i}
;;
Run Code Online (Sandbox Code Playgroud)
是什么意思${!i}
?是什么意思((i+=1))
?