Sha256: 743bae369aab57a4b3cf61d397ed03ec498706d5f6c02b5f9fa002a7ef155ccf

Contents?: true

Size: 1.23 KB

Versions: 28

Compression:

Stored size: 1.23 KB

Contents

require "fasta_reader.rb"


######################################
# Author:: Almudena Bocinos Rioboo
# Extract ramdom sequences until "num_seqs" 
# Inherit:: FastaReader
######################################

class ExtractSamples < FastaReader
  attr_accessor :num_seqs
  def initialize(file_name)
    @num_seqs = 0
    super(file_name)
  end

       # override begin processing
 def on_begin_process()
    $LOG.info " Begin Extract Samples"
    @fich = File.open("results/Sample.txt",'w') 
    @max = 1000
    
 end
 
    # override processing sequence
  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
    
    

       #override end processing
 def on_end_process()
    $LOG.info "All Samples have been extracted"
    @fich.close
 end

end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
seqtrimnext-2.0.68 lib/seqtrimnext/utils/extract_samples.rb
seqtrimnext-2.0.66 lib/seqtrimnext/utils/extract_samples.rb
seqtrimnext-2.0.62 lib/seqtrimnext/utils/extract_samples.rb
seqtrimnext-2.0.61 lib/seqtrimnext/utils/extract_samples.rb
seqtrimnext-2.0.60 lib/seqtrimnext/utils/extract_samples.rb
seqtrimnext-2.0.59 lib/seqtrimnext/utils/extract_samples.rb
seqtrimnext-2.0.57 lib/seqtrimnext/utils/extract_samples.rb
seqtrimnext-2.0.56 lib/seqtrimnext/utils/extract_samples.rb
seqtrimnext-2.0.55 lib/seqtrimnext/utils/extract_samples.rb
seqtrimnext-2.0.54 lib/seqtrimnext/utils/extract_samples.rb
seqtrimnext-2.0.52 lib/seqtrimnext/utils/extract_samples.rb
seqtrimnext-2.0.51 lib/seqtrimnext/utils/extract_samples.rb
seqtrimnext-2.0.50 lib/seqtrimnext/utils/extract_samples.rb
seqtrimnext-2.0.49 lib/seqtrimnext/utils/extract_samples.rb
seqtrimnext-2.0.48 lib/seqtrimnext/utils/extract_samples.rb
seqtrimnext-2.0.46 lib/seqtrimnext/utils/extract_samples.rb
seqtrimnext-2.0.45 lib/seqtrimnext/utils/extract_samples.rb
seqtrimnext-2.0.42 lib/seqtrimnext/utils/extract_samples.rb
seqtrimnext-2.0.41 lib/seqtrimnext/utils/extract_samples.rb
seqtrimnext-2.0.39 lib/seqtrimnext/utils/extract_samples.rb