<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF xmlns="http://usefulinc.com/ns/doap#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Project><name>nebseq</name>
<shortdesc>Basic Biological Sequence Manipulations</shortdesc>
<description>Import as usual
---------------

    &gt;&gt;&gt; import nebseq

Reverse complements
-------------------

The only note here is that `revcomp` does not check the input
sequence to see if it looks like DNA or RNA. 

    &gt;&gt;&gt; nebseq.revcomp('ACGT')
    'ACGT'
    &gt;&gt;&gt; nebseq.revcomp('TTACC')
    'GGTAA'

And if we give it garbage it just gives us garbage back.
    
    &gt;&gt;&gt; nebseq.revcomp('ZQ')
    'QZ'

Translation
-----------

The translation function should allow for full support of sequence
translation. This includes things like trimming the first couple
bases and using alternate translation tables. There is also
support for the more esoteric post translational modifications
that can be found in some Genbank files as well as translating
partial peptides (for things like fuzzy coordinates).

Basic translation:

    &gt;&gt;&gt; nebseq.translate('TTGGCCAAGGAACGA', table=11)
    'MAKER'

Showing the effects of a partial peptide translation. By default
the first codon should be a start codon according to the selected
translation table, if not then its converted to an 'X'

    &gt;&gt;&gt; nebseq.translate('GCCAAG')
    'XK'
    &gt;&gt;&gt; nebseq.translate('GCCAAG', partial=True)
    'AK'

Or we can remove the first couple of bases for fuzzy coordinates.

    &gt;&gt;&gt; nebseq.translate('TTGCCAAG', start=2, partial=True)
    'AK'

Modifications are specified as an (index, amino_acid) two-tuple. Notice
that modification indexes are specified as one-based indexes into the
amino acid sequence.

    &gt;&gt;&gt; nebseq.translate('ATGAAGGAA', modifications=[(2, 'U')])
    'MUE'

Extraction
----------

Sequence extraction is for when you want to slice out part of a larger
sequence. This is useful if you use the `nebgb` module and its
definition of locations parsed from strings like `join(1..5,9..100)`.

    &gt;&gt;&gt; location = {'type': 'span', 'from': 4, 'to': 10}
    &gt;&gt;&gt; nebseq.extract('ACCGTACCATAGTT', location)
    ('GTACCAT', (False, False))
    &gt;&gt;&gt; location = {
    ...     "type": "complement",
    ...     "segment": {
    ...         "type": "join",
    ...         "segments": [
    ...             {"type": "span", "from": 3, "to": 8},
    ...             {"type": "span", "from": 10, "to": 14}
    ...         ]
    ...     }
    ... }
    &gt;&gt;&gt; nebseq.extract('ACCGTATTTCGGGGACAT', location)
    ('CCCCGAATACG', (False, False))</description>
<homepage rdf:resource="http://github.com/davisp/nebseq" />
<maintainer><foaf:Person><foaf:name>Paul Joseph Davis</foaf:name>
<foaf:mbox_sha1sum>98f1b4245aaaa481ace95724fe071af60d88ab34</foaf:mbox_sha1sum></foaf:Person></maintainer>
<release><Version><revision>0.0.1</revision></Version></release>
</Project></rdf:RDF>