class ExtractSamples
- Author
-
Almudena Bocinos Rioboo
Extract ramdom sequences until “num_seqs”
- Inherit
-
FastaReader
Attributes
num_seqs[RW]
Public Class Methods
new(file_name)
click to toggle source
Calls superclass method
# File lib/seqtrimnext/utils/extract_samples.rb, line 12 def initialize(file_name) @num_seqs = 0 super(file_name) end
Public Instance Methods
on_begin_process()
click to toggle source
override begin processing
# File lib/seqtrimnext/utils/extract_samples.rb, line 18 def on_begin_process() $LOG.info " Begin Extract Samples" @fich = File.open("results/Sample.txt",'w') @max = 1000 end
on_end_process()
click to toggle source
override end processing
# File lib/seqtrimnext/utils/extract_samples.rb, line 47 def on_end_process() $LOG.info "All Samples have been extracted" @fich.close end
on_process_sequence(seq_name,seq_fasta)
click to toggle source
override processing sequence
# File lib/seqtrimnext/utils/extract_samples.rb, line 26 def on_process_sequence(seq_name,seq_fasta) ra_seq = Kernel.rand if ((@num_seqs < @max) and (ra_seq>0.5)) #if cond is successful then, choose a part from this sequence #calculate the part from the sequence width = (Kernel.rand * 50 ) + 300 ra_part1 = Kernel.rand * (seq_fasta.length-width) ra_part2 = ra_part1 + width sub_seq_fasta = seq_fasta.slice(ra_part1,ra_part2) @fich.puts "#{seq_name} " @fich.puts "#{sub_seq_fasta} " @num_seqs += 1 end end