Class: Ensembl::Core::Exon

Inherits:
DBConnection show all
Includes:
Sliceable
Defined in:
lib/bio-ensembl/core/activerecord.rb

Overview

The Exon class describes an exon.

This class uses ActiveRecord to access data in the Ensembl database. See the general documentation of the Ensembl module for more information on what this means and what methods are available.

This class includes the mixin Sliceable, which means that it is mapped to a SeqRegion object and a Slice can be created for objects of this class. See Sliceable and Slice for more information.

Examples:

seq_region = SeqRegion.find(1)
puts seq_region.exons.length

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Sliceable

#length, #project, #slice, #start, #stop, #strand, #transform

Methods inherited from DBConnection

connect, ensemblgenomes_connect

Methods inherited from DBRegistry::Base

generic_connect, get_info, get_name_from_db

Class Method Details

.find_by_stable_id(stable_id) ⇒ Object



682
683
684
685
686
687
688
689
# File 'lib/bio-ensembl/core/activerecord.rb', line 682

def self.find_by_stable_id(stable_id)
    exon_stable_id = ExonStableId.find_by_stable_id(stable_id)
    if exon_stable_id.nil?
      return nil
    else
      return exon_stable_id.exon
    end
end

Instance Method Details

#seqObject

The Exon#seq method returns the sequence of the exon.



669
670
671
672
673
674
675
676
677
678
679
# File 'lib/bio-ensembl/core/activerecord.rb', line 669

def seq
  seq_region = nil
  if Ensembl::SESSION.seq_regions.has_key?(self.seq_region_id)
    seq_region = Ensembl::SESSION.seq_regions[self.seq_region_id]
  else
    seq_region = self.seq_region
    Ensembl::SESSION.seq_regions[seq_region.id] = seq_region
  end
	slice = Ensembl::Core::Slice.new(seq_region, seq_region_start, seq_region_end, seq_region_strand)
  return slice.seq
end

#stable_idObject



664
665
666
# File 'lib/bio-ensembl/core/activerecord.rb', line 664

def stable_id
  return self.exon_stable_id.stable_id
end