Package Bio :: Package Motif
[hide private]
[frames] | no frames]

Package Motif

source code

Module containing different tools for sequence motif analysis.

it contains the core Motif class containing various I/O methods as well as methods for motif comparisons and motif searching in sequences. It also inlcudes functionality for parsing AlignACE and MEME programs

Submodules [hide private]

Functions [hide private]
 
_from_pfm(handle) source code
 
_from_sites(handle) source code
 
parse(handle, format)
Parses an output file of motif finding programs.
source code
 
read(handle, format)
Reads a motif from a handle using a specified file-format.
source code
 
_test()
Run the Bio.Motif module's doctests.
source code
Variables [hide private]
  _parsers = {"AlignAce": _AlignAce_read, "MEME": _MEME_read,}
  _readers = {"jaspar-pfm": _from_pfm, "jaspar-sites": _from_sites}
  __package__ = 'Bio.Motif'
Function Details [hide private]

parse(handle, format)

source code 

Parses an output file of motif finding programs.

Currently supported formats:

  • AlignAce
  • MEME

You can also use single-motif formats, although the Bio.Motif.read() function is simpler to use in this situation.

  • jaspar-pfm
  • jaspar-sites

For example:

>>> from Bio import Motif
>>> for motif in Motif.parse(open("Motif/alignace.out"),"AlignAce"):
...     print motif.consensus()
TCTACGATTGAG
CTGCACCTAGCTACGAGTGAG
GTGCCCTAAGCATACTAGGCG
GCCACTAGCAGAGCAGGGGGC
CGACTCAGAGGTT
CCACGCTAAGAGAAGTGCCGGAG
GCACGTCCCTGAGCA
GTCCATCGCAAAGCGTGGGGC
GAGATCAGAGGGCCG
TGGACGCGGGG
GACCAGAGCCTCGCATGGGGG
AGCGCGCGTG
GCCGGTTGCTGTTCATTAGG
ACCGACGGCAGCTAAAAGGG
GACGCCGGGGAT
CGACTCGCGCTTACAAGG

read(handle, format)

source code 

Reads a motif from a handle using a specified file-format.

This supports the same formats as Bio.Motif.parse(), but only for files containing exactly one record. For example, reading a pfm file:

>>> from Bio import Motif
>>> motif = Motif.read(open("Motif/SRF.pfm"),"jaspar-pfm")
>>> motif.consensus()
Seq('GCCCATATATGG', IUPACUnambiguousDNA())

Or a single-motif MEME file,

>>> from Bio import Motif
>>> motif =  Motif.read(open("Motif/meme.out"),"MEME")
>>> motif.consensus()
Seq('CTCAATCGTA', IUPACUnambiguousDNA())

If the handle contains no records, or more than one record, an exception is raised:

>>> from Bio import Motif
>>> motif = Motif.read(open("Motif/alignace.out"),"AlignAce")
Traceback (most recent call last):
    ...
ValueError: More than one motif found in handle

If however you want the first record from a file containing multiple records this function would raise an exception (as shown in the example above). Instead use:

>>> from Bio import Motif
>>> motif = Motif.parse(open("Motif/alignace.out"),"AlignAce").next()
>>> motif.consensus()
Seq('TCTACGATTGAG', IUPACUnambiguousDNA())

Use the Bio.Motif.parse(handle, format) function if you want to read multiple records from the handle.

_test()

source code 

Run the Bio.Motif module's doctests.

This will try and locate the unit tests directory, and run the doctests from there in order that the relative paths used in the examples work.