Sha256: 82f3aa9f947f9819d277fff83a04c962c560ca5b7f90dad9ae0740f2ba0919e8

Contents?: true

Size: 719 Bytes

Versions: 38

Compression:

Stored size: 719 Bytes

Contents

module ViralSeq

  module PID

    # generate all Primer ID combinations given the length of Primer ID
    # @param l [Integer] the length of the Primer ID.
    # @example generate a pool of Primer IDs with length of 10
    #   primer_id_pool = ViralSeq::PID.generate_pool(10) # 10 is the length of Primer ID
    #   puts primer_id_pool.size  #should be 4^10
    #   => 1048576

    def self.generate_pool(l=8)
      nt = ['A','T','C','G']
      pid_pool = ['A','T','C','G']
      (l-1).times do
        pid_pool = pid_pool.product(nt)
        pid_pool.collect! do |v|
          v.join("")
        end
      end
      return pid_pool
    end # end of .generate_primer_id_pool

  end # end of Pid
end # end of ViralSeq

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
viral_seq-1.9.0 lib/viral_seq/pid.rb
viral_seq-1.8.1.1 lib/viral_seq/pid.rb
viral_seq-1.8.1 lib/viral_seq/pid.rb
viral_seq-1.7.1 lib/viral_seq/pid.rb
viral_seq-1.7.0 lib/viral_seq/pid.rb
viral_seq-1.6.4 lib/viral_seq/pid.rb
viral_seq-1.6.3 lib/viral_seq/pid.rb
viral_seq-1.6.1 lib/viral_seq/pid.rb
viral_seq-1.6.0 lib/viral_seq/pid.rb
viral_seq-1.5.0 lib/viral_seq/pid.rb
viral_seq-1.4.0 lib/viral_seq/pid.rb
viral_seq-1.3.0 lib/viral_seq/pid.rb
viral_seq-1.2.9 lib/viral_seq/pid.rb
viral_seq-1.2.8 lib/viral_seq/pid.rb
viral_seq-1.2.7 lib/viral_seq/pid.rb
viral_seq-1.2.6 lib/viral_seq/pid.rb
viral_seq-1.2.5 lib/viral_seq/pid.rb
viral_seq-1.2.2 lib/viral_seq/pid.rb
viral_seq-1.2.1 lib/viral_seq/pid.rb
viral_seq-1.2.0 lib/viral_seq/pid.rb