class Bio::Ucsc::SacCer2::T2micron_est

Public Class Methods

find_all_by_interval(interval, opt = {:partial => true}) click to toggle source
# File lib/bio-ucsc/saccer2/t2micron_est.rb, line 20
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}) click to toggle source
# File lib/bio-ucsc/saccer2/t2micron_est.rb, line 16
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) click to toggle source
# File lib/bio-ucsc/saccer2/t2micron_est.rb, line 24
        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 = <<-SQL
    tName = :chrom
AND bin in (:bins)
AND ((tStart BETWEEN :zstart AND :zend)
 OR (tEnd BETWEEN :zstart AND :zend)
 OR (tStart <= :zstart AND tEnd >= :zend))
            SQL
          else
            where = <<-SQL
    tName = :chrom 
AND ((tStart BETWEEN :zstart AND :zend)
AND  (tEnd BETWEEN :zstart AND :zend))
            SQL
          end
          cond = {
            :chrom => interval.chrom,
            :bins  => Ucsc::UcscBin.bin_all(zstart, zend),
            :zstart => zstart,
            :zend => zend,}
          self.find(first_all,
                    { :select => "*",
                      :conditions => [where, cond], })
        end