File Coverage

lib/Bio/Tools/ProteinogenicAA.pm
Criterion Covered Total %
statement 10 12 83.3
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 14 16 87.5


line stmt bran cond sub pod time code
1             package Bio::Tools::ProteinogenicAA;
2              
3 1     1   16173 use v5.12;
  1         2  
  1         33  
4 1     1   4 use strict;
  1         0  
  1         22  
5 1     1   3 use warnings;
  1         4  
  1         24  
6 1     1   160 use Moose;
  0            
  0            
7             use namespace::autoclean;
8             use Bio::Tools::ProteinogenicAA::AAInfo;
9              
10             our $VERSION = '0.021';
11              
12             has 'aminoacids' => (
13             is => 'rw',
14             isa => 'ArrayRef[Bio::Tools::ProteinogenicAA::AAInfo]',
15             );
16              
17             sub BUILD {
18             my $self = shift;
19              
20             my @list = &create_list;
21             $self->aminoacids(\@list);
22              
23             }
24              
25             sub create_list {
26            
27             open ( my $data, '<', 'data/aminoacids.tsv' ) or die;
28             my @list;
29              
30             while ( my $line = <$data> ) {
31            
32             next if $line =~ m/^Amino/;
33             chomp $line;
34              
35             my $aa = Bio::Tools::ProteinogenicAA::AAInfo->new();
36              
37             my @info = split (/\,/, $line);
38            
39             $aa->amino_acid($info[0]);
40             $aa->short_name($info[1]);
41             $aa->abbreviation($info[2]);
42             $aa->pI($info[3]);
43             $aa->pK1($info[4]);
44             $aa->pK2($info[5]);
45             $aa->side_chain($info[6]);
46             $info[7] eq 'X' ? $aa->is_hydrophobic(1) : $aa->is_hydrophobic(0);
47             $info[8] eq 'X' ? $aa->is_polar(1) : $aa->is_polar(0);
48             $aa->pH($info[9]);
49             $aa->van_der_waals_volume($info[10]);
50             $aa->codons($info[11]);
51             $aa->formula($info[12]);
52             $aa->monoisotopic_mass($info[13]);
53             $aa->avg_mass($info[14]);
54            
55             push(@list, $aa);
56              
57             }
58            
59             return @list;
60             };
61              
62             1;