Class: Bio::Ucsc::SacCer2::T2micron_mrna
- Inherits:
-
DBConnection
- Object
- ActiveRecord::Base
- DBConnection
- Bio::Ucsc::SacCer2::T2micron_mrna
- Defined in:
- lib/bio-ucsc/saccer2/t2micron_mrna.rb
Class Method Summary collapse
- .find_all_by_interval(interval, opt = {:partial => true}) ⇒ Object
- .find_by_interval(interval, opt = {:partial => true}) ⇒ Object
- .find_first_or_all_by_interval(interval, first_all, opt) ⇒ Object
Methods inherited from DBConnection
Class Method Details
.find_all_by_interval(interval, opt = {:partial => true}) ⇒ Object
21 22 23 |
# File 'lib/bio-ucsc/saccer2/t2micron_mrna.rb', line 21 def self.find_all_by_interval(interval, opt = {:partial => true}); interval = Bio::Ucsc::Gi.wrap(interval) find_first_or_all_by_interval(interval, :all, opt) end |
.find_by_interval(interval, opt = {:partial => true}) ⇒ Object
17 18 19 |
# File 'lib/bio-ucsc/saccer2/t2micron_mrna.rb', line 17 def self.find_by_interval(interval, opt = {:partial => true}); interval = Bio::Ucsc::Gi.wrap(interval) find_first_or_all_by_interval(interval, :first, opt) end |
.find_first_or_all_by_interval(interval, first_all, opt) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/bio-ucsc/saccer2/t2micron_mrna.rb', line 25 def self.find_first_or_all_by_interval(interval, first_all, opt); interval = Bio::Ucsc::Gi.wrap(interval) zstart = interval.zero_start zend = interval.zero_end if opt[:partial] == true where = " tName = :chrom\nAND bin in (:bins)\nAND ((tStart BETWEEN :zstart AND :zend)\n OR (tEnd BETWEEN :zstart AND :zend)\n OR (tStart <= :zstart AND tEnd >= :zend))\n SQL\n else\n where = <<-SQL\n tName = :chrom \nAND ((tStart BETWEEN :zstart AND :zend)\nAND (tEnd BETWEEN :zstart AND :zend))\n SQL\n end\n cond = {\n :chrom => interval.chrom,\n :bins => Ucsc::UcscBin.bin_all(zstart, zend),\n :zstart => zstart,\n :zend => zend,}\n self.find(first_all,\n { :select => \"*\",\n :conditions => [where, cond], })\nend\n" |