annotate variant_effect_predictor/Bio/EnsEMBL/Funcgen/SegmentationFeature.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::SegmentationFeature
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 # You may distribute this module under the same terms as Perl itself
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::SegmentationFeature - Genomic segmentation feature
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 use Bio::EnsEMBL::Funcgen::SegmentationFeature;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 my $feature = Bio::EnsEMBL::Funcgen::SegmentationFeature->new(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 -SLICE => $chr_1_slice,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 -START => 1_000_000,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 -END => 1_000_024,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 -STRAND => 0,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 -FEATURE_SET => $fset,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 -FEATURE_TYPE => $ftype,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 An SegmentationFeature object represents the genomic placement of a prediction
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 generated by the eFG analysis pipeline. This normally represents the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 output of a peak calling analysis. It can have a score and/or a summit, the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 meaning of which depend on the specific Analysis used to infer the feature.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 For example, in the case of a feature derived from a peak call over a ChIP-seq
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 experiment, the score is the peak caller score, and summit is the point in the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52 feature where more reads align with the genome.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54 =head1 SEE ALSO
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 Bio::EnsEMBL::Funcgen::DBSQL::SegmentationFeatureAdaptor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 use warnings;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 package Bio::EnsEMBL::Funcgen::SegmentationFeature;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 use Bio::EnsEMBL::Utils::Argument qw( rearrange );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66 use Bio::EnsEMBL::Utils::Exception qw( throw );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 use Bio::EnsEMBL::Funcgen::SetFeature;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 use vars qw(@ISA);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 @ISA = qw(Bio::EnsEMBL::Funcgen::SetFeature);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 =head2 new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 Arg [-SLICE] : Bio::EnsEMBL::Slice - The slice on which this feature is.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75 Arg [-START] : int - The start coordinate of this feature relative to the start of
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 the slice it is sitting on. Coordinates start at 1 and are inclusive.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 Arg [-END] : int -The end coordinate of this feature relative to the start of
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 the slice it is sitting on. Coordinates start at 1 and are inclusive.
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 [-FEATURE_SET] : Bio::EnsEMBL::Funcgen::FeatureSet
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 Arg [-FEATURE_TYPE] : Bio::Ensembl::Funcgen::FeatureType
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 Arg [-DISPLAY_LABEL]: optional string - Display label for this feature
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 Arg [-SCORE] : optional int - Score assigned by analysis pipeline
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 Arg [-dbID] : optional int - Internal database ID.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 Arg [-ADAPTOR] : optional Bio::EnsEMBL::DBSQL::BaseAdaptor - Database adaptor.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 Example : my $feature = Bio::EnsEMBL::Funcgen::SegmentationFeature->new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 (
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 -SLICE => $chr_1_slice,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 -START => 1_000_000,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 -END => 1_000_024,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92 -STRAND => -1,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93 -FEATURE_SET => $fset,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 -FEATURE_TYPE => $ftype,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95 -DISPLAY_LABEL => $text,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 -SCORE => $score,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 Description: Constructor for SegmentationFeature objects.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101 Returntype : Bio::EnsEMBL::Funcgen::SegmentationFeature
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 Status : Medium Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 my $caller = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 my $class = ref($caller) || $caller;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 my $self = $class->SUPER::new(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 #Hard code strand => 0 here? And remove from input params?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 my ($score, $ftype) = rearrange(['SCORE', 'FEATURE_TYPE'], @_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 #test ftype as SetFeature method defaults to feature_set->feature_type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117 throw('You must pass a valid FeatureType') if ! defined $ftype;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 $self->{score} = $score if $score;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 $self->{feature_type} = $ftype;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 =head2 score
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 Arg [1] : (optional) int - score
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 Example : my $score = $feature->score();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 Description: Getter and setter for the score attribute for this feature.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131 Returntype : int
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 sub score {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 return $self->{'score'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 =head2 display_label
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 Example : my $label = $feature->display_label();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 Description: Getter for the display label of this feature.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 Returntype : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149 Exceptions : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 Caller : General
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 Status : At Risk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155 sub display_label {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 if(! $self->{'display_label'} && $self->adaptor){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 $self->{'display_label'} = $self->feature_type->name()." -";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 $self->{'display_label'} .= " ".$self->cell_type->name();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 return $self->{'display_label'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168