Class: Ensembl::Core::Marker

Inherits:
DBConnection
  • Object
show all
Defined in:
lib/ensembl/core/activerecord.rb

Overview

DESCRIPTION

The Marker class provides an interface to the marker table. This table contains primer sequences and PCR product lengths.

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.

USAGE

marker = Marker.find(52194)
puts marker.left_primer
puts marker.right_primer
puts marker.min_primer_dist.to_s

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from DBConnection

connect

Class Method Details

.find_all_by_name(name) ⇒ Object

DESCRIPTION

The Marker#find_all_by_name class method returns all markers with this name. If no marker is found, it returns an empty array.


Arguments

name

Returns

empty array or array of Marker objects



852
853
854
855
856
857
858
859
860
# File 'lib/ensembl/core/activerecord.rb', line 852

def self.find_all_by_name(name)
	marker_synonyms = Ensembl::Core::MarkerSynonym.find_all_by_name(name)
  answers = Array.new
	marker_synonyms.each do |ms|
    answers.push(Ensembl::Core::Marker.find_all_by_marker_id(ms.marker_id))
  end
	answers.flatten!
  return answers
end

.find_by_name(name) ⇒ Object

DESCRIPTION

The Marker#find_by_name class method returns one marker with this name.


Arguments

name

Returns

Marker object or nil



837
838
839
840
841
842
843
844
# File 'lib/ensembl/core/activerecord.rb', line 837

def self.find_by_name(name)
  all_names = self.find_all_by_name(name)
  if all_names.length == 0
    return nil
  else
    return all_names[0]
  end
end

.inheritance_columnObject



816
817
818
# File 'lib/ensembl/core/activerecord.rb', line 816

def self.inheritance_column
  nil
end

Instance Method Details

#nameObject

DESCRIPTION

The Marker#name method returns a comma-separated list of synonyms of this marker

USAGE

marker = Marker.find(1)
puts marker.name    --> 58017,D29149


827
828
829
# File 'lib/ensembl/core/activerecord.rb', line 827

def name
	self.marker_synonyms.collect{|ms| ms.name}.join(',')
end