| 
0
 | 
     1 
 | 
| 
 | 
     2 package Bio::Pfam::HMM::HMMUnit;
 | 
| 
 | 
     3 
 | 
| 
 | 
     4 use strict;
 | 
| 
 | 
     5 use warnings;
 | 
| 
 | 
     6 
 | 
| 
 | 
     7 use Moose;
 | 
| 
 | 
     8 use Moose::Util::TypeConstraints;
 | 
| 
 | 
     9 
 | 
| 
 | 
    10 extends 'Bio::Pfam::HMM::HMMMatch';
 | 
| 
 | 
    11 
 | 
| 
 | 
    12 subtype 'Domain'
 | 
| 
 | 
    13     => as 'Int'
 | 
| 
 | 
    14     => where { $_ > 0 };
 | 
| 
 | 
    15               
 | 
| 
 | 
    16 #coerce 'Domain'
 | 
| 
 | 
    17 #  => from 'Str'
 | 
| 
 | 
    18 #    => via {
 | 
| 
 | 
    19 #      my $d;
 | 
| 
 | 
    20 #      if(/(\d+)\/\d+/){
 | 
| 
 | 
    21 #        $d = $1;
 | 
| 
 | 
    22 #      }
 | 
| 
 | 
    23 #      return $d;
 | 
| 
 | 
    24 #    };
 | 
| 
 | 
    25 #    
 | 
| 
 | 
    26   
 | 
| 
 | 
    27 #subtype 'proteinCoos'
 | 
| 
 | 
    28 #  => as 'Int'
 | 
| 
 | 
    29 #  => where { $_ > 0 && $_ < 100000 }
 | 
| 
 | 
    30 #  => message { 'Protein coordinates are expected to be positive and less the 100,000'};
 | 
| 
 | 
    31 
 | 
| 
 | 
    32 
 | 
| 
 | 
    33 has 'seqEvalue' => (
 | 
| 
 | 
    34   isa      => 'Num',
 | 
| 
 | 
    35   is       => 'rw',
 | 
| 
 | 
    36 );
 | 
| 
 | 
    37 
 | 
| 
 | 
    38 has 'domain' => (
 | 
| 
 | 
    39   isa     => 'Domain',
 | 
| 
 | 
    40   is       => 'rw'
 | 
| 
 | 
    41 );
 | 
| 
 | 
    42 
 | 
| 
 | 
    43 has 'seqFrom' => (
 | 
| 
 | 
    44   isa => 'Int',
 | 
| 
 | 
    45   is   => 'rw',
 | 
| 
 | 
    46   required => 1
 | 
| 
 | 
    47 );
 | 
| 
 | 
    48 
 | 
| 
 | 
    49 has 'seqTo' => (
 | 
| 
 | 
    50   isa => 'Int',
 | 
| 
 | 
    51   is  => 'rw',
 | 
| 
 | 
    52   required => 1
 | 
| 
 | 
    53 );
 | 
| 
 | 
    54 
 | 
| 
 | 
    55 #has 'indEvalue' => (  
 | 
| 
 | 
    56 #  isa => 'evalue',
 | 
| 
 | 
    57 #  is  => 'rw',
 | 
| 
 | 
    58 #  required => 1,
 | 
| 
 | 
    59 #);
 | 
| 
 | 
    60 
 | 
| 
 | 
    61 has 'domEvalue' => (
 | 
| 
 | 
    62   isa => 'evalue',
 | 
| 
 | 
    63   is  => 'rw',
 | 
| 
 | 
    64 );
 | 
| 
 | 
    65 
 | 
| 
 | 
    66 has 'hmmalign' => (
 | 
| 
 | 
    67   isa => 'HashRef',
 | 
| 
 | 
    68   is  => 'rw',
 | 
| 
 | 
    69   default => sub { {} },
 | 
| 
 | 
    70 );
 | 
| 
 | 
    71 
 | 
| 
 | 
    72 has 'hmmFrom' => (
 | 
| 
 | 
    73   isa => 'Int',
 | 
| 
 | 
    74   is   => 'rw',
 | 
| 
 | 
    75   required => 1
 | 
| 
 | 
    76 );
 | 
| 
 | 
    77 
 | 
| 
 | 
    78 has 'hmmTo' => (
 | 
| 
 | 
    79   isa => 'Int',
 | 
| 
 | 
    80   is  => 'rw',
 | 
| 
 | 
    81   required => 1
 | 
| 
 | 
    82 );
 | 
| 
 | 
    83 
 | 
| 
 | 
    84 has 'envFrom' => (
 | 
| 
 | 
    85   isa => 'Int',
 | 
| 
 | 
    86   is   => 'rw'
 | 
| 
 | 
    87 );
 | 
| 
 | 
    88 
 | 
| 
 | 
    89 has 'envTo' => (
 | 
| 
 | 
    90   isa => 'Int',
 | 
| 
 | 
    91   is  => 'rw'
 | 
| 
 | 
    92 );
 | 
| 
 | 
    93 
 | 
| 
 | 
    94 has 'coreFrom' => (
 | 
| 
 | 
    95   isa => 'Str',
 | 
| 
 | 
    96   is   => 'rw'
 | 
| 
 | 
    97 );
 | 
| 
 | 
    98 
 | 
| 
 | 
    99 has 'coreTo' => (
 | 
| 
 | 
   100   isa => 'Str',
 | 
| 
 | 
   101   is  => 'rw'
 | 
| 
 | 
   102 );
 | 
| 
 | 
   103 
 | 
| 
 | 
   104 has 'aliAcc' => (
 | 
| 
 | 
   105   isa => 'Num',
 | 
| 
 | 
   106   is  => 'rw'
 | 
| 
 | 
   107 );
 | 
| 
 | 
   108 
 | 
| 
 | 
   109 has 'sig' => (
 | 
| 
 | 
   110   isa => 'Int',
 | 
| 
 | 
   111   is  => 'rw'
 | 
| 
 | 
   112 );
 | 
| 
 | 
   113 
 | 
| 
 | 
   114 
 | 
| 
 | 
   115 __PACKAGE__->meta->make_immutable;
 | 
| 
 | 
   116 
 | 
| 
 | 
   117 =head1 COPYRIGHT
 | 
| 
 | 
   118 
 | 
| 
 | 
   119 Copyright (c) 2007: Genome Research Ltd.
 | 
| 
 | 
   120 
 | 
| 
 | 
   121 Authors: Rob Finn (rdf@sanger.ac.uk), John Tate (jt6@sanger.ac.uk)
 | 
| 
 | 
   122 
 | 
| 
 | 
   123 This is free software; you can redistribute it and/or modify it under
 | 
| 
 | 
   124 the terms of the GNU General Public License as published by the Free Software
 | 
| 
 | 
   125 Foundation; either version 2 of the License, or (at your option) any later
 | 
| 
 | 
   126 version.
 | 
| 
 | 
   127 
 | 
| 
 | 
   128 This program is distributed in the hope that it will be useful, but WITHOUT
 | 
| 
 | 
   129 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 | 
| 
 | 
   130 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 | 
| 
 | 
   131 details.
 | 
| 
 | 
   132 
 | 
| 
 | 
   133 You should have received a copy of the GNU General Public License along with
 | 
| 
 | 
   134 this program. If not, see <http://www.gnu.org/licenses/>.
 | 
| 
 | 
   135 
 | 
| 
 | 
   136 =cut
 | 
| 
 | 
   137 
 | 
| 
 | 
   138 1;
 |