小编use*_*545的帖子

Perl中的慢循环

以下子程序在我的计算机中需要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个输出文件......这需要太长时间.....

任何优化它的想法?

perl performance loops

5
推荐指数
3
解决办法
411
查看次数

R.字母组合

我应该有这样的输出:

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列)的数据框,每个变量都有一个数字.

你还有其他想法吗?

提前致谢.

combinations r

3
推荐指数
1
解决办法
2393
查看次数

AWK:将一个字符串拆分成碎片

我一直试图自己解决这个问题,我在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.

非常感谢,人们!我很感激.

string awk split

2
推荐指数
1
解决办法
81
查看次数

Perl,0的串联

我有以下代码:

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,它给出21182aaaaaaaa8.

我认为它可能是与Perl相关的0和FALSE ...可能是?

非常感谢.

perl hash

2
推荐指数
1
解决办法
63
查看次数

Hash不会在Perl中打印

我有一个哈希:

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)

为什么?

perl hash

1
推荐指数
1
解决办法
93
查看次数

查找逻辑矩阵的每一行是否至少有一个TRUE

有没有办法转换这些数据:

        (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)

r matrix

1
推荐指数
3
解决办法
6164
查看次数

Perl:将内容文件转换为标量变量

我这样做有问题:

$contents = do { local $/;  <SEQ> };
$contents =~ "s/\n/ /g";
print $contents;
Run Code Online (Sandbox Code Playgroud)

我想将文件的所有行加入一个.但是,它不起作用......

知道我的代码发生了什么吗?

谢谢.

perl scalar file

0
推荐指数
1
解决办法
154
查看次数

${!i} 在 bash 中做什么?在这种情况下,((i+=1)) 的效果是什么?

我没有找到任何关于此含义的信息:

case ${!i} in
     --fa)
       ((i+=1))
       fa=${!i}
       ;;
Run Code Online (Sandbox Code Playgroud)

是什么意思${!i}?是什么意思((i+=1))

bash switch-statement

0
推荐指数
2
解决办法
862
查看次数

标签 统计

perl ×4

hash ×2

r ×2

awk ×1

bash ×1

combinations ×1

file ×1

loops ×1

matrix ×1

performance ×1

scalar ×1

split ×1

string ×1

switch-statement ×1