【发布时间】:2013-04-17 21:06:00
【问题描述】:
我正在尝试编写一个将拆分 fasta 标头的 perl 程序:
gi|4140243|dbj|AB022087.1|_Xenopus_laevis_mRNA_for_cytochrome_P450,_complete_cds,_clone_MC1
进入它的| 分离部分:
gi
4140243
dbj
AB022087.1
_Xenopus_laevis_mRNA_for_cytochrome_P450,_complete_cds,_clone_MC1
我可以使用split:
my @hits = split(/\|/, $hits);
my ($gi, $number, $gb, $id, $name);
foreach (@hits) {
$gi.= "$hits[0]\n";
$number .= "$hits[1]\n";
$gb .= "$hits[2]\n";
$id .= "$hits[3]\n";
$name .= "$hits[4]\n";
}
my @gi = split('\n', $gi);
my @number = split('\n', $number);
my @gb = split('\n', $gb);
my @id = split('\n', $id);
my @name = split('\n', $name);
现在每个标题的每个部分(包含在$hits 中)都是单个数组中的一个元素。我接下来要做的是打印回每个数组的每个元素,这样我就可以为每个数组生成一个元素 [0] 的列表,为每个数组生成一个元素 [1]...
我不确定这是否需要散列散列或数组数组。
我对 perl 还很陌生,所以任何建议都会很有帮助。
我也知道,上述方法可能不是实现我想要的最巧妙的方法 - 任何 cmets 都会很棒!
【问题讨论】:
标签: arrays perl hash bioinformatics