0
|
1 =head1 LICENSE
|
|
2
|
|
3 Copyright (c) 1999-2012 The European Bioinformatics Institute and
|
|
4 Genome Research Limited. All rights reserved.
|
|
5
|
|
6 This software is distributed under a modified Apache license.
|
|
7 For license details, please see
|
|
8
|
|
9 http://www.ensembl.org/info/about/code_licence.html
|
|
10
|
|
11 =head1 CONTACT
|
|
12
|
|
13 Please email comments or questions to the public Ensembl
|
|
14 developers list at <dev@ensembl.org>.
|
|
15
|
|
16 Questions may also be sent to the Ensembl help desk at
|
|
17 <helpdesk@ensembl.org>.
|
|
18
|
|
19 =cut
|
|
20
|
|
21 =head1 NAME
|
|
22
|
|
23 Bio::EnsEMBL::ProteinFeature
|
|
24
|
|
25 =head1 SYNOPSIS
|
|
26
|
|
27 my $feature = Bio::EnsEMBL::ProteinFeature->new(
|
|
28 -start => $start,
|
|
29 -end => $end,
|
|
30 -hstart => $hit_start,
|
|
31 -hend => $hit_end,
|
|
32 -hseqname => $hit_name
|
|
33 );
|
|
34
|
|
35 =head1 DESCRIPTION
|
|
36
|
|
37 ProteinFeature objects represent domains or other features of interest
|
|
38 on a peptide sequence.
|
|
39
|
|
40 =head1 METHODS
|
|
41
|
|
42 =cut
|
|
43
|
|
44 package Bio::EnsEMBL::ProteinFeature;
|
|
45
|
|
46 use strict;
|
|
47
|
|
48 use Bio::EnsEMBL::FeaturePair;
|
|
49 use Bio::EnsEMBL::Utils::Argument qw(rearrange);
|
|
50
|
|
51 use vars qw(@ISA);
|
|
52 @ISA = qw(Bio::EnsEMBL::FeaturePair);
|
|
53
|
|
54
|
|
55
|
|
56 =head2 new
|
|
57
|
|
58 Arg [IDESC] : (optional) string An interpro description
|
|
59 Arg [INTERPRO_AC] : (optional) string An interpro accession
|
|
60 Arg [TRANSLATION_ID] : (optional) integer A translation dbID
|
|
61 Arg [...] : named arguments to FeaturePair superclass
|
|
62 Example :
|
|
63
|
|
64 $pf =
|
|
65 Bio::EnsEMBL::ProteinFeature->new( -IDESC => $idesc,
|
|
66 -INTERPRO_AC => $iac,
|
|
67 @fp_args );
|
|
68
|
|
69 Description: Instantiates a Bio::EnsEMBL::ProteinFeature
|
|
70 Returntype : Bio::EnsEMBL::FeaturePair
|
|
71 Exceptions : none
|
|
72 Caller : general
|
|
73 Status : Stable
|
|
74
|
|
75 =cut
|
|
76
|
|
77 sub new {
|
|
78 my $proto = shift;
|
|
79
|
|
80 my $class = ref($proto) || $proto;
|
|
81
|
|
82 my ( $idesc, $interpro_ac, $translation_id ) =
|
|
83 rearrange( [ 'IDESC', 'INTERPRO_AC', 'TRANSLATION_ID' ], @_ );
|
|
84
|
|
85 my $self = $class->SUPER::new(@_);
|
|
86
|
|
87 # the strand of protein features is always 0
|
|
88 $self->{'strand'} = 0;
|
|
89 $self->{'idesc'} = $idesc || '';
|
|
90 $self->{'interpro_ac'} = $interpro_ac || '';
|
|
91 $self->{'translation_id'} = $translation_id || '';
|
|
92
|
|
93 return $self;
|
|
94 }
|
|
95
|
|
96
|
|
97 =head2 strand
|
|
98
|
|
99 Arg [1] : Ignored
|
|
100 Description: Overwrites Bio::EnsEMBL::Feature->strand to not allow
|
|
101 : the strand to be set.
|
|
102 Returntype : int
|
|
103 Status : Stable
|
|
104
|
|
105 =cut
|
|
106
|
|
107 #do not allow the strand to be set
|
|
108 sub strand {
|
|
109 my $self = shift;
|
|
110 return $self->{'strand'};
|
|
111 }
|
|
112
|
|
113
|
|
114
|
|
115 =head2 idesc
|
|
116
|
|
117 Arg [1] : (optional) string The interpro description
|
|
118 Example : print $protein_feature->idesc();
|
|
119 Description: Getter/Setter for the interpro description of this protein
|
|
120 feature.
|
|
121 Returntype : string
|
|
122 Exceptions : none
|
|
123 Caller : general
|
|
124 Status : Stable
|
|
125
|
|
126 =cut
|
|
127
|
|
128 sub idesc{
|
|
129 my $self = shift;
|
|
130 $self->{'idesc'} = shift if(@_);
|
|
131 return $self->{'idesc'};
|
|
132 }
|
|
133
|
|
134
|
|
135
|
|
136 =head2 interpro_ac
|
|
137
|
|
138 Arg [1] : (optional) string The interpro accession
|
|
139 Example : print $protein_feature->interpro_ac();
|
|
140 Description: Getter/Setter for the interpro accession of this protein
|
|
141 feature.
|
|
142 Returntype : string
|
|
143 Exceptions : none
|
|
144 Caller : general
|
|
145 Status : Stable
|
|
146
|
|
147 =cut
|
|
148
|
|
149 sub interpro_ac{
|
|
150 my $self = shift;
|
|
151 $self->{'interpro_ac'} = shift if(@_);
|
|
152 return $self->{'interpro_ac'};
|
|
153 }
|
|
154
|
|
155
|
|
156 =head2 translation_id
|
|
157
|
|
158 Arg [1] : (optional) integer The dbID of the translation
|
|
159 Example : print $protein_feature->translation_id();
|
|
160 Description: Getter/Setter for the translation dbID of this protein
|
|
161 feature.
|
|
162 Returntype : string
|
|
163 Exceptions : none
|
|
164 Caller : general
|
|
165 Status : Stable
|
|
166
|
|
167 =cut
|
|
168
|
|
169 sub translation_id {
|
|
170 my $self = shift;
|
|
171 $self->{'translation_id'} = shift if (@_);
|
|
172 return $self->{'translation_id'};
|
|
173 }
|
|
174
|
|
175 1;
|