亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 求助,從23個(gè)多重哈希里找出一個(gè)鍵在哪個(gè)哈希名里面? [打印本頁(yè)]

作者: 賽萌    時(shí)間: 2015-10-16 19:45
標(biāo)題: 求助,從23個(gè)多重哈希里找出一個(gè)鍵在哪個(gè)哈希名里面?
chrY        16984482        16984483        rs3894        0        -
chrY        2876586        2876587        rs3895        0        -
chrY        19448059        19448060        rs3896        0        +
讀23個(gè)上述格式的文件,把這些文件的第一列,第三列,和第四列讀到23個(gè)哈希里,如
$chr1{$dbSNP}{$chr}{$position} = 1;
$chr2{$dbSNP}{$chr}{$position} = 1;
需要從23個(gè)哈希里找到$dbSNP是rs45對(duì)應(yīng)的$chr,和$position,請(qǐng)問(wèn)該怎么辦?
作者: MMMIX    時(shí)間: 2015-10-16 21:08
回復(fù) 1# 賽萌


   
多重循環(huán)即可:

  @chr = (\%chr1, \%chr2, ...);

  my ($final_idx, $final_dbSNP, $final_chr);

OUTER:
  for ($idx = 0; $idx < @chr; ++$idx) {
    while (my ($dbSNP, $chrs) = each %{ $chr[$idx] }) {
      while (my ($chr, $poss) = each %$chrs) {
        for my $pos (keys %$poss) {
          if ($pos eq 'rs45') {
            $final_idx = $idx;
            $final_dbSNP = $dbSNP;
            $final_chr = $chr;
            last OUTER;
          }
        }
      }
    }
  }

作者: 104359176    時(shí)間: 2015-10-18 21:23
要建立文件名和文件解析生成的哈希的映射表。這樣如果找到對(duì)應(yīng)的 key, 就可以返回文件名了。
  1. foreach my ($file_name, $table) (each %file_hash_table) {
  2.     if (find_key_in_hash($key, $table)) {
  3.         say "find $key in $file_name";
  4.     }
  5. }
復(fù)制代碼





歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2