diff variant_effect_predictor/Bio/EnsEMBL/Variation/StructuralVariation.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/Variation/StructuralVariation.pm	Thu Apr 11 02:01:53 2013 -0400
@@ -0,0 +1,122 @@
+=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 <dev@ensembl.org>.
+
+ Questions may also be sent to the Ensembl help desk at
+ <helpdesk@ensembl.org>.
+
+=cut
+
+# Ensembl module for Bio::EnsEMBL::Variation::StructuralVariation
+#
+# Copyright (c) 2004 Ensembl
+#
+
+
+=head1 NAME
+
+Bio::EnsEMBL::Variation::StructuralVariation - Ensembl representation of a structural variation.
+
+=head1 SYNOPSIS
+
+    # Structural variation representing a CNV
+    $sv = Bio::EnsEMBL::Variation::StructuralVariation->new
+       (-variation_name => 'esv25480',
+				-class_so_term => 'structural_variant',
+				-source => 'DGVa',
+				-source_description => 'Database of Genomic Variants Archive',
+				-study_name => 'estd20',
+				-study_description => 'Conrad 2009 "Origins and functional impact of copy number variation in the human genome." PMID:19812545 [remapped from build NCBI36]',
+				-study_url => 'ftp://ftp.ebi.ac.uk/pub/databases/dgva/estd20_Conrad_et_al_2009',
+				-external_reference => 'pubmed/19812545');
+
+    ...
+
+    print $sv->name(), ":", $sv->var_class();
+
+=head1 DESCRIPTION
+
+This is a class representing a structural variation from the
+ensembl-variation database. A structural variant may have a copy number variation, a tandem duplication, 
+an inversion of the sequence or others structural variations. 
+
+The position of a StructuralVariation object on the Genome is represented
+by the <Bio::EnsEMBL::Variation::StructuralVariationFeature> class.
+
+=head1 METHODS
+
+=cut
+
+use strict;
+use warnings;
+
+package Bio::EnsEMBL::Variation::StructuralVariation;
+
+use Bio::EnsEMBL::Variation::BaseStructuralVariation;
+
+our @ISA = ('Bio::EnsEMBL::Variation::BaseStructuralVariation');
+
+
+sub new {
+	my $caller = shift;
+	my $class = ref($caller) || $caller;
+	
+	my $self = Bio::EnsEMBL::Variation::BaseStructuralVariation->new(@_);
+	return(bless($self, $class));
+}
+
+=head2 get_all_SupportingStructuralVariants
+
+  Example     : $sv->get_all_SupportingStructuralVariants();
+  Description : Retrieves all SupportingStructuralVariation associated with this structural variation.
+                Return empty list if there are none.
+  Returntype  : reference to list of Bio::EnsEMBL::Variation::SupportingStructuralVariation objects
+  Exceptions  : None
+  Caller      : general
+  Status      : At Risk
+
+=cut
+
+sub get_all_SupportingStructuralVariants {
+	my $self = shift;
+	
+	if (defined ($self->{'adaptor'})){
+		my $ssv_adaptor = $self->{'adaptor'}->db()->get_SupportingStructuralVariationAdaptor();
+		return $ssv_adaptor->fetch_all_by_StructuralVariation($self);
+  }
+	warn("No variation database attached");
+  return [];
+}
+
+
+=head2 summary_as_hash
+
+  Example       : $sv_summary = $sv->summary_as_hash();
+  Description   : Retrieves a textual summary of this StructuralVariation object.
+  Returns       : hashref of descriptive strings
+
+=cut
+
+sub summary_as_hash {
+	my $self = shift;
+	my %summary;
+	$summary{'display_id'} = $self->display_id;
+	$summary{'study_name'} = $self->study_name;
+	$summary{'study_description'} = $self->study_description;
+	$summary{'class'} = $self->var_class;
+	return \%summary;
+
+}
+
+1;