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