Sequence motifs - for more general background see Wikipedias Sequence_motif.
Sequence motif finding is used often in contexts of transcription binding sites. Before starting it is important to keep few things in mind:
- transcriptional regulation differs in complexity from simple organisms (i.e. yeast) to human. What works in yeast (multiple algorithms on promoters of co-expressed genes) does not work on human data
- for any given gene, start with comparative genomics (called here phylogenetic fingerprinting). For 60-70% of promoters you can find common TF binding sites between human and mouse
- more species, stricter motif detection, but less sensitivity (gene can be regulated differently in some species, TF binding site outside of fragment used for prediction etc.)
- conservation of promoters varies between genes. For some highly conserved ones (i.e. some SOX genes) there is too little of a difference between human and mouse to detect anything. You have to go down the tree to fish species to find island of conservation.
- for some more human specific genes there may be no conservation human-mouse, or the orthologue gene may not even exist in one of the species. Use sequences from more closely related species. This goes up to studying multiple sequences from very closely related species (i.e. 12 Drosophila's). Search the term "phylogenetic shadowing"
- not all collection of sequences are equally good for sequence motif prediction. Order of preference:
- chromatin immunoprecipitation followed by next generation sequencing
- promoters of ortologues (see above)
- co-expressed genes
- pointless: searching for highly degenerate motifs in long stretches of DNA without any statistics (hundreds of sites of almost no value).
- only by comparing scores and frequencies of a given motif in a large set of sequences one can estimate if TF site detected in promoter of interest is of any significance. See PSCAN and "Prediction of over Represented Transcription Factor Binding Sites in Co-regulated Genes Using Whole Genome Matching Statistics" Pavesi 2007
It is important to use few complementary programs as well as allow predictions of several motifs per program. There is threshold when it comes to number of sequences used, above which there is no improvement in sensitivity.
- 1 Motif finding programs
- 2 Tested set
- 3 Novel algorithms
- 4 Ortholog sequences
- 5 Multiple algorithms / metaservers
- 6 Combining/comparing motifs
- 7 APIs
- 8 Databases
- 9 To Read
- 10 External courses/tutorials
- 11 stuff to incorporate
- 12 Credits
Motif finding programs
There are obvious trade offs between speed and accuracy/sensitivity when running these programs. Few rules based on review by Hu et al.:
- avoid using longer sequences than necessary. It does increase noise signal and increases running time.
- for programs like MEME there is a plateau of motifs found after about 10 input sequences, so one can randomly select 10 sequences out of a larger set and
then check for occurrence of detected motifs in the remaining ones.
- scores between different programs are incompatible
This section is few years old and requires retesting.
Gibbs sampling algorithm (stochastic), requires multiple runs to get all top hits.
- Web server:  Gibbs sampling algorithm
- command line C++, requires compilation
- to run it:
./AlignACE -i GAL.seq > test.ace
- Accessory programs for motif comparisons and motif finding
CompareACE  Compares set of found motifs to a database of TFs (in yeast on the web)
- Command line
meme -nmotifs numberof_motifs_2_find -mod oops -protein -sequence your_fasta_file -outfile your_fasta_file.meme
Where 'model' could be oops/zoops/anr.
oops: One Occurrence Per Sequence
zoops: Zero or One Occurrence Per Sequence
anr: Any Number of Repetitions
./weederlauncher.out your_promoters_file.fasta MM large A M S t15
Where MM stands for Mus musculus, HS Homo Sapiens atc. See ./FreqFiles/ directory for more.
The output files: your_promoters_file.mix your_promoters_file.wee (output as text) your_promoters_file.html (output summary in HTML)
- Web server: 
accepts only FastA files with single sequence line
>sequence1 name GGTGACGAC sequence1 as ONE LINE >sequence2 name GTAGCCTCATG sequence2 as ONE LINE
- fixed widith of motifs (default 10, range: 4-50)
- binaries for Linux, Sun and Cygwin.
- creata background file:
./genomebg.linux -i your_background -o your_background.genomeBG
- run BioProspector
./BioProspector.linux -n 200 -d 1 -r 30 -i target_fasta_seqs -f your_background.genomeBG -o outputbiop1
Web takes into account position of the motifs Command line utility called ameme
./ameme good=your_test_set.fasta bad=set_of_random_promoter_sequences.fasta numMotifs=10 mo tifOutpu=ameme.out outputLogo background=m2
(java + C program, requires compilation ) 
- Calculate background:
makemosaicbg -seqs your_input_sequences.fasta -mosaicClasses 1 -mosaicOrder 1 -out your_sequences_background.sbg
- Calculate motifs:
motiffinder -seqs your_input_sequences.fasta -backgroundModel your_sequences_background.sbg -numMotifs 2
- View the motifs:
Output in xms (an XML variant) format.
- MotifExplorer (Java motif viewer compatible with NestedMica): 
as for Jan 22nd 2007 works on MacOS. Problems on Windows and Ubuntu Linux.
Self Organising Maps 
- create background model (takec >15min on 35Mbytes fasta file/2.26GHz Pentium) :
perl ./BackExtract.pl -seq your_background_sequences.fasta
- Create SOM with motif lenght 8, 10, 12, 14 &16 nucleotides:
./SOMBRERO -t your_target_sequences.fasta -b out.back -lm 8 16 -out target_sombrero.out
- View the SOM (requires installation of Tkperl)
perl ./SOMBREROView.pl target_sombrero.ou
- uses restricted fasta format!
>sequence1 name ATGGTGACGAC sequence1 as ONE LINE >sequence2 name GTAGCCTCATG sequence2 as ONE LINE
- requires sequence background file
./genomebg -i inputSequenceFile -o outputDistributionFile
- running it:
./MDscan -i inseq -w 15 -f yeast_all.bg -t 10 -c 80 -r 10 -n 5 -g 1
find motif of width 15 from sequence file inseq, use yeast_all.bg as the background distribution. Find candidate motifs from top 10 sequences, and refine 5 iterations from the top 0 sequences. Report the final best 5 motifs to stdout, and do not print out progress messages on the way.
YMF (not working)
- C++ program, requires compilation
- running it:
./stats stats.config 800 6 ../ymftables/yeast -sort ../examples/abf/abf1 ../examples/abf/cha1
Obtainable from author. Requires compilation
- example ( ~50 Kbp takes 70mins)
dmotif -positive positive.fna -negative negative.fna -len 9 -bkg fly_background.fna -niter 5 -nmotif 1 > dmotifoutput 2> dmotiflog
Change '-nmotif 1' to a '-nmotif 10' if you want to get top ten motifs.
more sensitive than MEME according to authors
- The AMADEUS Motif Discovery Tool (whole platform)
- GAME (java, genetic algorithm)  (authors page)
- MotifCut (maximum density subgraphs) 
Paper: http://bioinformatics.oxfordjournals.org/cgi/reprint/22/14/e150 motif lenght: fixed, between 6,31
- GibbsST  Not working yet
- THEME (ChIP-chip only??)
- PhyME 
- PhyloGibbs 
- PhyloCon 
Multiple algorithms / metaservers
- Credo  (broken link)
Visualisation of AlignACE, DIALIGN, FootPrinter, MEME and MotifSampler results. Paper: 
- Multifinder http://the_brain.bwh.harvard.edu/MultiFinderSuppl/ (download)
- RgS-Miner (web, as of 2007.05.22: uses gene list but not sequences yet) http://rgsminer.csie.ncu.edu.tw/
- CompareACE  supporting program for AlignAce
- STAMP 
Handles 12 various output formats from a wide range of motif finding programs. Compares these motifs to known TFBS from JASPAR and other, also user-defined databases of motifs. Converts the output to intermediate format accessible on the server under "X motifs loaded".
- Cistematic http://cistematic.caltech.edu/
Python package with interfaces to i.e. MEME, AlignACE, Co-Bind, and FootPrinter Paper 
Python/C++ package with Interfaces to MDscan, AlignACE, and MEME. Paper: 
- ORegAnno database as a dynamic collection of literature-curated regulatory regions, transcription factor binding sites and regulatory mutations (polymorphisms and haplotypes).
- Tompa review of 14 programs Nat Biotech. 2005 g
- Maximilian Haeussler's master thesis and his Tregwiki @Openwetware:
- Comparison of several programs: Hu NAR 2005 
- Erich Schwarz's list from 2002
- Motif Tool Assessment Platform (MTAP) wiki from Omaha
- Giulio Pavesi and Federico Zambelli, “Prediction of over Represented Transcription Factor Binding Sites in Co-regulated Genes Using Whole Genome Matching Statistics,” in Applications of Fuzzy Sets Theory, 2007, 651-658, http://dx.doi.org/10.1007/978-3-540-73400-0_83.
stuff to incorporate
- Melina II Metaserver (uses four out of five programs: CONSENSUS, MEME, Gibbs Sampler, MDScan and Weeder) by Kenta Nakai @Tokyo University. Paper
- Darek Kedra wrote this tutorial