Sha256: 2de85ac6f135622e78a46cba1d0c2673100d1d0f3ecd398e66c2e033f18e7e63
Contents?: true
Size: 1.8 KB
Versions: 1
Compression:
Stored size: 1.8 KB
Contents
#require 'bio-assembly/contig/ace' module Bio class Assembly class Contig attr_accessor :seq, :orientation, :quality, :to, :from, :name, :reads alias consensus_seq seq def initialize(str="") @reads = Hash.new @seq = Bio::Sequence::NA.new(str) # counter for Reads @rds_parsed = 0 end def find_read_by_name(name) @reads[name] end def find_reads_in_range(clear_range_from, clear_range_to) reads_in_range = Array.new each_read do |read| # Read starts in region if read.from+read.clear_range_from > clear_range_from and read.from+read.clear_range_from < clear_range_to reads_in_range.push read # Read ends in region elsif read.to+read.clear_range_to < clear_range_to and read.to+read.clear_range_to > clear_range_from reads_in_range.push read # Read encompasses region elsif read.from+read.clear_range_from < clear_range_from and read.to+read.clear_range_to > clear_range_to reads_in_range.push read end end reads_in_range; end def add_read(read) # TODO do some checks for pos location @reads[read.name] = read end def each_read @reads.each_value { |read| yield read } end def num_reads @reads.size end def num_bases seq.length end def seq=(str) @seq = Bio::Sequence::NA.new(str) end def num_base_segments num_base_sequences = 0 each_read do |read| num_base_sequences += read.base_sequences.size unless read.base_sequences.nil? end num_base_sequences end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bio-assembly-0.1.0 | lib/bio-assembly/contig.rb |