Class: Bio::Ucsc::Ce6::T25mersRepeats

Inherits:
DBConnection
  • Object
show all
Defined in:
lib/bio-ucsc/ce6/t25mersrepeats.rb

Class Method Summary collapse

Methods inherited from DBConnection

connect, default

Class Method Details

.find_all_by_interval(interval, opt = {:partial => true}) ⇒ Object



15
16
17
# File 'lib/bio-ucsc/ce6/t25mersrepeats.rb', line 15

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



11
12
13
# File 'lib/bio-ucsc/ce6/t25mersrepeats.rb', line 11

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



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/bio-ucsc/ce6/t25mersrepeats.rb', line 19

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 = "    chrom = :chrom\nAND bin in (:bins)\nAND ((chromStart BETWEEN :zstart AND :zend)\n OR (chromEnd BETWEEN :zstart AND :zend)\n OR (chromStart <= :zstart AND chromEnd >= :zend))\n    SQL\n  else\n    where = <<-SQL\n    chrom = :chrom \nAND bin in (:bins)\nAND ((chromStart BETWEEN :zstart AND :zend)\nAND  (chromEnd 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"