Mercurial > repos > mahtabm > ensembl
diff variant_effect_predictor/Bio/EnsEMBL/Funcgen/InputSubset.pm @ 0:1f6dce3d34e0
Uploaded
author | mahtabm |
---|---|
date | Thu, 11 Apr 2013 02:01:53 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/variant_effect_predictor/Bio/EnsEMBL/Funcgen/InputSubset.pm Thu Apr 11 02:01:53 2013 -0400 @@ -0,0 +1,210 @@ +# +# Ensembl module for Bio::EnsEMBL::Funcgen::InputSubset +# + + +=head1 LICENSE + + Copyright (c) 1999-2012 The European Bioinformatics Institute and + Genome Research Limited. All rights reserved. + + This software is distributed under a modified Apache license. + For license details, please see + + http://www.ensembl.org/info/about/code_licence.html + +=head1 CONTACT + + Please email comments or questions to the public Ensembl + developers list at <ensembl-dev@ebi.ac.uk>. + + Questions may also be sent to the Ensembl help desk at + <helpdesk@ensembl.org>. + + +=head1 NAME + +Bio::EnsEMBL::InputSubset - A module to represent InputSubset object. + + +=head1 SYNOPSIS + +use Bio::EnsEMBL::Funcgen::InputSubset; + +my $input_subset = Bio::EnsEMBL::Funcgen::InputSubset->new + ( + -DBID => $dbID, + -ADAPTOR => $self, + -NAME => $name, + -INPUT_SET => $iset, + -archive_id => $archive_id, + -display_url => $display_url, + -replicate => $iss_rep, + -is_control => $is_control, + ); + + + +=head1 DESCRIPTION + +An InputSubset object represents an individual distinct input within a given InputSet. This +normally translates to single file or replicate. There is no dedicated InputSubsetAdaptor, +store and fetch functionality is embedded within the InputSetAdaptor. + +=cut + +use strict; +use warnings; + +package Bio::EnsEMBL::Funcgen::InputSubset; + +use Bio::EnsEMBL::Utils::Argument qw( rearrange ); +use Bio::EnsEMBL::Utils::Exception qw( throw ); +use Bio::EnsEMBL::Funcgen::Storable; + +use vars qw(@ISA); +@ISA = qw(Bio::EnsEMBL::Funcgen::Storable); + + +=head2 new + + Example : my $eset = Bio::EnsEMBL::Funcgen::InputSubset->new + ( + -DBID => $dbID, + -ADAPTOR => $self, + -NAME => $name, + -INPUT_SET => $iset, + -archive_id => $archive_id, + -display_url => $display_url, + -replicate => $iss_rep, + -is_control => $is_control, + ); + + + Description: Constructor for InputSubset objects. + Returntype : Bio::EnsEMBL::Funcgen::InputSubset + Exceptions : Throws if no name defined + Caller : InputSetAdaptor + Status : At risk + +=cut + +sub new { + my $caller = shift; + + my $class = ref($caller) || $caller; + + my $self = $class->SUPER::new(@_); + + #do we need to add $fg_ids to this? Currently maintaining one feature_group focus.(combi exps?) + my ($name, $eset, $archive_id, + $display_url, $rep, $is_control) + = rearrange(['NAME', 'INPUT_SET', 'ARCHIVE_ID', + 'DISPLAY_URL', 'REPLICATE', 'IS_CONTROL'], @_); + + + throw('Must provide a name argument') if ! defined $name; + + if(!(ref($eset) && + $eset->isa('Bio::EnsEMBL::Funcgen::InputSet') + && $eset->dbID())){ + throw('Must provide a valid stored input_set argument'); + } + + + $self->{name} = $name; + $self->{input_set} = $eset; + $self->{archive_id} = $archive_id; + $self->{display_url} = $display_url; + $self->{replicate} = $rep; + $self->{is_control} = $is_control; + + return $self; +} + + +=head2 name + + Example : my $name = $exp_sset->name(); + Description: Getter for the name of this InputSubset. + Returntype : String + Exceptions : None + Caller : General + Status : At Risk + +=cut + +sub name { return $_[0]->{name}; } + + +=head2 input_set + + Example : my $input_set = $input_sset->input_set; + Description: Getter for the input_set attribute of this InputSubset. + Returntype : Bio::EnsEMBL::Funcgen::InputSet + Exceptions : None + Caller : General + Status : At Risk + +=cut + +sub input_set { return $_[0]->{input_set}; } + + +=head2 archive_id + + Example : my $archive_id = $inp_sset->archive_id; + Description: Getter for the archive of this InputSubset. + Returntype : String + Exceptions : None + Caller : General + Status : At Risk + +=cut + +sub archive_id { return $_[0]->{archive_id}; } + + +=head2 display_url + + Example : my $url = $inp_sset->displau_url; + Description: Getter for the display_url of this InputSubset. + Returntype : String + Exceptions : None + Caller : General + Status : At Risk + +=cut + +sub display_url{ return $_[0]->{display_url}; } + + +=head2 replicate + + Example : my $rep = $inp_sset->replicate; + Description: Getter for the replicate attribute of this InputSubset. + Returntype : Integer + Exceptions : None + Caller : General + Status : At Risk + +=cut + +sub replicate { return $_[0]->{replicate}; } + + +=head2 is_control + + Example : if($input_sset->is_control){ # Do some control specific stuff here } + Description: Getter for the is_control attribute of this InputSubset. + Returntype : Boolean + Exceptions : None + Caller : General + Status : At Risk + +=cut + +sub is_control { return $_[0]->{is_control}; } + +1; +