Wondering what’s next for npm?Check out our public roadmap! »

    origenes

    0.0.17 • Public • Published

    Origenes

    Nucleotide sequences manipulation tools.

    Getting Started

    Install the module with: npm install origenes

     
    var Sequence = require('origenes').Sequence;
     
    // Create some sequence instances
     
        var simple_seq = new Sequence('ACTG');
        /*
            { SEQ: 'ACTG', 
              LEN: 4,
              TYPE: 'DNA' }
         */
     
        var oligonucleotide = new Sequence("GTTGACCGTAGCGAGTCCG");
        /*
            { SEQ: 'GTTGACCGTAGCGAGTCCG',
              LEN: 19,
              TYPE: 'DNA',
              TM: 62,
              TA: 57 }
         */
     
        var rna = new Sequence("AUGGAACUGACUGAAGAUUGA");
        /*
            { SEQ: 'AUGGAACUGACUGAAGAUUGA', 
              LEN: 21,
              TYPE: 'RNA' }
         */
     
        var degenerate_seq = new Sequence('AN-RCTYGK');
        /*
            { SEQ: 'AN-RCTYGK',
              LEN: 9,
              TYPE: 'DNA' }
         */
     
     
    // Sequence instances are immutable, their properties are constants
     
        simple_seq.SEQ = "ATATATATATA";
        simple_seq.aNewProperty = "something":
        simple_seq; 
        /*
            { SEQ: 'ACTG', 
              LEN: 4,
              TYPE: 'DNA' }
         */
     
     
    // Melting and annealing temperatures are calculated for DNA oligonucleotides [18..25nt]
     
        oligonucleotide.TM; // 62  as 4*(G+C) + 2*(A+T) in °C
        oligonucleotide.TA; // 57  as (TM - 5) in °C
     
     
    // Tm, Ta are not defined for sequences shorter than 18nt or longer than 25nt
     
        simple_seq.TM; // undefined
        simple_seq.TA; // undefined
     
     
    // Sequence instance methods return new Sequence instances
     
        simple_seq.transcribe();
        /*
            { SEQ: 'ACUG', 
              LEN: 4,
              TYPE: 'RNA' }
         */
     
        rna.transcribe(); 
        /*
            'Error: can't transcribe RNA.' 
         */
     
        simple_seq.reverse();
        /*
            { SEQ: 'GTCA', 
              LEN: 4,
              TYPE: 'DNA' }
         */
     
        simple_seq.complement(); 
        /*
            { SEQ: 'TGAC', 
              LEN: 4,
              TYPE: 'DNA' }
         */
     
        degenerate_seq.complement(); 
        /* 
            { SEQ: 'TN-YGARCN',
              LEN: 9,
              TYPE: 'DNA' }
        */ 
     
        rna.complement(); 
        /*
            { SEQ: 'UACCUUGACUGACUUCUAACU', 
              LEN: 21,
              TYPE: 'RNA' }
         */
     
     
    // Instance methods are chainable
     
        simple_seq.reverse().complement(); 
        /*
            { SEQ: 'CAGT', 
              LEN: 4,
              TYPE: 'DNA' }
         */
     
        simple_seq.SEQ == simple_seq.reverse().reverse().SEQ; // true
     
        simple_seq.reverse().complement().SEQ == simple_seq.complement().reverse().SEQ; // true
     
     
    // Translate a RNA Sequence object into a new Sequence instance of type PROT
        
        rna.translate();
        /*
            { SEQ: 'MELTED*',
              LEN: 7,
              TYPE: 'PROT' }
         */
     
    // translate a DNA Sequence object into new Sequence instance of type PROT
    // with automatic/under the hood transcription()
     
        long_oligo.translate();
        /*
            { SEQ: 'VDRSES',
              LEN: 6,
              TYPE: 'PROT' }
         */
         

    Contributing

    In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality.

    Lint and test your code using Grunt.

    License

    Copyright (c) 2013 tripitakit
    Licensed under the MIT license.

    Keywords

    none

    Install

    npm i origenes

    DownloadsWeekly Downloads

    9

    Version

    0.0.17

    License

    none

    Last publish

    Collaborators

    • avatar