1 package CXGN
::Tools
::Parse
::SignalP
;
4 =head1 CXGN::Tools::Parse::SignalP
6 Parses output from SignalP V 3.0 in short format
10 C. Carpita <csc32@cornell.edu>
18 Args: (opt) raw output data
20 Side: Calls parse() automatically if argument provided
26 my $self = bless {}, $class;
29 $self->{data
} = $data;
38 die "No file: $filename" unless (-f
$filename);
40 $self->{data
} .= $_ while <FH
>;
47 my $data = $self->{data
};
48 $self->{entries
} = [];
49 $self->{entry_by_id
} = {};
53 ($h{id
}, $h{nn_cmax
}, $h{nn_cpos
}, $h{nn_cdec
},
54 $h{nn_ymax
}, $h{nn_ypos
}, $h{nn_ydec
},
55 $h{nn_smax
}, $h{nn_spos
}, $h{nn_sdec
},
56 $h{nn_smean
}, $h{nn_smeandec
}, $h{nn_score
}, $h{nn_decision
},
57 $h{hmm_decision
}, $h{hmm_cmax
}, $h{hmm_cpos
}, $h{hmm_cdec
},
58 $h{hmm_sprob
}, $h{hmm_sdec
}
61 /^(\S+)\s+(\S+)\s+(\d+)\s+([NY])\s+(\S+)\s+(\d+)\s+([NY])\s+(\S+)\s+(\d+)\s+([NY])\s+(\S+)\s+([NY])\s+(\S+)\s+([NY])\s+\S+\s+([A-Z]+)\s+(\S+)\s+(\d+)\s+([NY])\s+(\S+)\s+([NY])/;
62 push(@
{$self->{entries
}}, \
%h);
63 $self->{entry_by_id
}->{$h{id
}} = \
%h;
70 return $self->{entry_by_id
}->{$id};
75 return @
{$self->{entries
}};