Mercurial > repos > mahtabm > ensembl
comparison variant_effect_predictor/Bio/EnsEMBL/Funcgen/SegmentationFeature.pm @ 0:1f6dce3d34e0
Uploaded
| author | mahtabm |
|---|---|
| date | Thu, 11 Apr 2013 02:01:53 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:1f6dce3d34e0 |
|---|---|
| 1 # | |
| 2 # Ensembl module for Bio::EnsEMBL::Funcgen::SegmentationFeature | |
| 3 # | |
| 4 # You may distribute this module under the same terms as Perl itself | |
| 5 | |
| 6 =head1 LICENSE | |
| 7 | |
| 8 Copyright (c) 1999-2011 The European Bioinformatics Institute and | |
| 9 Genome Research Limited. All rights reserved. | |
| 10 | |
| 11 This software is distributed under a modified Apache license. | |
| 12 For license details, please see | |
| 13 | |
| 14 http://www.ensembl.org/info/about/code_licence.html | |
| 15 | |
| 16 =head1 CONTACT | |
| 17 | |
| 18 Please email comments or questions to the public Ensembl | |
| 19 developers list at <ensembl-dev@ebi.ac.uk>. | |
| 20 | |
| 21 Questions may also be sent to the Ensembl help desk at | |
| 22 <helpdesk@ensembl.org>. | |
| 23 | |
| 24 | |
| 25 =head1 NAME | |
| 26 | |
| 27 Bio::EnsEMBL::SegmentationFeature - Genomic segmentation feature | |
| 28 | |
| 29 =head1 SYNOPSIS | |
| 30 | |
| 31 use Bio::EnsEMBL::Funcgen::SegmentationFeature; | |
| 32 | |
| 33 my $feature = Bio::EnsEMBL::Funcgen::SegmentationFeature->new( | |
| 34 -SLICE => $chr_1_slice, | |
| 35 -START => 1_000_000, | |
| 36 -END => 1_000_024, | |
| 37 -STRAND => 0, | |
| 38 -FEATURE_SET => $fset, | |
| 39 -FEATURE_TYPE => $ftype, | |
| 40 ); | |
| 41 | |
| 42 | |
| 43 | |
| 44 =head1 DESCRIPTION | |
| 45 | |
| 46 An SegmentationFeature object represents the genomic placement of a prediction | |
| 47 generated by the eFG analysis pipeline. This normally represents the | |
| 48 output of a peak calling analysis. It can have a score and/or a summit, the | |
| 49 meaning of which depend on the specific Analysis used to infer the feature. | |
| 50 For example, in the case of a feature derived from a peak call over a ChIP-seq | |
| 51 experiment, the score is the peak caller score, and summit is the point in the | |
| 52 feature where more reads align with the genome. | |
| 53 | |
| 54 =head1 SEE ALSO | |
| 55 | |
| 56 Bio::EnsEMBL::Funcgen::DBSQL::SegmentationFeatureAdaptor | |
| 57 | |
| 58 =cut | |
| 59 | |
| 60 use strict; | |
| 61 use warnings; | |
| 62 | |
| 63 package Bio::EnsEMBL::Funcgen::SegmentationFeature; | |
| 64 | |
| 65 use Bio::EnsEMBL::Utils::Argument qw( rearrange ); | |
| 66 use Bio::EnsEMBL::Utils::Exception qw( throw ); | |
| 67 use Bio::EnsEMBL::Funcgen::SetFeature; | |
| 68 | |
| 69 use vars qw(@ISA); | |
| 70 @ISA = qw(Bio::EnsEMBL::Funcgen::SetFeature); | |
| 71 | |
| 72 =head2 new | |
| 73 | |
| 74 Arg [-SLICE] : Bio::EnsEMBL::Slice - The slice on which this feature is. | |
| 75 Arg [-START] : int - The start coordinate of this feature relative to the start of | |
| 76 the slice it is sitting on. Coordinates start at 1 and are inclusive. | |
| 77 Arg [-END] : int -The end coordinate of this feature relative to the start of | |
| 78 the slice it is sitting on. Coordinates start at 1 and are inclusive. | |
| 79 Arg [-STRAND] : int - The orientation of this feature. Valid values are 1, -1 and 0. | |
| 80 Arg [-FEATURE_SET] : Bio::EnsEMBL::Funcgen::FeatureSet | |
| 81 Arg [-FEATURE_TYPE] : Bio::Ensembl::Funcgen::FeatureType | |
| 82 Arg [-DISPLAY_LABEL]: optional string - Display label for this feature | |
| 83 Arg [-SCORE] : optional int - Score assigned by analysis pipeline | |
| 84 Arg [-dbID] : optional int - Internal database ID. | |
| 85 Arg [-ADAPTOR] : optional Bio::EnsEMBL::DBSQL::BaseAdaptor - Database adaptor. | |
| 86 | |
| 87 Example : my $feature = Bio::EnsEMBL::Funcgen::SegmentationFeature->new | |
| 88 ( | |
| 89 -SLICE => $chr_1_slice, | |
| 90 -START => 1_000_000, | |
| 91 -END => 1_000_024, | |
| 92 -STRAND => -1, | |
| 93 -FEATURE_SET => $fset, | |
| 94 -FEATURE_TYPE => $ftype, | |
| 95 -DISPLAY_LABEL => $text, | |
| 96 -SCORE => $score, | |
| 97 ); | |
| 98 | |
| 99 | |
| 100 Description: Constructor for SegmentationFeature objects. | |
| 101 Returntype : Bio::EnsEMBL::Funcgen::SegmentationFeature | |
| 102 Exceptions : None | |
| 103 Caller : General | |
| 104 Status : Medium Risk | |
| 105 | |
| 106 =cut | |
| 107 | |
| 108 sub new { | |
| 109 my $caller = shift; | |
| 110 | |
| 111 my $class = ref($caller) || $caller; | |
| 112 my $self = $class->SUPER::new(@_); | |
| 113 #Hard code strand => 0 here? And remove from input params? | |
| 114 my ($score, $ftype) = rearrange(['SCORE', 'FEATURE_TYPE'], @_); | |
| 115 | |
| 116 #test ftype as SetFeature method defaults to feature_set->feature_type | |
| 117 throw('You must pass a valid FeatureType') if ! defined $ftype; | |
| 118 | |
| 119 $self->{score} = $score if $score; | |
| 120 $self->{feature_type} = $ftype; | |
| 121 | |
| 122 return $self; | |
| 123 } | |
| 124 | |
| 125 | |
| 126 =head2 score | |
| 127 | |
| 128 Arg [1] : (optional) int - score | |
| 129 Example : my $score = $feature->score(); | |
| 130 Description: Getter and setter for the score attribute for this feature. | |
| 131 Returntype : int | |
| 132 Exceptions : None | |
| 133 Caller : General | |
| 134 Status : At Risk | |
| 135 | |
| 136 =cut | |
| 137 | |
| 138 sub score { | |
| 139 my $self = shift; | |
| 140 return $self->{'score'}; | |
| 141 } | |
| 142 | |
| 143 | |
| 144 =head2 display_label | |
| 145 | |
| 146 Example : my $label = $feature->display_label(); | |
| 147 Description: Getter for the display label of this feature. | |
| 148 Returntype : String | |
| 149 Exceptions : None | |
| 150 Caller : General | |
| 151 Status : At Risk | |
| 152 | |
| 153 =cut | |
| 154 | |
| 155 sub display_label { | |
| 156 my $self = shift; | |
| 157 | |
| 158 if(! $self->{'display_label'} && $self->adaptor){ | |
| 159 $self->{'display_label'} = $self->feature_type->name()." -"; | |
| 160 $self->{'display_label'} .= " ".$self->cell_type->name(); | |
| 161 } | |
| 162 | |
| 163 return $self->{'display_label'}; | |
| 164 } | |
| 165 | |
| 166 | |
| 167 1; | |
| 168 |
