我正在尝试处理以下文件:
http://bioinfo.mc.vanderbilt.edu/TSGene/Human_716_TSGs.txt
...包含 700 多条记录,每条记录有 11 个制表符分隔的字段。每条记录由相同的重复类别组成,即GeneID、Gene_symbol、Alias、Xref、Chromosome、Cytoband、Full_name、Gene_type、Description、Nucleotide_Sequence 和Protein_Sequence。我想提取所有 GeneID(所有记录中的第一个字段)、所有细胞带和所有蛋白质序列,并构建一个复杂的数据结构,例如:
$genes->{$gene_name}{$cytoband} = $protein_sequence;
我的问题是我只能抓取第一条记录(11 个字段)并将它们分配给一个列表。我不知道如何捕获和存储包含一列的所有字段。我最初的尝试如下:
use strict;
use warnings;
use autodie;
my ($gene, $symbol, $alias, $xref,
$chromo, $cytoband, $full_name, $gene_type, $desc, $nuc_seq, $pro_seq);
open FH, '<', 'human_tsgs.txt';
my @data = do {local $/; <FH>};
close FH;
for (@data)
{
($gene, $symbol, $alias, $xref, $chromo, $cytoband,
$full_name, $gene_type, $desc, $nuc_seq, $pro_seq) = split "\t", $_;
#print $gene, "\n";
}
任何建设性的反馈将不胜感激。
谢谢!
凯特琳