annotate variant_effect_predictor/Bio/EnsEMBL/Funcgen/ExternalFeature.pm @ 3:d30fa12e4cc5 default tip

Merge heads 2:a5976b2dce6f and 1:09613ce8151e which were created as a result of a recently fixed bug.
author devteam <devteam@galaxyproject.org>
date Mon, 13 Jan 2014 10:38:30 -0500
parents 1f6dce3d34e0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2 # Ensembl module for Bio::EnsEMBL::Funcgen::ExternalFeature
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6 =head1 LICENSE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8 Copyright (c) 1999-2011 The European Bioinformatics Institute and
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9 Genome Research Limited. All rights reserved.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11 This software is distributed under a modified Apache license.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12 For license details, please see
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14 http://www.ensembl.org/info/about/code_licence.html
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16 =head1 CONTACT
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18 Please email comments or questions to the public Ensembl
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19 developers list at <ensembl-dev@ebi.ac.uk>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 Questions may also be sent to the Ensembl help desk at
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22 <helpdesk@ensembl.org>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27 Bio::EnsEMBL::ExternalFeature - A module to represent an externally curated feature
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28 mapping from an external_db.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 use Bio::EnsEMBL::Funcgen::ExternalFeature;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 my $feature = Bio::EnsEMBL::Funcgen::ExternalFeature->new(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 -SLICE => $chr_1_slice,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 -START => 1_000_000,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 -END => 1_000_024,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 -STRAND => -1,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 -DISPLAY_LABEL => $text,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40 -FEATURE_SET => $fset,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 -FEATURE_TYPE => $ftype,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 An ExternalFeature object represents the genomic placement of an externally curated
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 feature from and DB external to Ensembl.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54 use warnings;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 package Bio::EnsEMBL::Funcgen::ExternalFeature;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 use Bio::EnsEMBL::Utils::Argument qw( rearrange );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59 use Bio::EnsEMBL::Utils::Exception qw( throw );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 use Bio::EnsEMBL::Funcgen::SetFeature;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 use Bio::EnsEMBL::Funcgen::FeatureType;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 use vars qw(@ISA);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64 @ISA = qw(Bio::EnsEMBL::Funcgen::SetFeature);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 =head2 new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 Arg [-FEATURE_SET] : Bio::EnsEMBL::Funcgen::FeatureSet
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71 Arg [-FEATURE_TYPE] : Bio::EnsEMBL::Funcgen::FeatureType
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 Arg [-ANALYSIS] : Bio::EnsEMBL::Analysis
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 Arg [-SLICE] : Bio::EnsEMBL::Slice - The slice on which this feature is.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 Arg [-START] : int - The start coordinate of this feature relative to the start of the slice
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75 it is sitting on. Coordinates start at 1 and are inclusive.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 Arg [-END] : int -The end coordinate of this feature relative to the start of the slice
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 it is sitting on. Coordinates start at 1 and are inclusive.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 Arg [-DISPLAY_LABEL]: string - Display label for this feature
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 Arg [-STRAND] : int - The orientation of this feature. Valid values are 1, -1 and 0.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 Arg [-dbID] : (optional) int - Internal database ID.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 Arg [-ADAPTOR] : (optional) Bio::EnsEMBL::DBSQL::BaseAdaptor - Database adaptor.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 Example : my $feature = Bio::EnsEMBL::Funcgen::ExternalFeature->new(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 -SLICE => $chr_1_slice,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 -START => 1_000_000,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 -END => 1_000_024,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 -STRAND => -1,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 -DISPLAY_LABEL => $text,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 -FEATURE_SET => $fset,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 -FEATURE_TYPE => $ftpe,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93 Description: Constructor for ExternalFeature objects.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 Returntype : Bio::EnsEMBL::Funcgen::ExternalFeature
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 my $caller = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 my $class = ref($caller) || $caller;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 my $self = $class->SUPER::new(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107 #Remove this method if we interdb_stable_id to SetFeature
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 ($self->{'interdb_stable_id'}) = rearrange(['INTERDB_STABLE_ID'], @_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 =head2 interdb_stable_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 Arg [1] : (optional) int - stable_id e.g 1
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 Example : my $idb_sid = $feature->interdb_stable_id();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117 Description: Getter for the interdb_stable_id attribute for this feature.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 This is simply to avoid using internal db IDs for inter DB linking
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 Returntype : int
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 sub interdb_stable_id {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 return $_[0]->{'interdb_stable_id'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 =head2 display_label
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135 Example : my $label = $feature->display_label();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 Description: Getter for the display label of this feature.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 Returntype : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 Status : Medium risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 sub display_label {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 if(! $self->{'display_label'} && $self->adaptor){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149 $self->{'display_label'} = $self->feature_set->feature_type->name().' - ';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 $self->{'display_label'} .= $self->cell_type->name() if $self->cell_type();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 $self->{'display_label'} .= $self->feature_type->name() if(defined $self->{'feature_type'});
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 return $self->{'display_label'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160