lib/bio/PolyploidTools/ExonContainer.rb in bio-polyploid-tools-0.4.0 vs lib/bio/PolyploidTools/ExonContainer.rb in bio-polyploid-tools-0.4.1
- old
+ new
@@ -3,19 +3,20 @@
class ExonContainer
attr_reader :parental_1_sam, :parental_2_sam
attr_reader :parental_1_name, :parental_2_name, :gene_models_db
attr_reader :chromosomes, :snp_map
attr_reader :parents
- attr_accessor :flanking_size
+ attr_accessor :flanking_size , :primer_3_min_seq_length
BASES = [:A, :C, :G, :T]
#Sets the reference file for the gene models
def initialize
@parents=Hash.new
@snp_map = Hash.new
@snp_contigs
+ @primer_3_min_seq_length = 50
end
def gene_models(path)
@gene_models_db = Bio::DB::Fasta::FastaFile.new({:fasta=>path})
@gene_models_path = path
@@ -124,20 +125,27 @@
end
end
end
def print_primer_3_exons (file, target_chromosome , parental )
+ added = 0
@snp_map.each do | gene, snp_array|
snp_array.each do |snp|
+ string = ""
begin
- string = snp.primer_3_string( snp.chromosome, parental )
- file.puts string if string.size > 0
+ primer_3_min_seq_length
+ string = snp.primer_3_string( snp.chromosome, parental )
+ if string.size > 0
+ file.puts string
+ added += 1
+ end
rescue Exception=>e
@missing_exons << snp.to_s
#$stderr.puts e.to_s
end
end
end
+ return added
end
def add_alignments(opts=Hash.new)
opts = { :min_identity=>90 }.merge!(opts)
exonerate_filename = opts[:exonerate_file]
\ No newline at end of file