Sha256: fa46a0f966ef1ee042755664a95c6dc0f2e726664331be71b4e7d3ab6039efe0

Contents?: true

Size: 1.19 KB

Versions: 3

Compression:

Stored size: 1.19 KB

Contents

require 'ms/in_silico/digester'

module Ms
  module InSilico
    # Ms::InSilico::Digest::manifest digest a protein sequence into peptides
    # Digest a protein sequence into an array of peptides.
    #
    #   % rap digest MIVIGRSIVHPYITNEYEPFAAEKQQILSIMAG --+ dump --no-audit
    #     I[14:37:55]             digest MIVIGRSIVHP... to 3 peptides
    #   # date: 2008-09-15 14:37:55
    #   ---
    #   ms/in_silico/digest (23483900):
    #   - - MIVIGR
    #     - SIVHPYITNEYEPFAAEK
    #     - QQILSIMAG
    #
    class Digest < Tap::Task
    
      config :digester, 'Trypsin'              # the name of the digester
      config :max_misses, 0, &c.integer        # the max # of missed cleavage sites
      config :site_digest, false, &c.boolean   # digest to sites (rather than sequences)
      
      def process(sequence)
        unless d = Digester[digester]
          raise ArgumentError, "unknown digester: #{digester}" 
        end
        
        peptides = site_digest ? d.site_digest(sequence, max_misses): d.digest(sequence, max_misses)
        log 'digest', "#{sequence[0..10]}#{sequence.length > 10 ? '...' : ''} to #{peptides.length} peptides"
        peptides
      end
      
    end 
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ms-in_silico-0.1.0 lib/ms/in_silico/digest.rb
ms-in_silico-0.2.0 lib/ms/in_silico/digest.rb
ms-in_silico-0.2.1 lib/ms/in_silico/digest.rb