# The MEME Suite

## Motif-based sequence analysis tools

## MEME Suite Release Notes

MEME version 5.5.7 (August 27, 2024)

- Bug Fixes
  - Fixed bug in BED input to MEME Suite servers that caused valid BED files to be rejected. This bug caused the default version of databases to always be used for verification of BED file input.
  - MEME-ChIP: Fixed description of the default behavior of the `-neg` option. It now says that control sequences will preserve statistics of the order specified by the `-order` option.
  - tests/Makefile.am: fixed problem with removal of an input FASTA file.

MEME version 5.5.6 (August 5, 2024)

- New Features and Enhancements
  - MEME:
    - In MEME HTML output, fetch alternate javascript needed for downloading PDF or SVG images of the motif location block diagrams if the MEME Suite webserver is not accessible.
    - In MEME HTML output, download the PDF and SVG javascript from the MEME Suite webserver in asynchronous mode so that the HTML will display quickly even if the webserver is down.
  - MoMO:
    - Peptide modification values may now be free text, not just weights.
    - Added test of PTM file containing text in peptide modifications.
  - MAST:
    - Added the warning message that a motif is being skipped if its log-odds matrix cannot be scaled (e.g, is all zeros).
    - Improved the error message if all motifs are skipped.
  - T-Gene:
    - Allow BED files of Loci to start at position 0.
    - Ignore "track" and "browser" lines.
  - bed2fasta:
    - Ignore "track" and "browser" lines and empty or all-space lines.
    - Warn and skip lines with fewer than 3 fields.
  - All webservers:
    - On `submit`, the job queue is checked and the form is only submitted if the job queue is OPEN.
    - The job queue is set to OPEN if there are `min_pending` or fewer jobs waiting to run. It is set to closed if there are `max_pending` or more waiting jobs. Otherwise, the job queue status is not changed. Thus, there is hysteresis in the OPEN/CLOSED state. The values of `min_pending` and `max_pending` are 250 and 500, respectively, and are set by the `job-queue.sh` script. This script runs on the production server once per minute to update the queue status.
    - The job queue state does not affect Tomtom jobs submitted if the `Run immediately` box is checked.
    - Side-bar Menu: The menu now shows the status of the job queue (OPEN or CLOSED) as well as the number of jobs running and waiting. When the Queue Status menu is clicked, cacheing is now prevented when fetching the queue information from the server for the "Jobs Running:" and "Jobs waiting to run:" fields so that they will correctly reflect the current state.
    - All input files are now checked for size and file name length immediately upon entry. This includes custom alphabet files, sequence files, BED files, loci files, background files, and motif files. File name lengths are limited to 100 characters. Motif names are limited to 100 characters.
    - Improved the error messages when parsing custom alphabet files.
  - Submitting a motif from MEME and STREME HTML files.
    - The destination web servers (Tomtom, FIMO, MAST, GOMo, SpaMo) now show the name of the source file of the motif (e.g., `my_meme.html`) and the motif number.
    - The submitted motif is stored in a file with a descriptive name and with `.txt` appended.
    - The maximum name length of the source file of the motif is 100 characters.
    - The maximum length of the of the motif is 100 characters.
- Documentation
  - MoMO:
    - Fixed bug when a column name contains tabs in the PTM file, and documented that this is not allowed.
    - Fix Handling of `\r` in DOS formatted files.
  - SpaMo:
    - Documented the special characters in motif names that get replaced with underscores when forming the TSV file names for the output of `-dumpseqs` and `-dumpsigs`.
    - The terminolgy in the USAGE message has been clarified by renaming command-line input `primary motif` to `primary motif db` and `secondary motifs` to `secondary motif db`.
  - Tomtom:
    - Clarified how `-min-overlap` behaves if either the query or target motif is shorter than the minimum: the shorter motif's width is used in place of the user-specified minimum for that query.
  - bed-format.html:
    - Clarified that BED files for MEME Suite must be tab-delimited and "track" and "browser" lines are ignored.
- Bug Fixes
  - BED and FASTA File input to MEME Suite servers:
    - Fixed crashing caused by BED files resulting in FASTA files that were too large for the server. Added checking of expanded BED file size to webservers to prevent very large resulting FASTA files. Total form size (including expanded BED file) is still the same: `80MB = 1024 * 1024 * 80` bytes.
    - Fixed bug causing BED files not to be remembered after hitting the browser "back" button.
    - Allow header lines allowed in BED files (lines starting with "#", "track" or "browser").
    - Allow BED coordinates to start at 0.
    - Persist category, genome, version and name of selected FASTA databases and BED files in browser after REFRESH, BACK and FORWARD buttons are clicked.
    - Fix bug with BED files with `Other Genomes`. This required enforcing DNA-only for BED files in web servers in ComponentSequences.java.
  - MEME:
    - Fixed bug when the input sequences contain nothing but "N" or "X" characters. The motif letter frequencies were being set to 0. Now they are set to `1/alen`, where `alen` is the length of the alphabet.
  - MoMO:
    - Fixed bug when a column name contains tabs in the PTM file, and documented that this is not allowed.
    - Fix Handling of `\r` in DOS formatted files.
  - SpaMo:
    - Fixed bug when motif names contain special characters that caused SpaMo to crash when the `-dumpseqs` or `-dumpsigs` option was specified. The following characters are now replaced with undersores in the TSV output file names: ASCII 0 to 31, and and any charcters in the list: `()<>/\|?*:`
  - STREME:
    - Fixed bug when the input sequences contain nothing but "N" or "X" characters. The sequence_db frequencies in the XML file were being set to -NAN. Now they are set to `1/alen`, where `alen` is the length of the alphabet.
  - Tomtom:
    - Fixed coding oversight thereby reducing memory usage by 50% when using `-incomplete-scores` option.
  - T-Gene:
    - Fixed bug that caused inaccurate calculation of correlation p-values and q-values. Correlation p-values are now computed correctly (as described in the original T-Gene paper) by permuting the order the tissue-specific histone values for each locus. For up to five tissues, the (null) correlation with the expression value at the TSS is computed for each of the unique "derangements" (permutations with no "fixed points") of the tissues. For six or more tissues, 256 null correlation values are computed using 256 derangments. All null correlation values for all links for a given histone are combined to provide the null distribution for correlations for that histone.
    - Fixed bug that caused crashing when the number of loci in the BED file was small.
  - update-sequence-db:
    - Fixed progelem with `--misc` option that caused DNA and Protein versions of the same database no show up separately in MEME Suite menus. The fix involved changing the `edition` from the timestamp on the file to the current date. Files updated on the same day will now have the same `edition` and so will be shown together in the MEME Suite menus even if they have different timestamps.
  - Other:
    - Removed built files from website.mk. They were not being built previously due to the built versions being present with more recent dates.
    - Added "ps" command to Docker container.
    - Fixed clearing of errors in Custom alphabet field when radio button is changed.
    - Removed tissue/cell-specific checkbox from Sequence Databases page because it is not currently used.

MEME version 5.5.5 (December 7, 2023)

- New Features and Enhancements
  - SEA:
    - SEA now creates a single file (`sites.tsv`) in TSV format that contains the positions of the sites in the positive (primary) sequences of each motif found to be significant by SEA. This file is NOT output if you specify the `--noseqs` option.
    - Added the `--no-pgc` option. FASTA sequence headers are always parsed for genomic coordinates unless the `--no-pgc` option is specified.
  - STREME:
    - Fixed how matching sites are sorted for output to make consistent across computer types.
    - Added links to matching sequences and matching sites files to web server status results page.
  - XSTREME and MEME-ChIP output: added space before help bubbles for expand-cluster and CentriMo Group links for clarity.
  - CentriMo, STREME, SEA, XSTREME, MEME-ChIP: Increased width of some help bubbles for ease of reading.
  - docker_test and docker_test_driver: added these new scripts to `tests/scripts` directory to allow testing of final Docker images.
- Bug Fixes
  - STREME:
    - Fixed problem that caused the Sites column in the HTML output to sometimes be incorrect. The total number of sites was (incorrectly) including negative (control) sequences matching the motif. Now, the total is only the number of positive sequences matching the motif, as was documented.
    - Fixed a problem when the input size was greater than specified by `--totallength`. This problem caused the Matching Sites file (`sites.tsv`) to contain sites coming from a different subsample of the input sequences than used during motif discovery.
  - STREME and SEA: Fixed broken links to FASTA Coordinates Format document in help bubbles in HTML outputs.
  - XSTREME: Removed empty `sites.tsv` and `sequences.tsv` files from output.
  - fasta-holdout-set: Fixed bug causing output sequences to be blank.

MEME version 5.5.4 (August 24, 2023)

- New Features and Enhancements
  - FIMO:
    - A new output file is now created containing the "best" (i.e, highest log-odds score) site for each motif in each sequence. This file is in ENCODE narrowPeak format. The new file contains, for each site, its genomic location and its log-odds score, as well as other information such as its strand and p-value. Only sites passing the significance threshold you specify are output. This file is intended to be suitable as input to T-Gene and other programs.
  - SpaMo:
    - Added a new option `-norc` to allow DNA sequences to be treated as though they were RNA. That is, only the given strand of the sequences will be scanned with the primary and secondary motifs. Without this option, both strands of DNA sequences will be scanned for motif sites.
  - CREATE-PRIORS, FASTA-CENTER, FIMO, MCAST, MEME-ChIP, STREME, XSTREME:
    - Removed `--parse-genomic-coord` switch and added `--no-pgc` switch. Now, by default, FASTA sequence headers are always parsed for genomic coordinates unless the `--no-pgc` option is specified.
  - T-GENE:
    - Changed how the Correlation p-value is computed. The null scores (correlations) are now generated using a different method of randomizing the input data. Previously, the order of the tissues for just the expression was permuted when computing a null correlation for a link. This caused problems with excessively low p-values being reported if some of the tissues had very similar expression values for many (or all) genes. Now, a null correlation for a link is computed by replacing the links expression values with the expression values for a different link. This change generally results in a small change in the Correlation p-values, except when one or more tissues have very similar expression values for many (or all) genes.
    - Added the ability to sort the results on the q-values of links.
    - Added check that the tissue list contains at least three tissues. There is nothing to be gained using only two tissues because all of the expression-histone correlations will, by definition, be equal to +1 or -1.
    - Clarified the coordinate systems for TSS Locus and RE Locus columns in the HTML output.
  - update-sequence-db:
    - In addition to its previous use for downloading all the FASTA sequence files for a selected category of database (e.g., Ensembl Vertebrates), this program can now be used to list which FASTA sequence files are missing from the category. This is the new default output. The program can also be used to download a single FASTA file (or group of FASTA files) that is/are missing from the category. This behaviour is controlled by new options `--db_all` and `--db_regexp`. Another new feature is the ability to list the available releases for a particular category (supported only for Ensembl currently). New option `--list_rel` causes this output. In conjunction with the ability to list releases, you can now specify a specific release and only missing FASTA sequence files for that release will be listed or downloaded. This uses new option `--db_rel`.
    - Removed --epd switch. The EPD is now handled using the `--misc` option and the `conf/db_general.csv` file.
    - Downloaded Ensembl genomes are now the "soft-masked" versions whenever these are available, otherwise the un-masked versions are downloaded. The UCSC genomes are already always the soft-masked versions. GenBank genomes are not masked.
    - Fixed FTP address in properties file for UCSC databases (it had changed at UCSC).
  - Usage Statistics: added new choice to "Authors & Citing" menu that provides information about past usage of the main MEME Suite production server.
  - index-sequence-db: The utility program "fasta-indexer" was renamed to "index-sequence-db".
  - index-fasta-file: The utility program "index-fasta-file" was renamed to "fasta-file-indexer".
  - Webservers for MAST, MCAST, Glam2Scan: make "Upload File" the default for sequences because the old default ("Databases Select Category") slowed down loading the page due to the presence of 35,000 Ensembl bacterial genomes at the top of the list of databases.
- Documentation
  - AME:
    - Fixed mismatch between the sample output for AME and the input files used to generate it shown at the top-right of the AME web server input page.
  - T-GENE:
    - Fixed table describing GTF fields under `--rna-source` option.
  - SpaMo:
    - Added missing documentation for option `-usebestsec`.
    - Fixed documentation of `-dumpseqs` and `dumpsigs` options.
    - Added documentation for new option `-norc`.
  - index-sequence-db: Added missing manual page.
  - fasta-file-indexer: Added missing manual page.
  - Sequence Databases: Added note to Sequence Databases page about contacting us with requests to add a database or database release to the MEME Suite web server.

- Bug Fixes
  - T-GENE:
    - Fixed computation of correlation coefficient. Previously was sometimes giving correlations above +1 or below -1 due to rounding errors. This was resulting in anomolously low correlation p-values. All correlations are now rounded to 6 significant digits. Note: This also affects AME results very slightly when using the Pearson method.
    - Fixed computation of correlation p-value when many correlations have the same magnitude. Was giving very low p-values when many correlations have the same magnitude.
    - Fixed the documentation bubble for the correlation in the HTML output.
    - Added check so that the permutations used for computing the Correlation p-value are all non-identity permutations.
    - Renamed "Number of Permutations" to "Maximum Number of Permutations" in HTML output.
  - CREATE-PRIORS: Fixed bug that caused it to crash when parsing genomic coordinates.
  - update-sequence-db:
    - Fixed problem with incorrect description fields in Ensembl databases.
    - Fixed problem with incorrect description fields in Other Genomes and Other Databases.
    - Fixed problem with Ensembl FTP address: `ftp.ebi.ac.uk/pub/ensemblgenomes/pub` does not have recent releases. Now using ftp addresses: `ftp.ensembl.org/pub` for vertebrates and `ftp.ensemblgenomes.org/pub` for all other organisms.

MEME version 5.5.3 (June 15, 2023)

- New Features and Enhancements
  - MCAST:
    - Removed the -synth switch and changed the way that MCAST estimates the statistical significance of matches. The estimates are now always based on randomly generated sequences with GC-contents spanning that of the discovered motif clusters and their flanking regions. This makes MCAST's estimation of the statistical significance of matches much more robust and reliable. This enhancement causes the reported p-values to differ somewhat from previous versions of the MEME Suite, which estimated significance solely using all the observed matches in the input sequences.
  - STREME
    - STREME now creates a single file ('sites.tsv') in TSV format that contains the positions of the sites of each discovered motif. These are the same sites that STREME used to generate the PWM for the corresponding motif.
    - Added -parse-genomic-coord option, which causes STREME if possible to show actual genomic coordinates of discovered motif sites in the new 'sites.tsv' output.
    - Fixed rounding problems so that the lowest scoring sites are correctly included in the motif PWM and in the TSV lists of sequences and sites. This will affect the results on some inputs compared with previous releases. This also can affect XSTREME and MEME-ChIP results since they include STREME results. It also affects SEA results slightly.
  - STREME and SEA:
    - Improved how the control sequences are trimmed in order to allow the more accurate Fisher Test to be used with more datasets.
    - Improved reliability by only using the Fisher Test if both the hold-out and non-hold-out sequence sets meet the average length criterion. (Primary and Control sequence sets must have the same average length; Control sequences will be trimmed if their average length is greater.)
    - Added --notrim switch to suppress trimming of Control sequences if desired.
  - MEME-ChIP:
    - Added -parse-genomic-coord option, which causes MEME-ChIP if possible to show actual genomic coordinates of discovered motif sites in the STREME sites TSV output and FIMO output.
    - Added -streme-align opton to allow the STREME site positional distribution diagrams to align the sequences on their left, center or right ends.
  - XSTREME:
    - Added -parse-genomic-coord option, which causes XSTREME if possible to show actual genomic coordinates of discovered motif sites in the STREME sites TSV output and FIMO output.
  - MEME:
    - Fixed command line that is printed in the results files when MEME is run with the -p <np> option.
  - fasta-center:
    - Added -parse-genomic-coord option, which causes fasta-center to put the correct genomic coordinates of the centered sequences it outputs in their FASTA headers, if possible.
  - Web Servers:
    - MEME webserver:
      - Runs in parallel mode with maximum available cores unless configured with --with-mpi-nprocs=n where n>0.
    - FIMO webserver:
      - Added ability to parse genomic coordinates to "Advanced options".
      - Added ability to upload a background model to "Advanced options".
    - MCAST webserver:
      - Added ability to parse genomic coordinates to "Advanced options".
    - STREME webserver:
    - Added ability to parse genomic coordinates to "Advanced options".
    - Added ability to upload a background model to "Advanced options".
    - Added ability to turn off trimming of control sequences in "Advanced options".
  - MEME-ChIP webserver:
  - Added ability to parse genomic coordinates to "Advanced options".
  - Added ability to specify alignment in STREME site positional distribution diagrams to "STREME options".
  - Runs MEME in parallel mode with maximum available cores unless configured with --with-mpi-nprocs=n where n>0.
- XSTREME webserver:

- Added ability to parse genomic coordinates to "Advanced options".
- Runs MEME in parallel mode with maximum available cores unless configured with --with-mpi-nprocs=n where n>0.

- BED2FASTA webserver:

- The "Input the sequences" menu is now empty if there are no installed databases (since they are required by BED2FASTA).

- Documentation
  - Documented the support for Galaxy "Fetch sequence" genomic coordinates in sequence names when using the --parse-genomic-coord switch with FIMO and STREME. Added a separate man page describing the FASTA sequence coordinates formats that the MEME Suite supports.
  - The documentation for all tools that take motifs as input has been clarified to make it clear that they accept STREME output files (as well as MEME and DREME output files).
  - Copyright file: Updated dates and email address for commercial license inquiries.
- Bug Fixes
  - MCAST:
    - Fixed bug that caused position-specific priors not to work previously.
    - Fixed bug that caused MCAST to fail with a "NAN" error with certain types of inputs containing very skewed GC-content (such as CpG islands).
  - MEME-ChIP:
    - Option --seed was being ignored.
  - SEA: Fixed broken link in left side main menu (pointed to AME documentation by mistake.)
  - Tomtom: Modified Pearson scoring to get consistent scoring on all architectures.
  - T-Gene: Fixed missing descripton of the HTML and TSV output files.
  - update-sequence-db: Fixed problem with CTRL-C leaving partial databases that could not be used due to fasta-indexer not having been run. Also creates the sequence table with the "index" column, always now in case fasta-indexer finds to Genomes to index.
  - Side-bar menu: Removed broken link to "->View Current Load" in Alternative Servers sub-menu. This is no longer needed since the addition of the Jobs Running/Waiting field of the menu.
  - Side-bar menu: Now does not query job status *unless* the SITE_URL and SOURCE_URL are the same (e.g., this is the production server).
  - Citation.pm: Removed from the repository. This file is now built in scripts/ and copied from there to etc/.
  - Updated manual pages for FIMO, MCAST.

MEME version 5.5.2 (April 9, 2023)

- New Features and Enhancements
  - Docker: Added parallel mode to MEME (-p N switch), resulting in N-times speedup for MEME, and speedup of MEME-ChIP and XSTREME. On a typical Mac with the M1 ChIP, MEME 5.5.2 running via the Docker image is now at least 40 times faster than version 5.5.0.
  - MEME: The input files for the MEME example command lines can now be downloaded by clicking on them in the MEME command documentation. This is useful when MEME has not been installed from source (e.g., was installed using MacPorts or via a Docker image).
  - Side-bar Menu: The menu now shows the number of jobs running and pending on the MEME Suite webserver. This allows users to see how many jobs will be ahead of their newly-submitted job.
- Bug Fixes
  - Tomtom: fixed problem parsing motif files when the number of sites of a motif was very large.
  - MEME: fixed warning with MPICH due to not freeing declared MPI datatypes.
  - MEME: fixed crash when running in parallel mode due to nodes all having the same score in reduction.
  - STREME: fixed problem generating HTML when the input has very long sequences.
  - README file: updated with SEA, STREME, XSTREME tools.
  - Docker: fix check for the number of cores in test_driver.
- Deprecated features
  - Cygwin is no longer officially supported. Windows users should use the Docker image or install Windows Subsystem for Linux.

MEME version 5.5.1 (February 2023)

- New Features and Enhancements
  - update-sequence-db: Added --purge-only switch.
  - Docker:
    - Added Docker image for ARM architecture (Apple M1 chip) yielding 20x speedup.
    - Added links to allow fasta_databases and tgene_databases to be on the mounted volume.
    - Documented new sequence database archives available for downloading from meme-software in Docker.Readme.md.in.
    - Reorganized the MEME-ChIP manual page to be clearer and more similar to that of XSTREME.
    - Fixed log4j bug in Opal.
- Bug Fixes
  - STREME: Fixed bug that caused motifs to be incorrectly initialized.
  - STREME: Added rounding of scores and p-values to ensure results are consistent across platforms (including Ubuntu).
    Note--some STREME, XSTREME and SEA results will change slightly due to this bug fix.
  - MEME: Fixed bug in discretize() that caused crashing with ANR model and very short sequences.
  - upload-sequence-db: Fixed documentation in the installation guide.
  - Macports: modified Portfile to remove building of libxml2 and libxslt.
  - bed2fasta webserver: fixed name of log file (was "bedtofasta")
  - AME: Fixed bug where input of ≤ 2 sequences caused crash with Spearman CC chosen; mininum number of input sequences is now 3.
  - AME: round PWM scores to 10 digits and print "U" differently so results will be consistent across platforms (including Docker and Ubuntu).

MEME version 5.5.0 (October 2022)

- New Features and Enhancements
  - bed2fasta: (NEW) Extracts sequence regions specified in a BED file from a FASTA genome file. You can use this utility can be used via the MEME Suite web-server to create FASTA files from BED files (such as output by ChIP-seq peak callers). It can also be used as a stand-alone utility.
  - BED file input for MEME Suite web tools: (NEW) The MEME Suite web tools that allow you to upload a FASTA file now also permit you to upload a BED file and to select the corresponding (supported) genome instead. This makes it unnecessary for the you to create the FASTA file yourself.
  - update-sequence-db: (Improved user interface) You can now download and install DNA and protein sequence databases for your local MEME SUITE web server with more flexibility. Each of the divisions of the Ensembl, Genbank, UCSC and Upstream databases can be selected separately. This allows you to just download the genomes for bacteria if you do not need metazoan genomes, for example. You can also download individual sequence databases via FTP or HTTP using the --misc switch. (Previously, only FTP accessible databases were supported.) update-sequence-db automatically runs fasta-indexer. Update-sequence-db no longer updates all the sequence databases by default; you must specify one or more divisions to update.
  - Unicode UTF-8 Characters: FASTA sequence identifiers and Minimal MEME Motif Format motif names may now contain UTF-8 characters (e.g., Japanese and Chinese characters). These should display correctly in HTML and TXT output files from the MEME Suite tools. When displaying TSV output files using Excel, you must import the TSV file using "Data/From text" and then choose "File origin:" "UTF-8". Acceptance of UTF-8 characters is now supported by AME, CentriMo, FIMO, MAST, MCAST, MEME, MEME-ChIP, SEA, STREME, Tomtom and XSTREME. All the FASTA sequence utilities described in the MEME Suite Overview also support UTF-characters in the FASTA sequence identifiers in their input. The utilities meme-get-motif, meme-rename and motif-shuffle columns also support UTF-8 in the motif identifiers in their Minimal MEME Motif Format input.
  - prosite2meme: (NEW) convert PROSITE patterns to MEME motif format.
  - fasta-indexer: (NEW) Creates index files for the genomes in the sequence database directory. This functionality is required by bed2fasta, and depends on a you first creating a MEME Suite database using the update-sequence-databases utility.
- Bug Fixes
  - STREME: fixed bug in printing of site_distr in XML file when motif width equals maximum sequence length.
  - Custom alphabets: Fixed bug in reading of MEME text files so that the alphabet section can contain comment lines and trailing comments, as permitted in alphabet files.
  - MoMo: Fixed bug with short FASTA database sequences causing crash.
  - Unicode Characters: repaired a bug that caused Unicode characters (such as Chinese characters) in motif names and sequence names to cause MEME Suite programs to crash.
  - MEME:
    - Fixed bug when the motif width is the maximum value (-w 300 or -maxw 300) that caused crashing.
    - Fixed bug with position-specific priors caused by an error in the DELOG(x) function that caused it to return negative values.
    - Fixed bug with position-specific priors caused by an off-by-1 error in the psp_renormalize function.
    - Fixed bug with ANR mode caused by setting nsites_dis larger than n_maxima in the discretization function.
  - FIMO: fixed bug when FASTA sequence IDs are very long that caused crashing of FIMO.
  - getsize: fixed hash-table bug when FASTA sequence IDs are very long that caused crashing of getsize.
  - GLAM2:
    - Fixed bug caused by motif counts reaching 0 by adding an epsilon.
    - glam2html: fixed bugs in Python 3 version of this utility.
  - AMA: fixed bug due to motifs wider than 300.

MEME version 5.4.0 (August 2021)

- New Features and Enhancements
  - XSTREME: Combined motif discovery and enrichment analysis. Combines the results of ab initio discovery using MEME and STREME with motif enrichment analysis using SEA. Groups similar ab initio motifs with each other and with known motifs. XSTREME is similar to MEME-CHIP, but is more appropriate when the motifs may not tend to be enriched in the centers of the input sequences, and works well with protein sequences and nucleotide sequences.
  - SEA: Simple Enrichment Analysis of motifs. Reports known motifs that are enriched in your sequences relative to your control sequences or to shuffled versions of your sequences. Replaces and enhances ENR.
  - STREME:
    - Added options --thresh and --evalue to allow STREME to stop looking for motifs based on their E-values rather than their p-values. (The --thresh option replaces the --pvt option, which is still available for backward compatability.)
    - Added motif E-value column in HTML output and change MEME format motif header to E= in streme.txt.
    - Added "Positional Distribution" plots to HTML output. These plots show how the sites of each motif are distributed within the input sequences. Alignment of sequences for the plots is controlled by the new --align option.
    - Added output of a file (sequences.tsv) containing the names of each input sequence that contains a site of a discovered motif.
    - Added "Matches per Sequence" plots to HTML output. These plots show the distribution of the percentage of sequences with different numbers of matches to each significant motif.
    - The Sites column in the HTML now shows both the number of percentage of positive sequences with a site as well as the number of sequences.
    - The meme.txt file of motifs created by STREME now shows the Score (Training Set p-value) rather than the Test Set p-value when there was no Test Set due to the input containing too few sequences. This is indicated in the motif "letter-probability matrix" line, where "P=" is now replaced by "S=".
  - MEME: Will now search for up to 1000 motifs if -evt is given and you don't specify -nmotifs. Previously, it would only search for (up to) 1 motif.
  - AME:
    - Added the motif alternate ID to the sequence.tsv output. The new column in the TSV file is named "motif_ALT_ID".
    - Added option --text to just send TSV output to standard output.
  - fasta-holdout-set: New utility for splitting primary (positive) and control (negative) sequence sets into a main and holdout sets. Input is one or two FASTA sequence files. Output is two or four FASTA sequence files. If no control sequences are given, they are created by shuffling the primary sequences. By default, each FASTA file (primary and control) is split into two FASTA files containing 90% ("main file") and 10% (holdout file) of the input sequences, respectively. If either of the holdout files (primary or control) would contain fewer than 10 sequences, no holdout files are created and all sequences are put in the main files. This utility was create for use by XSTREME.
  - configure.ac: Added --with-mpi-nprocs to allow MPI jobs (e.g., meme) to use multiple processors when run as web services.
  - Consolidated all citations in doc/js/citation.js to remove redundancy and to prevent things from getting out of sync.
  - Added check for multiple cores to speed up "make test". Adds dependency on perl module "Sys::Info".
  - Simplified Tomtom web-server implementation. Removed the "run-immediate" option; all Tomtom jobs now go through the "short queue".
- Bug Fixes
  - AME: fixed bug in webserver, was ignoring advanced options "uniform" and "Model in motif".
  - CentriMo: fixed bug with "Download EPS (for publication)" button not working on some browsers.
  - GOMO: fixed links from GO terms to their descriptions at "amigo".
  - MAST: fixed bug in usage message.
  - MEME:
    - Fixed core dump caused with the "anr" model by very long sequences.
    - The -searchsize option now also limits the length of the longest sequence allowed, unless you specify "-searchsize 0".
  - STREME:
    - Fixed failure to honor "T=U" in custom RNA alphabets.
    - Fixed error when maximum motif width is larger than average sequence length.
    - Fixed printing of motifs in MEME format when there were no test positives or negatives but there was a hold-out set.
  - fasta-get-markov: was not deleting its temporary files /tmp/bfile.*.
  - All web servers: "Clear Input" button was no clearing "Hidden Modifications" warning on Advanced options menu header.
  - Scripting Access: Fixed broken links to sample scripts.

MEME Suite version 5.3.3 (February, 2021)

- Bug Fixes
  - INSTALL -- fixed bug that prevented building of embedded version of libxslt.

MEME Suite version 5.3.2 (February, 2021)

- Bug Fixes
  - MEME -- fixed problem that prevented downloading block diagram PDFs.
  - MEME -- RNA and Protein motifs may now be submitted to Tomtom via the Submit/Download menu in the MEME HTML output.
  - configure.ac -- changed default SITE URL to "https://meme-suite.org/meme".
  - sample outputs -- updated all sample outputs with new site URL.
  - Installation guide -- Simplified Quick Install instructions.
  - INSTALL -- updated Quick Install instructions.
  - various -- removed hard-coded references to meme-suite.org.
  - menu -- fix URL of menu header when the menu is on a server page

MEME version 5.3.1 (January 2021)

- New Features and Enhancements
  - MEME-CHIP web server: Modified Tomtom to send short jobs to a short job queue, rather executing them directly
  - Changed the time outputs from CPU time to ELAPSED time in MEME, STREME, MAST and TOMTOM so that the "-time" option works even when the job gets less than 100% of CPU time.
  - Added configure switches for setting the maximum memory and run time of jobs submitted via the web.
  - Added --totallength = maximum memory / 1000 to input to STREME when submitted via the web. Same for STREME called from MEME-ChIP submitted via the web. This will prevent STREME from using too much memory.
- Bug Fixes
  - MEME web application: 1-order model was missing from background model menu.
  - AME web application: the uniform background was broken, and 1-order mode menu choices were being displayed when they should not be.

MEME version 5.3.0 (November 2020)

- New Features and Enhancements
  - MEME-CHIP:
    - STREME now replaces DREME in the MEME-CHIP pipeline.
    - The maximum allowed motif width is reduced to 30 (from 300).
    - The motif width search range now defaults to [6,15] (from [6,30]).
    - The motif width options are now -minw and -maxw (were -meme-minw and -meme-maxw), and the minimum and maximum widths apply to motifs found by both MEME and STREME.
    - The default for the Markov model order option (-order) is raised from 1 to 2.
    - The Markov model is now created from the control sequences if given, not the primary sequences.
    - The -norc option is replaced by the -dna2rna option, which causes STREME and MEME to output RNA motifs given DNA sequence. CentriMo and SpaMo will display the DNA sequences as RNA; FIMO shows the sequences as DNA even when the motifs are RNA.
    - SpaMo and FIMO are now only run on motifs discovered by MEME and STREME (not on motifs from the motif database(s), which saves lots of time. The user can perform a separate SpaMo analysis using any motif later, if desired.
  - MEME-CHIP web server:
    - The default background model order is now 2nd order (was 1st order).
    - The width range option is now under Universal options (was under MEME options).
    - The Universal option "Scan both DNA strands" has been removed, and now a checkbox appears when you input DNA sequences: "Convert DNA sequences to RNA?".
    - You may now specify that MEME find 0 motifs, and STREME find 0 motifs, so only CentriMo will run, followed by a clustering of enriched motifs.
  - STREME: Added the "Sites" column to the HTML output to make it more like MEME output.
- Bug Fixes
  - STREME: fixed bugs in links to TEXT and XML outputs in the template HTML output.
  - STREME: fixed rare bug when palindrome went past end of seed.
  - STREME: fixed globals in header that were not declared extern.
  - ENR: fixed typo in documentation.
  - MEME-CHIP webserver: fixed bug where the the control sequence disappeared after page refresh.
  - General: Added charset=UTF-8 to etc/job_status.tmpl to stop Firefox console warnings.
  - General: Fixed duplicate variable declarations that caused compile failure with GCC v10.
  - General: Added -fno-common to CFLAGS so that variables not declared "extern" in .h files will cause an error with MacOS compilers, as the do with GCC v10.
  - General: Fixed bug in SameSite attribute of Google Analytics cookies.

MEME version 5.2.0 (October 2020)

- New Features and Enhancements
  - STREME: The new STREME motif discovery algorithm is designed to replace DREME and to complement MEME. STREME finds more accurate motifs than DREME, finds more subtle motifs, can find much wider motifs (up to 30 wide vs. 8 wide), and can quickly process very large sequence datasets (e.g., 4,000,000bp DNA input in 100 seconds/motif). STREME provides accurate estimates of the statistical significance of the motifs it discovers. Like MEME, STREME works with a wide range of sequence alphabets: DNA, RNA, protein and custom (user-specified) alphabets. Like DREME, STREME can work with a single input set of sequences, or you can provide a set of control sequences for discriminative motif discovery.
    STREME is available both via its webserver and as a command-line program if you download the MEME Suite software.
  - ENR: The new ENR (Motif ENRichment Analysis) algorithm applies the same objective function used by the STREME motif discovery algorithm to measure the enrichment of motifs large sequence datasets. It is useful for comparing the discriminative power of motifs found by STREME and other motif discovery tools. The input to ENR is one or two sets of sequences. The control sequences should have approximately the same length distribution as the primary sequences. If you do not provide a control set, the program shuffles the primary set to create a control set. The program uses Fisher's Exact Test to determine significance of each motif found in the positive set as compared with its representation in the control set, using a significance threshold that may be set on the command line.
  - fasta-grep: Now -erase now works with proteins (as well as DNA) replacing matching words with 'X's.
  - fasta-shuffle-letters: New option -fix allows shuffling while preserving the position of a selected character. This is useful to allow 0-order (-kmer 1) shuffling of masked sequences while preserving runs of the masked character.
  - MEME motif text format: Now allows "P= <motif p-value>" in place of "E= <motif p-value>" on the letter-probability matrix line.
- Documentation:
  - STREME Manual.
  - STREME Tutorial.
  - ENR Manual.
- Bug fixes:
  - CentriMo webserver: fixed the Advanced option "Choose the match score threshold; optimize score" button.
  - MAST: fixed -mev so that it works. Also works when the motif file specifies the motif p-value rather than E-value.

MEME version 5.1.1 (February 1, 2020)

- New Features and Enhancements
  - The MEME Suite build will now detect whether the version of Python being used is version 2 or version 3, and generate the appropriate version of tools such as Dreme.
  - Tomtom: Added limit on the query width to prevent memory overrun. TOMTOM_MAX_QUERY_WIDTH is set to 100 by default but can be changed by installer via src/user.h. Also, added a `-time` option to limit the CPU time used by a Tomtom job.
  - Tomtom webserver: Set limit (default 3) on number of concurrent "run immediately" Tomtom jobs that can run, and limit such jobs to 1 minute of CPU time. This prevents exceeding the server's memory.
- Documentation:
  - The web application now records basic usage information to Google Analytics
  - transfac2meme: Fixed the documentation pertaining to TRANSFAC-like format and added the -use_name option. Updated the motif_conversion.html document regarding transfac2meme and the TRANSFAC-like motif format.
- Bug fixes:
  - Glam2: Fixed the HTML output so that the "letter-probability" motif columns sum correctly to 1. This bug caused Glam2 motif not to work with other MEME Suite programs such as Tomtom.
  - transfac2meme: Improved the usage message.

MEME version 5.1.0 (October 2019)

- New Features and Enhancements
  - CisMapper: removed from the MEME-Suite; has been replaced by T-Gene.
  - T-Gene: New command line program for improved prediction of the gene targets of transcription factors from BED files containing the genomic locations of possible regulatory elements (typically, a bed file of ChIP-seq peaks). T-Gene's only other required input is a gene annotation file, and computes a statistical, distance-based score for each potential regulatory link between a locus in the BED file and a transcription start site (TSS) of a transcript in the annotation file. T-Gene can also use a Tissue Panel containing histone modification data and gene expression data for a set of tissue or cell types. It then computes a statistical score for each link that combines distance with the correlation in histone state at the locus and expression of the gene, achieving higher accuracy than methods based only on distance or correlation. T-Gene also includes a link to the closest TSS to each locus (putative regulatory element) element, and such links have much higher predictive accuracy in empirical studies. T-Gene computes p-values for the observed expression/histone correlation by generating a null model based on shuffling the order of the expression tissues relative to the histone tissues. T-Gene computes the p value for the distance between an RE and a TSS assuming a uniform distribution on the distance:
    `p-value = (distance + RE width) / (maximum distance + RE width)`.
    T-Gene computes a score that combines Correlation and Distance (CnD p-value) by computing the p-value of the product of the correlation and distance p-values. Finally, T-Gene computes the Q-value of the CND p-value, which is defined as the minimum false discovery rate (FDR) required to consider this link statistically significant. All regulatory links predicted by T-Gene are labeled as to whether they are either "closest-TSS" or "closest-locus" links.
  - T-Gene Web Server: added, featuring tissue panels for Human and Mouse and Genomes for 8 model organisms: Arabidopsis, Worm, Zebrafish, Fly, Human, Mouse, Rat, and Yeast.
  - The MEME HTML output now allows you to generate an image of the motif location diagram as either 1) a PDF image file suitable for use in publications, or, 2) an SVG (Scalable Vector Graphics) image file suitable for inclusion in HTML documents.
  - CentriMo now lists the number of reported regions in the control sequences containing the best match to a motif, and the number of motif matches in the control scoring higher than the score threshold.
- Documentation:
  - T-Gene manual.
  - T-Gene tutorial.
- Bug fixes:
  - Fixed integer overflow on large sequences in `fasta-shuffle-letters`
  - SpaMo HTML output file: added missing '.eps' extension to Alignment Logo download file.

MEME version 5.0.5 (March 2019)

- New Features and Enhancements
  - CisMapper: Now part of the MEME Suite. CisMapper is useful for predicting regulatory links between regulatory regions (chromosome locations) and genes. Typical uses include predicting regulatory links from transcription factor ChIP-seq peaks, provided as a BED file. CisMapper can be run from its new webserver page, or from the command line. CisMapper uses gene expression and histone modification data from a panel of tissues in a given organisms. The CisMapper webserver currently provides Expression & Histone panels only for hg19 (human) and mm9 (mouse).
  - MoMo: Upgraded HTML output to use JSON like other MEME Suite programs, and added help bubbles, improving its layout and readability.
  - MoMo: Added PERL-style regular expressions for each discovered motif in the HTML, TSV and text (MEME) outputs.
  - MoMo: Simplified and improved documentation of MoMo's output format.
  - MoMo Web Server: Added a gzipped tar file of the results because the HTML file is not stand-alone--it requires the log PNG files.
- Documentation:
  - Added the CisMapper documentation: the manual page and the tutorial page.
- Bug fixes:
  - Fixed MoMo bug: motif logo files contained square brackets, which didn't work over the web; now they are replace by 'b' for '[' and 'd' for ']'.
  - Fixed MoMo bug: MoDL algorithm could result in divide by zero when calculating the fold change.
  - Fixed MAST bug: could crash if FASTA sequence descriptor line contained non-ASCII character; now replaces them with underscores.
  - Fixed FIMO bug: could crash if FASTA sequence header line contained non-ASCII character; now replaces them with underscores.

MEME version 5.0.4 (January 2019)

- Bug fixes:
  - Fixed CentriMo bug: crashed if a motif was as wide or wider than the sequences; now it skips the motif and prints a warning.
  - Fixed AMA/GoMO bug: could crash if the motif was very wide.
  - Fixed AME bug: could crash if there was only one sequence in the input.
  - Fixed SpaMo bug: memory leak would exhaust memory with big input files.
  - Fixed FASTA bug: read_one_fasta was failing to leave room for trailing null in read buffer.
  - Fixed Tomtom bug: would crash if primary motif was not valid.
  - Fixed MCAST bug: would crash if any sequences was shorter than the widest motif.
  - Fixed MCAST bug: would crash if any motif was only 1 wide; now motifs are skipped if their width is less than 2.
  - Fixed MCAST bug: would sometimes crash when --synth switch given. MCAST results are now slightly different (different p-, E- and q-values, mostly.)
  - Fixed MCAST bug: crash could occur when there was only one or two motifs.
  - Fixed MCAST bug: output would not display properly sometimes when the number of motifs was very large.
  - Fixed CentriMo bug: would crash if any motif was as long as the sequences; now motifs are skipped if they are not at least 2 shorter than the sequences.
  - Fixed missing documentation files fasta-center.html and fasta-dinucleotide-shuffle.html.
- Improvements
  - AME: Checks that there are a total of at least 2 primary and control sequences.
  - AME webserver: Checks that there are a total of at least 2 primary and control sequences.
  - CentriMo webserver: Added option to use a uniform background model, or the model in the motif file.
  - MCAST webserver: Added option to not hard-mask (convert to 'N') lowercase nucleotides.
  - MEME webserver: Checks that there are at least 2 primary sequences unless you specify the 'Any Number of Repetitions' site distribution.
  - SpaMo webserver: Added advanced option to specify the background model.
  - MEME: reduce the amount of memory required, especially with the ANR model. With ANR, no more than 2,000,000 local maxima will ever be stored (1,000,000 each for primary and control sequences).
  - FASTA input: programs will now skip sequences that are too long, rather than dying.
  - test_driver: added --valgrind switch to allow search for memory leaks.
  - Plugged many memory leaks.
- Documentation
  - MEME: Clarify that -nsites and -maxsites override -csites if the model is ANR, and correct the description of the default for -maxsites.

MEME version 5.0.3 (December 2018)

- Bug fixes:
  - Fixed MAST bug: didn't read E-values of motifs correctly if they were >1e300; checks the log(E-value) of motifs now.
  - Fixed MEME bug: -cons option didn't work when the model type is DE or SE.
  - Fixed MEME bug: -mod zoops sensitivity was decreased for large datasets (greater than -searchsize) due to incorrect setting of the initial fraction of sequences with sites.
  - Fixed gendb bug: -alph option caused crashing.
  - Fixed AME bug: output erroneously called E-value threshold "Adjusted p-value threshold".
  - Fixed AME bug: crashed sometimes when sequence names were > 100 characters (bug in shuffle_seq()).
  - Fixed bug: parsing of MEME model file alphabet line was failing if they were missing the trailing ":".
  - Fixed FIMO bug: crash occurred if a motif in a MEME text file had zero alphabet length.
  - Fixed MCAST bug: crash occurred if a motif ID was longer than 50 characters.
  - Fixed MEME bug: crash when sequence name contained a non-ASCII character; now replaces them with underscores.
  - Fixed SPAMO bug: crash caused by bug in similar sequence removal algorithm
- Improvements
  - MEME: Improve results with large alphabets by making the default value of "fuzz" (see MEME option -spfuzz) depend on the alphabet size: fuzz = 2 / size_of_alphabet.
  - MCAST: Improved user message when the --hardmask switch is given and lower case letters are changed to wildcards.
  - CentriMo: Improved failure message when the input file contains no sequences of the correct length.
  - MEME-ChiP: Improved documentation to emphasize that motif discovery is only in the central regions (100 characters by default) of the input sequences; also removed reference to 50Mb website limit.
  - test_driver: Added --valgrind switch to allow testing for memory errors.

MEME version 5.0.2

- Bug fixes
  - Fixed rna2meme bug when there is no word after the FASTA ID.
  - Fixed bug that caused failure of notification email for AME web app
  - Fixed bug that caused generation of spurious warning message file for AME web app
  - Fixed bug that caused miscounting of background peptides in MoMo with MoDL algorithm.
  - Fixed bug that caused MEME not to honor the limits on nsites.
  - Fixed menu link to MEME SUITE source code.
  - Fixed missing Messages file link in MEME-ChIP output.
  - Fixed missing output format documentation files.
- Improvements
  - Added -searchsize 0 feature to MEME to make it emulate earlier versions of MEME when used with -objfun classic.
  - Added shuffled foreground peptides as default for MoMo background peptides.
  - Greatly improved computation of MoMo E-values.
  - Improved MoMo HTML output.
  - Added new MoMo TSV output file.
  - Added new MoMo test.
  - Fixed the momo.html file to give correct descriptions of --min-occurrences, --remove-unknowns and --eliminate-repeats regarding affect on background peptides.
  - Created documentation file 'momo-output-format.html'.
  - Fixed the rna2meme documentation file 'rna2meme.html' to corectly describe its purpose.
  - Fixed the motif_conversion.html file to give better example of rna2meme.
  - Installation now allows the user to specify the URL for a local website, the alternate local website, and the source code repository. These locations are then updated throughout the installed command-line and website applications. If desired, these can all be set to local URLs so that no links will point outside of the user's installation of the MEME Suite.
  - Updated tool output HTML to specify the location of help on interpreting results and the repository fo downloading the source code as separate URLs.
  - Re-formatted FIMO HTML output to resemble the other tools' output.

MEME version 5.0.1

- Bug fixes
  - Fixed bug in momo_webservice with `--remove_unknowns` switch
  - Fixed AME bug triggered by sequences that are too short for the widest motif
  - Fixed NULL pointer bug in MEME triggered by `-maxsize` option
  - Fixed bug in momo.test
- Improvements
  - Enhancements to MoMo HTML output.

MEME version 5.0.0

- Highlights

- MEME improvements:
  - Major speed enhancements have been made to MEME when used with large inputs.
  - Two new objective functions have been added to MEME for finding differentially enriched and centrally enriched motifs, respectively.
  - The MEME webserver now allows much larger inputs. Inputs may now contain up to 500,000 sequences (up from 1000). The input form limit of 80,000,000 characters remains.
- AME improvements: The AME tool has been completely redesigned, its speed enhanced, and many bugs have been corrected.
- MEME-ChIP improvements:
  - MEME-ChIP now uses all input sequences. It no longer subsamples the input sequences if there are more than 600, which was previously needed due to MEME's time complexity with large inputs. The MEME-ChIP webserver now accepts inputs with up to 500,000 sequences. The input form limit of 80,000,000 characters remains.
  - The MEME-ChIP output has been improved, and now provides both an output summary in TSV format as well as a file containing all the enriched motifs found in MEME format.
- New (TSV) output files: Most tools now also produce tab-separated value format (TSV) output files. Links to each of the new output files have been added to the top of the tool's HTML output file. These TSV files simplify and enhance using the output of the tools AME, CentriMo, FIMO, GOMo, MCAST, MEME-ChIP, SpaMo and Tomtom. Each TSV output file contains a header line (without the "#" character so R will see the column names as variables). The main TSV output files also contain the version number, documentation link and command line.
- More documentation: Added documentation files for the output formats of AME, CentriMo, FIMO, GOMo, MCAST, MEME-ChIP, SpaMo and Tomtom. The MEME documenation now includes plots of running time as a function of input size.
- Improved documentation:
  - Ambiguous characters: Added documentation to each HTML man page stating how the tool treats ambiguous characters in sequences.
  - Alphabet description: Added the alphabet description to the HTML output for: AME, CentriMo, SpaMo, MEME-ChIP, MCAST, FIMO, Tomtom.
- Backward compatibility testing: Added backward compatability testing of motif reading in motif-in.test (--comprehensive) for versions as old as 4.7.0.
- Standard directory structure: The directory structure of the MEME Suite installation now conforms to the Filesytem Hierarchy Standard.
- Balanced background models: When scanning both strands, all tools now "balance" the background model (if the alphabet has complements) before using it to create pseudocounts for the motifs.
- Command-line consistency: All programs now also accept -bfile if they just accepted -bgfile before.

- New Features and Enhancements
  - AME
    - Increased speed by 38%.
    - Added a TSV file summarizing the enriched motifs.
    - Added a TSV file listing positive sequences for significant motifs (Fisher only).
    - Added links to the TSV files at top of HTML output.
    - Made p-value computations in log space.
    - Replaced the option --pvalue-threshold with option --hit-odds-fraction, which defines hits as having scores at least X% of the maximum possible score for the motif. Whereas --pvalue-threshold only applied to the totalhits scoring method, --hit-odds-fraction applies to all scoring methods.
    - Removed option --pwm-threshold. The positive sequence score threshold for the fisher method now uses the --hit-odds-fraction option.
    - fisher method: now performs optimization over sequence score thresholds in --fix-partition or --control modes.
    - linreg method: renamed to 'pearson', it now computes p-values and optimizes the p-value of the Pearson's correlation coefficient, rather than mean squared error.
    - spearmans method: now does partition maximization and computes p-values.
    - Report p-value adjusted for number of tests and E-value (adjusted for number of motifs) instead of raw p-value and p-value adjusted for tests+motifs.
    - Changed --pvalue-report-threshold to --evalue-report-threshold.
    - Removed --linreg-normalize and --rs-method options.
    - Added Pos, Neg, %TP, %FP and Score columns to Fisher test output.
    - Changed "--method mhg" to "--method 3dmhg".
    - Removed "--bgformat" option and made selection of background model identical to CentriMo's method.
    - Changed the default pseudocount to 0.1 (like CentriMo) and changed the option.
    from "--pseudocount" to "--motif-pseudo" (like CentriMo).
  - Added --shuffle-- keyword to --control option, causing shuffled primary sequences to be used as the control sequences.
  - Added --kmer <k> switch to cause <k>-mers frequencies to be conserved when shuffling.
  - Added --seed to allow the random number seed to be set.
  - Added --inc and --exc switches to allow choosing motifs whose names match a pattern.
  - Created documentation file 'ame-output-format.html'.
- AME Website
  - Added "NONE" as choice for control sequences.
  - Added all remaining association functions to menu: linear, spearman, 3dmhg, 4dmhg.
  - Changed default association function to "fisher".
- CentriMo
  - Changed centrimo.txt to centrimo.txv, a TSV file summarizing the enriched motifs.
  - Added links to the TSV files at top of HTML output.
  - Created documentation file 'centrimo-output-format.html'.
  - Added "Concentration" field to HTML output, which gives the total probability in the central region whose size is controlled by the user-adjustable "smoothing window" size.
  - added --inc and --exc switches to allow choosing motifs whose names match a pattern.
  - added --dist switch to perform distance-to-center-of-sequence motif enrichment analysis.
  - added --use_pvalues switch to allow thresholding on the adjusted motif p-value rather than the log-odds score.
  - removed --dist switch because it was not useful.
- DREME
  - Changed the -v option to -verbosity to match other tools in the MEME Suite.
  - Added documentation on the sequence logo files created by DREME.
- FIMO
  - Changed fimo.txt to fimo.tsv.
  - Added links to TSV and GFF3 output in HTML output.
- FIMO Website
  - Removed non-functional user interface elements for submitting a custom alphabet file from web application.
- GOMo
  - Changed gomo.txt to gomo.tsv, a TSV file summarizing the enriched motif-GO term pairs.
  - Added header line to the TSV output.
  - Added links to TSV and XML output in HTML output.
- MAST Website
  - Removed non-functional user interface elements for submitting a custom alphabet file from web application.
- MEME
  - Improved MEME's speed.
  - MEME's running time is now now O(N) for the OOPS model, and O(N log N) for the ZOOPS model, where N is the total size of the input sequences.
  - Added -maxsize option, which sets the maximum number of characters from the input sequences that will be used during EM, the second step of MEME. (All data is used in the final, discretization step.) This reduces the time complexity of the second step of MEME to a constant not dependent on the size of the input sequences.
  - Added -csites option, which sets the maximum number of sites allowed for motifs when using the "Classic" MEME objective function. By default, the limit is 1000 sites. Increasing this can increase running time substantially due to the cost of computing the value of the "Classic" objective function for motifs with many sites (time = O(#sites^3)).
  - Added documentation on the sequence logo files created by MEME.
- Enhanced MEME with new objective function for finding differentially enriched motifs.

- This objective function causes MEME to search for motifs that are enriched in the primary sequences relative to the control sequences.
- New objective function is selected using the -objfun option: -objfun de
- The user may provide a set of control sequences via the -neg option; otherwise MEME will create a control set of sequences by shuffling the primary sequences.
- Added -shuf option, which controls the size of words whose frequencies are preserved when shuffling sequences to create a control set.
- Motif significance is computed using the multiple hypergeometric test, which is substantially faster than the "Classic" MEME objective function, and yields less conservative E-values.

- Enhanced MEME with new objective function for finding centrally enriched motifs.

- This objective function causes MEME to search for motifs that are enriched in the central regions of the sequences, which must all be of thes ame length.
- New objective is selected using the -objfun option: -objfun ce
- Motif significance is computed using the binomial test, which is substantially faster than the "Classic" MEME objective function, and yields less conservative E-values.
- This objective function is designed for use with sequences from whole genome approaches such as ChIP-seq and CLIP-seq, and the sequences should include adequate flanking region around the expected motif sites—e.g., use sequences of 500bp for ChIP-seq.

- Improved MEME's use of background models.

- Added the -markov_order option, which specifies the order of the background model to generate from the input sequences (default), or the maximum order model to extract from the file given using the -bfile option.

- Improved MEME's search for starting points (Classic objective function).

- Added the -use_llr switch, which causes the log-likelihood ratio (rather than the Classic objective function) to be used in evaluating possible starting points for EM. This allows for higher order background models to affect the search for starting points.

- Improved MEME's search for motifs (non-Classic objective function).

- MEME now detects if EM "wanders" away from the starting point and uses the (discretized) starting point as the motif in that case.

- Other MEME enhancements

- Removed limitation on the number of motifs MEME can report.
- Changed: MEME run from -cons will only try the given width with that start.
- Fixed: computation of background frequencies in MEME when there are ambiguous characters.
- Fixed: changed the default maximum value of -maxnsites to 600 when using the ANR model, matching the documentation.

- MEME Website
  - Increased allowed input size: Max sequences now 1,000,000 (from 1000).
  - Increased allowed input size: Max letters now 10,000,000 (from 60,000).
  - Added ability to create up to 4th order models from the input sequences.
  - Added "Differential Enrichment mode" as alternative to "Discriminative mode" (which uses a position specific prior).
- MEME-ChIP
  - Removed subsampling from MEME-ChIP--it now uses all the input sequences.
  - Created documentation file 'meme-chip-output-format.html'.
  - Added '-keepprimary' to command line.
  - Added new test for custom alphabet mode.
- MEME-ChIP Website
  - Added "Differential Enrichment mode" as alternative to "Discriminative mode" (which uses a position specific prior).
  - Added ability to create up to 4th order models from the input sequences.
- MoMo
  - Added documentation on the sequence logo files created by MoMo.
  - Make "no hashing" the default for finding the location of peptides when a protein database is provided.
- SpaMo
  - Added feature to output all of the "contributing sequence IDs" as a text or BED file with one click of a button at the top of the output form. Sequence IDs are introduced by a line containing the file name that would be used if the sequence IDs for a single primary-secondary spacing were output.
  - Fixed bug in -xalph that caused the wrong background for secondary motifs.
  - Fixed bug in HTML display of number of significant motifs when >1 secondary DBs.
  - Fixed bug causing number of erased matches to be wrong with -keepprimary.
  - Clarified use of -inc and -exc; they only affect secondary motifs.
  - Changed TXT file to TSV file summarizing the enriched motifs.
  - Added links to the TSV files at top of HTML output.
  - Created documentation file 'spamo-output-format.html'.
- Tomtom
  - Changed text output file name to "tomtom.tsv".
  - Added links to TSV and XML output in HTML output.
  - Added HTML to smoke tests.

MEME version 4.12.0 -- June 27, 2017

- Enhancements
  - Added MoMo application. MoMo identifies sequence motifs associated with different types of protein post-translational modifications (PTMs). The program takes as input a collection of PTMs identified using protein mass spectrometry. For each distinct type of PTM, the momo command uses one of three algorithms to constructs a motifs representing amino acid preferences flanking the modification site.
- Bug fixes
  - Fixed default values for centrimo options `--score` and `--motif-pseudo`.

MEME version 4.11.4 patch 1 -- May 18, 2017

- Bug fixes
  - Fixed bug in Tomtom that disabled the -png and -eps options.
  - Fixed bug in fasta-hamming-enrich with non-complementable alphabets.
- Enhancements
  - Improved documentation on background file inputs for AME, MEME, MEME-ChIP, MAST, CentriMo, and Tomtom.
  - Added the reverse complement as the alternate ID in iupac2meme.
  - Added documentation for meme2images script.

MEME version 4.11.4 -- March 31 2017

- Enhancements
  - AMA GFF2 output now has only 9 fields as in the standard, and the AMA documentation has been corrected to reflect this.
  - MEME motif names are now their consensus sequence, rather than a number, and the alternate ID is "MEME-i", where "i" = 1, 2, 3,... is the old motif name. MEME tests now check the integrity of all output formats: text, HTML and XML.
  - DREME motifs now include an alternate ID "DREME-i", where "i" = 1, 2, 3... etc. is the index of the motif.
  - CentriMo output now contains a column for the motif consensus sequence, and the display of this column can be turned on or off.
  - MEME-ChIP now produces a summary file in "tab-separated values" format suitable for use by programs such as Excel and for easy parsing by scripts. The motif IDs in this file are synchronized with the IDs in the motif file named "combined.meme" file, which contains all of the significant motifs found by MEME-ChIP in MEME Motif Format. New links to these two files are provided at the top of the of MEME-ChIP's HTML output. The HTML output of command-line MEME-ChIP is now named "meme-chip.html", as it was for the web-server version. The --index-name option has been removed.
  - FIMO output now includes a column for the alternate motif name. Added command line to XML output. Different FIMO tests check input of all three MEME formats: text, HTML and XML. Added the sequence name and strand to the "Group Name" field in GFF3 output so that GFF3 files can work with the UCSC Genome Browser, which requires groups members to all be on the same sequence and strand.
  - Motiph Added command line to XML output.
  - MAST text output (including with the -hit_list option) now includes columns for the motif name and alternate name in addition to the motif index.
  - AME --bfile option now overrides --bformat so it is only necessary to specify --bfile to get the desired result.
  - AME output now includes a column for the alternate motif name; in addition, the text output also includes the consensus of the motif.
  - SpaMo Fixed alignment of inferred secondary logo when the secondary logo was trimmed on the left. Added the alternate ID wherever the motif ID is displayed. Replaced spaces with underscores in the Inferred Secondary and Alignment motif names when they are downloaded as MEME motifs or EPS images. Documented the problem with Macs not showing the scroll bar under the Alignment logos.
  - GOMo Fixed bug causing webserver page to crash if no GOMo databases are installed.

MEME version 4.11.3 patch 1 -- March 11, 2017

- Bug fixes
  - Fixed bug causing FIMO not to generate GFF output for motifs using RNA or custom alphabets.
  - Fixed bug that caused MEME-ChIP to halt with an error when TomTom finds no matches.
  - Fixed bug that caused MEME Suite build and install to fail when no system copy of the XSLT library was installed.
  - Fixed Java 8 incompatibility in web site installation.

MEME version 4.11.3 -- February 21, 2017

- Enhancements
  - Added AME, DREME, and FIMO tutorials.
  - Improved consistency and documentation of -alph, -xalph and --bfile/-bgfile options across the MEME Suite.
- Bug fixes
  - Fixed bug causing MEME-ChIP to fail to show "Known or Similar Motifs" for MEME and DREME

MEME version 4.11.2 patch 2 -- October 24, 2016

- Enhancements
  - Added support for Python 3.
- Bug fixes
  - Fixed bug causing MEME-ChIP to fail to show "Known or Similar Motifs" for MEME and DREME de novo motifs.
  - Fixed bug in handling of RNA-like custom alphabets.
  - Fixed bug in MAST -comp option.

MEME version 4.11.2 patch 1 -- June 16, 2016

- Bug fixes
  - Fixed bug in MCAST 4.11.2 that caused it to prematurely truncate reading the sequence file.
  - Modified MEME to fall back to a simple Dirichlet prior when using DNA or a custom alphabet with a prior that requires a prior library, but no prior library is specified.

MEME version 4.11.2 -- May 5 2016

- Enhancements
  - Reduced running time of DREME by 60%.
  - Improved running time of FIMO.
  - Added Ensembl Fungi, Ensembl Metazoa, Emsembl Protists, and Ensembl Plants to on-line sequence databases.
  - Improved links to on-line annotations in MAST results.
  - Added `fasta-re-match` script for scanning FASTA files with regular expressions.
  - Updated installation guide.

MEME version 4.11.1 -- Jan 15 2016

- Bug fixes
  - Script tag 'src' attributes for web applications now include a 'version' parameter to prevent outdated scripts from being cached.
  - The C standard `gnu89` is specified for the build. This resolves problems building the MEME Suite with GCC 5.1. This was a common problem for users running the latest version of Ubuntu.
  - Fixed incorrect formatting of E-value threshold in MEME XML output. The incorrect formatting caused failures in `meme_xml_to_html`.
  - Fixed error in TomTom web application when the RNA alphabet was selected.
  - Fixed error in Javascript alphabet parser. The parser was not allowing blank lines, or lines consisting only of a comment.
  - Fixed error in fasta-center and psp-gen scripts that prevented use of RNA alphabet.
  - Fixed errors in specification of options, and parsing errors in elm2meme script.
  - Removed broken link to LAM MPI. LAM MPI has been superseded by Open MPI, and the host web site no longer exists.

MEME version 4.11.0 -- Nov 23 2015

- New Features and Enhancements
  - Custom alphabet support
    - A majority of the programs in the MEME Suite now support custom alphabets including MEME, DREME, MEME-ChIP, CentriMo, SpaMo, AME, FIMO, MAST and Tomtom.
    - RNA has been added to the list of built-in alphabets.
  - Priors for sequence databases
    - The FIMO and MCAST web services now have support for position specific priors for some selected databases.
  - SpaMo
    - Sensitivity is improved by combining the counts for secondary motif sites in each of the four possible orientations in 9 ways corresponding to patterns expected when the primary and/or secondary motif is palindromic.
    - Sensitivity is improved by using all secondary motif sites scoring above the score threshold in the analysis rather than just the best-scoring site. The old SpaMo approach can still be used by specifying the new "-usebestsec" switch.
    - False positives are reduced because, by default, all occurrences of the primary motif are "erased" (other than the central one). This reduces the tendency of motifs similar to the primary motif to appear enriched. The -keepprimary switch can be used to override this behavior so that spacings between multiple occurrences of the primary motif can be observed.
    - The sequence identifiers for the sequences with the significant spacing are now displayed to allow further downstream analysis (e.g., GO or pathway analysis).
    - The actual secondary sites are combined into an "inferred motif" and displayed as a sequence logo in order to make clearer what the putative sites look like. This allows cases where the significant secondary motif in the database is similar, but not the same, as the motif actually present in the sequences.
    - The inferred motif is displayed as a frequency matrix to allow further downstream analysis (e.g., using Tomtom to search other motif databases to identify motifs more similar to the inferred motif.
    - Alignments of the sequences with the significant spacing are displayed as sequence logos. Among other purposes, this can allow cases where the sequence similarity extends beyond or between the primary and secondary sites, suggesting either 1) the regions are repetitive or 2) the actual secondary or primary motif sites are distinct from the respective primary and secondary motifs used in the analysis.
    - The elimination of overly similar sequences has been sped up using a heuristic optimization. A bug was also eliminated that caused the comparison to involve only the given strands of DNA sequences rather than both strands.
    - By default, all sequences containing ambiguous characters in the margins around the primary motif are now removed. This is necessary for the new heuristic similarity search. It also helps insure that the uniformity assumption of random motif occurrences since sites with ambiguous characters are not scored. This check is turned off when the similarity search is disabled using the "-shared" switch.
    - A tab-delimited text output file "spamo.txt" is now created for easy parsing by other programs.
    - The new -text switch causes SpaMo to create only the text file "spamo.txt", skipping the creation of the HTML output file.
    - Changed handling of duplicate sequence IDs from 'die' to 'skip'.
  - fasta-shuffle-letters
    - Added capacity to perform efficient, higher-order shuffling of FASTA sequences.
- Bug fixes
  - taipale2meme
    - Changed naming of multiple motifs for same TF to start with _1 (rather than no _).
    - Fixed bug that was giving motifs duplicate names when _2 was reached.

MEME version 4.10.2 -- Aug 11, 2015

- New Features and Enhancements
  - General
    - Added the utility script `fasta-grep` for finding matches to a Perl regular expression in a FASTA file.
    - Replaced use of system pseudo-random number generator with an implementation of Mersenne Twister, providing more consistent results across platforms
  - File conversion utilities
    - Added `-seed_start`, `-seed_end` and `-other_count` options to rna2meme
  - FIMO
    - Eliminated dependency on XSLT for output
  - MCAST
    - Added support for Position Specific Priors (PSP)
    - Improved modeling of p-value distribution: GC content added as a parameter in EM estimation of exponential distribution.
    - Eliminated dependency on XSLT for output.
  - Web pages
    - Added a job submission rate limiter to the web server
    - Added additional check to all job submission forms to ensure the combined form input size is smaller than 80MB
    - Added links for viewing the load on the alternative servers
    - Improvements to the display of sequence and motif databases
  - sequence-update database utility
    - Numerous enhancements and fixes
- Bug fixes
  - Documentation
    - Numerous documentation fixes and improvements
  - General
    - Added check for sequences shorter than the motif used to scan them
    - Fixed the parsing of MEME motif files to handle cases when the E-values are written out in different formats
    - Fixed the writing of MEME motif files so the E-values are written out using the same formatting in (hopefully) all circumstances
  - Web pages
    - Fixed the logic used to display server news and notices to take into account differences between the clock of the server and the local computer's clock.
    - Fixed a bug where the webserver was not logging the job submission times
    - Fixed a bug in the website FASTA file validator which was incorrectly rejecting sequence weights for being out of range
    - Added more obvious links to the motif database overview page from the job submission pages
    - Changed download page to prevent caching of the inner frame in the Safari web browser
    - Fixed handling of non-ASCII input on all web-forms
    - Fixed a server error caused by the absence of cookies.
    - Made disallowed alphabets for sequence inputs on web forms more obvious by using a red cross-out over the names
    - Fixed inclusion of example files for GLAM2 and minimal MEME motifs for the website install
    - Improved the error message the MEME reports when given a single sequence without using "any number of repeats" (ANR) mode
    - Fixed incorrect URL in RSAT downloader configuration
  - AME
    - Fixed bug causing segfault
    - Fixed bug causing the maximum motif width to be incorrect resulting in a dependency on motif order
    - Fixed failure to generate log files
  - GLAM2
    - Fixed generation of sequence logos for GLAM2 motifs with pure deletion columns
  - MAST
    - MAST now ignores WEIGHTS section in FASTA files
  - Tomtom
    - Fixed submission to Tomtom from GLAM2 DNA output

MEME version 4.10.1 -- Mar 19, 2015

- New Features and Enhancements
  - Improved Web Pages
    - Updated the schematic on the home page and added more "hover" blurbs explaining what tools and databases do.
    - Created separate man pages for the Web and Command Line versions of all commands.
    - Use same blurb for blurb, web man page and command line man page for each tool.
    - Added links to Manual on each tool input form (top right).
    - Email address are not required for job submissions.
  - Improved test scripts
    - Updated the testing scripts to work with Automake's custom test driver specification.
    - Split the tests into a file per program to make maintenance easier.
  - CentriMo
    - Added "Region Position" sort to allowing sorting from left to right.
    - Renamed "Region Center" sort to "Region Distance".
  - FIMO
    - Improved the XML to HTML stylesheet.
  - MCAST
    - Improved the XML to HTML stylesheet.
  - SpaMo
    - The elimination of overly similar sequences has been sped up using a heuristic optimization.
    - By default, all sequences containing ambiguous characters in the margins around the primary motif are now removed. This is necessary for the new heuristic similarity search. It also helps insure that the uniformity assumption of random motif occurrences since sites with ambiguous characters are not scored. This check is turned off when the similarity search is disabled using the "-shared" switch.
  - getsize
    - Added capacity to perform efficient, higher-order shuffling of FASTA sequences.
  - update-sequence-db
    - Added extra configuration file options for updater URLs so in theory local mirrors can be used.
  - transfac2meme
  - beeml2meme
    - Added ability to use the "NA" line as the ID and make the consensus letter in matrix lines optional in order to support TRANSFAC-like formats (i.e., Swiss Regulon).
    - Added ability to process multiple files.
    - Added ability to draw alternate ID and URL from a snapshot of a specific Uniprobe webpage.
  - iupac2meme
    - Added ability to invert the meaning of a symbol group with '^'. For example with a DNA motif [A] would match A but [^A] would match C, G, or T.
  - taipale2meme
    - Changed naming of multiple motifs for same TF to start with _1 (rather than no _).
    - Fixed bug that was giving motifs duplicate names when _2 was reached.
  - README
    - Reformatted the README as Markdown styled text.
- Bug fixes
  - Webpages
    - Fixed various issues with viewing the website and outputs in Internet Explorer.
  - Sequence uploads
    - RNA sequences are now converted to DNA again as was the behavior in release 4.9.1. This is a temporary fix to avoid problems in MEME and AME where 'U's were not supported. Support for custom alphabets is intended for a future release.
  - CentriMo
    - Ensure rounding up on window sites for the text output. The text output was using bankers rounding which occasionally caused different results to the rounding displayed in the HTML output.
  - FIMO
    - Fixed PSP reader to honor --parse-genomic-coord option.
    - Removed unused --max-seq-length option.
    - Changed FIMO to not attempt to rewind the file when reading from standard input. FIMO will now report an error when you attempt to scan more than one motif when reading the sequences from standard input because handing multiple motifs requires rewinding the file with FIMO's current architecture.
  - MEME
    - Fixed bug when PSP files contain zeros; 1e-16 is now added to those entries.
  - MCAST
    - Fixed bugs in purging of low score matches when max stored matched reached.
    - Fixed GC ranging and match purging code.
  - SpaMo
    - A bug was eliminated that caused the sequence similarity comparison to involve only the given strands of DNA sequences rather than both strands.

MEME version 4.10.0 -- May 6, 2014

- New Features and Enhancements
  - Website
    - The side-bar menu was completely rewritten to work in all the documentation even when the MEME Suite has not been installed.
    - Many confusing, extraneous and hard to update summary pages that the old side-bar menu required have been removed.
    - All the command-line documentation has been standardized to a common pattern which will hopefully make it easier to understand.
    - The job submission logic has been rewritten using Java Servlets instead of Perl CGI scripts. This should enable better integration with Opal as the Perl interface to Opal had not been updated with the more recent Opal versions.
    - The job submission pages use new techniques to validate files before you click the submit button.
    - All the pages that accept MEME formatted motifs can accept hand typed motifs using IUPAC codes, lists of sites or frequency/count matrices.
  - MEME
    - Removed the shell script that used to be needed to execute serial ('meme.bin') or parallel ('meme_p') versions of MEME. MEME is now a single executable ('meme') like the other C-based MEME Suite programs.
    - New HTML output with a more compact overview, delayed loading to handle display of larger sequence counts and a combined motif site/scan diagram.
  - CentriMo
    - New feature in output to plot site probability vs. distance from center of sequence.
  - MEME-ChIP
    - Print value of `-filter-thresh` in header of MOTIFS section of output.
  - AME
    - Added web interface to the AME "Analysis of Motif Enrichment" tool. AME reports (known) motifs that are enriched in your input nucleotide sequences compared with either (a) shuffled versions of your sequences or (b) control sequences that you supply.
    - Correct Fisher's Exact test to be one-tailed rather than two-tailed so that under-represented motifs don't get small p-values.
    - Disable "better" ranksum test mode (it's broken).
  - rna2meme
    - Allow reading from standard input if input filename is '-'.
  - Sequence Databases
    - Added more sophisticated tool for server operators to download sequence databases.
    - Added UCSC Mammal Genome sequence databases.
    - Sequence databases are now versioned where possible and timestamped where not. You can select the desired version for search via MAST, FIMO, MCAST or GLAM2SCAN.

MEME version 4.9.1 -- August 23, 2013

- New Features and Enhancements
  - AME
    - Make "overwrite directory ame_out" default behavior like other MEME Suite programs.
    - Change test on --pvalue-report-threshold from "<" to "≤".
    - Add help popups for Split, p-value and Corrected p-value.
  - CentriMo
    - Added the ability to scan with the reverse complement of each motif separately (--sep). This is useful when the sequences have strand information (e.g., TSSs) and the motif has a preferred orientation.
    - Added the ability to limit the minimum size of regions whose significance is computed (--minreg). This allows the user to restrict regions to a width range so that the significance levels of all motifs can be compared for regions of the same size.
    - Added the ability to zoom-in on a section of the output graph.
  - DREME
    - Add "Time" to end of text output file.
  - MCAST
    - Move "display more" arrow in HTML output to left (same as MAST output).
  - MEME-ChIP
    - Documented the -group-thresh and -group-weak switches; changed default -group-weak threshold to be only 2 times (not 10 times) the -group-thresh to avoid excessive merging of motif clusters.
    - The number of motifs to be found by MEME or DREME may now be set to zero on the command line to prevent either of the programs from being run. CentriMo and the motif clustering algorithm will still be run, allowing MEME-ChIP to be used as a front-end to CentriMo.
    - Add -centrimo-flip option so that matches on reverse strand will be reflected around center of sequence. This permits (non-palindromic) motifs with asymmetric binding to be detected.
    - Added -meme-maxsize option to expose MEME's maxsize option.
  - SpaMo
    - The (slow) sequence redundancy step can now be skipped by setting the --shared option to zero.
    - Added extra documentation recommending the use of a repeat-masker before running SpaMo.
  - Other
    - The utility fasta-get-markov is now implemented in c and is much faster than before. It is backwards compatible with the Perl implementation but now has some new features like the ability to specify input and output files, a progress display and summary of the sequence counts/sizes like from getsize.
    - Implemented a better hashing function for use by the hash table datastructure which should improve performance and also fix an overflow bug that was present in the old function.
    - Script fasta-fetch now handles sources with genomic coordinates that list negative strands.
    - Disabled building of obsolete programs and made an effort to remove unused "fossil" code.
    - Enforced separation of library and program code so Python and Perl libraries should no longer be installed into the bin directory.
    - Added a link to the MEME Suite's Google Scholar page from the citing page.
    - Improved resiliency of get_db_csv to poorly behaved FTP servers.
- Bug fixes
  - AME
    - Fixed usage message to include defaults.
    - Fix bug in computation of corrected p-value (LOGEV).
    - Fixed a bug where short sequences combined being scanned with long motifs could cause the program to attempting scanning before the sequence start and into unallocated memory.
  - CentriMo
    - Fixed bug causing log-odds scores of "N" columns to be non-zero in CentriMo.
    - Increased accuracy of log-odds scores in CentriMo by upping PSSM_RANGE.
    - Fixed off by 0.5 error in output graph where the graph was shifted right by half a unit. This error wasn't noticeable until we added the zooming feature.
    - Now only creates links to motifs that have URLs.
  - DREME
    - Fixed a bug where DREME would crash when it couldn't find Ghostscript.
  - FIMO
    - Fixed bug where FASTA sequence IDs were truncated at ":" if they looked like BED format.
    - Fixed bug with all "N" motifs causing crash.
    - Fixed bug causing log-odds scores of "N" columns to be non-zero in FIMO.
    - Fixed bug causing free of unallocated memory.
    - Fixed bug where the release date would be truncated in output.
    - Increased accuracy of log-odds scores in FIMO by upping PSSM_RANGE.
  - MAST
    - Fixed the output's display of the background model when the sequence composition was used.
    - Corrected a link to an example motif file on the job submission form.
  - MCAST
    - Fix MCAST bug: wasn't printing motif match threshold.
  - MEME
    - Fixed memory link and double free when `-cons` option was used.
  - MEME-ChIP
    - Fixed a bug where a motif could be discovered by MEME but excluded by MEME-ChIP due to a large E-value and then be rediscovered by CentriMo by being centrally enriched. This sequence of events would cause the output to break as the Javascript made assumptions that were incorrect.
    - Fixed a bug where on some Perl installations the timeout would not be caught and handled correctly.
  - SpaMo
    - Corrected a link to an example motif file on the job submission form.
  - Tomtom
    - Fixed bug in Tomtom's pearson_scores(): replaced integer division with floating point.
  - Other
    - When sequences are skipped due to a duplicate name the warning message is not generic anymore.
    - Replaced broken link to old user forum with link to new Q&A site.
    - Removed non-functional -P switch from ceqlogo. Use "-d ''" to supress fineprint.
    - Added documentation of "--uniform--" keyword for "--bgfile" switch.
    - Updated source for Eukaryotic Promoter Database (listed in etc/db_general.csv).
    - Fixed a bug where the release date was being truncated by some older programs in the MEME Suite.
    - Fixed usage message of create-priors.

MEME version 4.9.0 patch 4 -- January 18, 2013

- New Features and Enhancements
  - CentriMo
    - Added computation of p-value ratio whenever negative sequences are given. The p-value ratio seems to be more useful than the discriminative p-value computed in the `--disc` mode, and is much faster to compute. Motifs are now sorted by p-value ratio by default when negative sequences are given and `--disc` is not.
    - Added feature to supress plotting of negative sequence enrichment curves so a single run can be used for comparative and absolute enrichment analysis.
    - Sorting on Region Center now sorts by increasing absolute value (centrality) of the location of the region.
    - The "region" sorting feature menu is now locked to the same value as the "motifs" feature menu, unless a checkbox is checked. This helps prevent confusion.
    - Improved documentation popups.
    - Fixed bug in the Fisher's Exact test (affected AME, too).
    - Added new standalone utility: fisher_exact
  - MEME-ChIP
    - Added -centrimo-local switch to allow CentriMo to perform local motif enrichment as part of MEME-ChIP.
  - FIMO
    - Added `--parse-genomic-coords` option. This option turns on parsing of UCSC style genomic coordinates from sequence headers.
  - taipale2meme
    - Add options [-nc <c>]+ and [-oc <c>] to accommodate format of Jolma2013 Cell paper.
- Bug fixes
  - Fixed buffer overflow bug in shift_sequence().
  - Fixed bug in DREME: -norc option resulted in incorrect PSSM.

MEME version 4.9.0 -- October 2, 2012

- New Features and Enhancements
  - CentriMo
    - Added local mode for detecting uncentered enriched regions.
    - Added discriminative mode which takes two datasets and uses the Fisher's exact test to detect discriminatively enriched regions.
    - Added listing of sequence IDs in output for best enriched regions.
    - Added score threshold optimization mode.
    - Updated website form to give access to local mode and discriminative mode.
  - FIMO
    - Simplified command line options controlling output threshold.
    - FIMO no longer emits a wiggle format file. The wiggle file contained the same information as the GFF file, but was more verbose.
    - Output of '--text' option now matches format of 'fimo.txt' file.
    - Text file now provides explicit strand information.
    - Text file now lists start and stop coordinates in increasing order relative to the positive strand for all matches.
    - HTML output is now limited to the 1000 most significant matches.
  - MEME-ChIP
    - Complete rewrite of the MEME-ChIP program to run MEME, DREME, Tomtom and CentriMo.
    - New output which collates all the motifs found by the called programs with links to their outputs.
    - New website form allows choice of motif database and adds more options for DREME and CentriMo.
  - Tomtom
    - Creation of EPS and PNG Logo files is now optional to save disk space. Two new switches (-png and -eps) have been added to the command line version of Tomtom.
  - meme-rename
    - Added new script meme-rename for mass renaming of output html files so they can inhabit the same directory.
  - psp-gen
    - Added handling of ambiguous IUPAC alphabet symbols for DNA bases.
  - New Motif Databases
    - Malaria transcription factor motifs from PBM experiments (Campbell et al., 2010 PLos Pathogens)
    - New motifs derived from the original UniPROBE PBM data using a different algorithm (Zhao and Stormo, 2011 Nature Biotechnology)
- Bug fixes
  - Fixed FIMO bug--nucleotide motifs were labeled as polypeptide motifs in GFF output
  - Fixed FIMO bug--both motifs and RC motifs were printing in list of best possible matches
  - Fixed CentriMo bug--"--motif" option was not functional.
  - Fixed bug in gendb--was failing with higher-order models.
  - Fixed bug in gendb--was failing with higher-order models.
  - Updated the MEME installation guide
  - Removed unused documents

MEME version 4.8.1 -- February 6, 2012

- New Features and Enhancements
  - `CentriMo`
    - Added method to create custom Encapsulated Postscript files of the motif probability graph.
  - `MEME-ChIP`
    - Added SpaMo to the list of programs that MEME-ChIP runs.
- Bug fixes
  - Fixed a typo which was breaking the "Upload your own database" feature on Tomtom.

MEME version 4.8.0 -- January 16, 2012

- New Features and Enhancements
  - `CentriMo`
    - Added HTML output with lots of interactive features allowing selecting, sorting and filtering of which motifs to display and plot the site-probability curves for.
    - Added `CentriMo` web submission form.
    - `CentriMo` now runs as part of `MEME-ChIP`.
    - Can now use motif matches to the given strand only if the `-norc` switch is given. Useful with RNA sequences.
    - Removed `centrimo-plots` program as the new HTML output replaces and improves on its purpose.
  - `DREME`
    - Can now look for motifs on the given strand only if the `-norc` switch is given. This can be useful with RNA sequences.
    - Using given strand only now available as an option on the web submission form.
  - `MCAST`
    - Added support for scanning genome scale sequences.
    - Added q-values for match scores.
    - Revised HTML output to include block diagrams of matches.
  - `SpaMo`
    - SpaMo now normalizes the p-values reported for particular motif spacings (bins) only for the number of spacings (bins) tested. Previously, SpaMo reported p-values normalized for both the number of spacings and the number of motifs tested.
    - SpaMo now prints E-values for secondary motifs, which is the lowest p-value of any spacing (bin) times the number of secondary motifs.
    - Added -evalue switch to specify largest E-value allowed for secondary motifs.
  - Other
    - Improved memory efficiency for reading FASTA sequences in sequence.py.
- Bug fixes
  - Fixed segmentation fault in FIMO when option `--bgfile motif-file` is used.
  - Fixed png generation code for custom motif logos.

MEME version 4.7.0 -- September 22, 2011

- New Features and Enhancements
  - DREME can be accessed as a webservice directly which allows use of the discriminative motif discovery.
  - DREME now produces XML and HTML outputs as well as text. These new outputs are accepted where MEME motifs are accepted.
  - New command-line program CentriMo and the associated CentriMo Plots for determining which motifs are centrally enriched in ChIP-seq output.
  - Completely rewrote motif loading code. The main user visible difference is that the minimal MEME format is a lot more forgiving of spacing and MAST can now accept the minimal MEME format without any PSSM section.
  - Output from all tools now lists the preferred citation.
  - Updated and re-formatted list of publications.
- Bug fixes
  - Occasionally MEME would produce HTML files which could not be used as a motif input to other programs. The new motif parser should be able to read these files and hence fix this problem.
  - SpaMo background is now calculated from the sequences as stated in the paper.
  - The website menu used to use the full URL which unfortunately resulted in people bookmarking specific versions of the MEME suite rather than the URL for the latest version. The website menu has been corrected to use only relative URLs.
  - Links should now be created to the error messages when a webservice fails. This used to work but some setting changed the way redirects are buffered.
  - Added compiler/linker directives to set stack size for Cygwin to 9MB. Cygwin defaults to a 2MB stack, which is too small.
  - MAST was not handling the `-remcorr` switch. When a motif was removed because it was too correlated, the indices of the other motifs could be incorrect. Fixed.
- Known issues
  - DREME does not yet support single strand scanning. It is planned but wasn't ready for this release.
  - Uploading extremely large sequence sets to MEME-ChIP can cause a HTTP timeout and/or failure of the CGI script.

MEME version 4.6.1 -- March 21, 2011

- New Features and Enhancements
  - `MEME-ChIP` command line tool --
    MEME-ChIP was released in 4.6.0 as a web service but it did not have a command line equivalent. The webservice has been rewritten as a command line tool.
  - `Tomtom` --
    The default Tomtom scoring algorithm now considers all columns in the query motif, not just the aligned columns. This reduces the number of spurious alignments including uninformative columns. The older scoring system is available via the `-incomplete-scores` option.
- Bug fixes
  - `MEME-ChIP` --
    - MEME-ChIP has been rewritten to avoid infinite loops that could occur when the webservice was passed parameters including colons.
    - The webservice now updates its output with the completion of each sub-program so if it is terminated by Opal for running too long the already completed output is still available.
    - Error reporting has been improved with the result that MEME-ChIP should not be able to fail mysteriously as it has on occasion been doing.
  - FIMO
    - The `--norc` option was being ignored. This has been fixed.
  - Motiph
    - The `--seed` option has been added to set the seed for the random number generator.
- Known issues
  - MEME-ChIP when given very large sequence sets will not complete before the Opal webservice time limit.
  - Uploading extremely large sequence sets to MEME-ChIP can cause a HTTP timeout and/or failure of the CGI script.

MEME version 4.6.0 -- December 24, 2010

- New Features and Enhancements
  - `MEME-ChIP` web service --
    - Motif Analysis of Large DNA Datasets
      The MEME-ChIP service allows submission of a FASTA file of DNA sequences of unlimited size and with minimal parameter settings (only the traditional MEME web form settings) and runs it through a variety of motif finding and analysis tools.
    - `dreme` --
      added `dreme` and integrated it into the MEME-ChIP into web service.
    - `AME` --
      added `ame` and integrated it into the MEME-ChIP into web service. This is a cut-down version of the `ame` previously described, only supporting one mode of motif enrichment analysis.
    - `fasta-dinucleotide-shuffle` --
      added `scripts/fasta-dinucleotide-shuffle` and integrated it into the MEME-ChIP into web service. Thanks to Peter Clote for allowing use of his dinucleotide shuffle code.
    - `fasta-center` --
      added `fasta-center` and integrated it into the MEME-ChIP into web service.
  - `SpaMo` beta release --
    The web interface and documentation is currently rather limited but in the interests of getting this out for review this is a preview edition of the Spaced Motif analysis tool.
  - `FIMO` --
    The `FIMO` HTML output now explicitly labels the strand, rather than indicating the reverse strand by having <cdoe>start</cdoe> > than `stop`. The HTML output also now includes the matched sequence. The GFF output is now GFF 3.

MEME version 4.5.0 -- September 6, 2010

- New Features and Enhancements
  - `Tomtom` --
    - Search multiple databases
      Tomtom can now search more than one motif database. To keep the ability to have web links for each motif they were moved into the MEME motif format itself. See the documentation.
    - Improvements in submission form
      Tomtom's submission form has many new enhancements. Motifs can now be specified in 3 formats: IUPAC motifs, frequency matrices, and MEME format files. Go try it.
    - Improvements in output format
      Tomtom now outputs an XML file which it converts into the HTML output. The HTML output can dynamically draw the motif logos when the images aren't available on web browsers supporting HTML5. Additional improvements include a summary table at the top giving direct links to the top 20 matches for each motif. See the sample.
  - `FIMO` --
    The output for FIMO now includes a wiggle track format file.
  - MEME file format --
    The MEME file format now includes an optional URL for each motif. This is used to create the links in the Tomtom output. All the XXXX2meme scripts have been retrofitted to take this URL parameter.
  - `ama-qvalues` --
    New script. See the documentation.
  - `fasta-subsample` --
    New script for extracting a random sampling of the sequences in a FASTA file. This is especially useful for ChIP-seq peak datasets to be input to MEME. Using this script, a FASTA file containing a subset of the ChIP-seq peak sequences (or any other FASTA file) can be created. The total number of sequences should be less than 1000 (preferably less than 500), and the total sequence length should be less than a few hundred thousand. MEME typically takes about 20 minutes per motif with files of 100,000 characters (DNA, both strands, ZOOPS model), and scales quadratically in the total sequence length (so a file of 200,000 characters will take four times as long.) This new script can also output the remaining sequences (in a separate file) for use in cross-validation. See the documentation.
  - `meme2meme` --
    New script. See the documentation.
  - `rna2meme` --
    New script. See the documentation.

MEME version 4.4.0 -- April 23, 2010

- New Features and Enhancements
  - `MCAST` --
    MCAST now been integrated into the MEME Suite web applications. MCAST is a tool for searching for statistically significant clusters of motifs in DNA sequences. MCAST was previously supported on a separate web site.
  - `MEME`
    - Discriminative motif discovery
      The MEME web server now supports discriminative motif discovery. The user may now provide a set of "negative sequences" in addition to the normal "positive sequences", and MEME will look for motifs that are overrepresented in the positive sequences relative to the negative sequences.
    - Improvements in output format
      MEME's html output (sample) has been reorganized to make important information more accessible as well as to make it aesthetically pleasing. Some of the improvements include:
      - A preview of the motifs found, including their reverse complement for DNA, in miniature at the top of the page.
      - Ability to view full sized reverse-complemented DNA logos.
      - Highlighting of all output for a sequence with a single click.
      - New block diagrams that graphically show the strength (and DNA strand) of motifs, and that scale with the size of the browser window.
      - Support for the new web standard HTML5. This allows the motif logos to be viewed without the images on supporting web browsers (Firefox, Chrome, Safari). Unfortunately Opera has inadequate text support for canvas (the new HTML5 element required for this feat) and Internet Explorer currently doesn't support canvas at all. It is anticipated that Internet Explorer 9 will support this feature.
  - `MAST` --
    - Improvements in output format
    MAST's html output (sample) has been reorganized to make important information more accessible as well as to make it aesthetically pleasing. Some of the improvements include:
    - Everything is now in one place - no longer do you have to search to find the associated annotated sequence for that high scoring sequence, as with one click the hidden information is displayed directly below. Additionally if DNA strands are scored separately then the sequence only appears in the list once based on the better scoring strand.
    - New block diagrams - incorporating all the improvements in the new MEME block diagrams such as graphical display of motif strength, scaling with the browser window and the DNA strand. As an added bonus separately scored strands are visible on the same diagram.
    - Interactive annotated sequence - a new range selector allows you to view the sequence around the motif hits of your choice, directly relatable to the block diagram. For separate DNA strand scoring only one strand is visible at a time.
    - Now in colour - the annotated sequence for motif hits now have letters colour coded using the same colour scheme as MEME motifs.
    - MAST now outputs xml in a similar fashion to MEME. This has resulted in differences to how you would invoke MAST from the command line. Additionally it no longer has the script wrapper.
    - MAST now uses an xml style sheet to create its html output.
  - `mast2txt` --
    Created program mast2txt for outputting the old text format for MAST. Note that there are some problems with backwards compatibility in separate scoring mode. The use of the text format is no longer recommended.
  - `psp-gen` --
    added `psp-gen` and integrated PSP generation into web service.
  - `MHMM` --
    Fixed bug in `--order` option. The option was handling motifs with strand identifiers incorrectly.
  - `Tomtom` --
    Added `-no-ssc` switch to fix problem with motifs with few sites having empty logos; this switch is now the default for the Tomtom website.
  - `GOMO` --
    Improved gomo html format. Added highlighting of the most specific GO terms in the html output. This is activated by the switch --dag which expects a GO DAG file.
  - `gomo_highlight` --
    Added a program to post process gomo xml files to identify the go terms which are implied by other more specific go terms to allow the specific terms to be highlighted in the html output. This is used by gomo when the --dag switch is specified.
  - `obo2dag` --
    Added a tool for generating a GO DAG file from a Gene Ontology OBO file.
  - `GO DAG format` --
    Documented the new GO DAG file format and improved GOMO documentation as well as the command line overview.
  - `GLAM2` --
    The output now prints a regular expression in addition to the logo for each motif found.
  - `MEME motif format` --
    Fixed errors in motif format description `doc/meme-format.html` and example files.
  - `meme-io` --
    Updated meme-io to accept the new MEME html format.

MEME version 4.3.0 -- September 26, 2009

- GOMO --
  Added comparative genomics to GOMO. GOMO can now use multiple, comparative genomes in making its predictions. This substantially increases the sensitivity of predictions of roles for DNA binding motifs. The GOMO web-service now uses GC-compensated AMA p-values.
- AMA --
  P-values are no longer printed by default. A switch has been added to cause them to be printed.
  AMA can now compute GC-content compensated p-values. The GC-content of an individual sequence is used in estimating the p-value of its AMA score.

MEME version 4.2.0 -- June 22, 2009

- MEME --
  MEME now can use position-specific priors (PSP) to improve motif discovery. The PSP is specified using the `-psp pspfile` switch to MEME.
- GOMO --
  Added the ability to choose either maximum or average binding affinity as the scoring function.
  Fixed a bug--was using maximum affinity by default, contrary to the documentation.
- AMA --
  AMA now computes p-value of each sequence based on a 0-order background model for the dataset.
  Improved speed and memory efficiency; was re-reading sequences and storing them in memory.
  Fixed bug--was using max-odds by default and the --scoring switch was being ignored.
- MAST -- website now supports protein databases even when DNA database contains long sequences.
- Installation --
  Now all programs in the MEME suite are built. The --enable-both configure switch is now obsolete.
  Simplified the build process by removing support for separately building the tools formerly included in Meta-MEME.
  Update on-line documentation.
  Simplified "quick install" instructions are provided in `INSTALL` and in `doc/meme-install.html`.

MEME version 4.1.1

- Improved documentation.
- Increased default number of iterations for GLAM2.
- Improved error handling for sequence data.
- Added links to server activity summary.
- Fixed bug in install process when `--enable-both` not used.

MEME version 4.1.0

- New tool: GOMO -- Finding Genome Ontology terms associated with DNA binding motifs.
- Added FIMO and GOMO buttons to MEME output to make it easy to use discovered motifs to search sequence databases and to identify the role of DNA binding motifs.
- Fixed placement of sidebar menu in Internet Explorer for output of CGI scripts.
- Fixed support for OpenMPI in MEME.
- Improved the efficiency of FIMO.
- Made the `-text` option to FIMO produce results on-the-fly, without sorting or q-values. This mode allows very large databases to be searched, without storing intermediate results.
- Modified the command line syntax for `gendb`, for consistency with the rest of the suite.

MEME version 4.0.0 -- June 13, 2008

- New Features and Enhancements
  - MEME and Meta-MEME are now integrated as "The MEME Suite".
  - New web-based tools:
    - GLAM2 and GLAM2SCAN--discovery and scanning of gapped motifs
    - Tomtom--comparing motifs
    - FIMO--basic motif scanning (complements MAST)
  - Enhancements of existing tools:
    - Sequence LOGOS now enhance MEME output.
    - Compare new motifs to databases of motifs via Tomtom by clicking an easy-to-use button on MEME and GLAM2 output.
    - Improved local search (branching search) in MEME (command line version only).
    - Hundreds of new genomic and upstream sequence databases are now supported for scanning by MAST, FIMO or GLAM2SCAN.
    - Tomtom supports four motif databases: JASPAR, Transfac, SCPD and MacIsaac Yeast.
  - The MEME Suite tools now have web servers powered by OPAL, and return their results via the web, rather than by email.
  - A single web server portal simplifies different types of motif scanning tasks

MEME version 3.5.7 -- December 14, 2007

- New Features and Enhancements
  - Parallel MEME is compiled when no scheduler is found but MPICH is detected.
  - Opal integration with meme.
  - Added --enable-webservice=<path_to_build-opal.xml> configure flag. Used to automate deployment of MEME inside an Opal installation as a web service.
  - Added --enable-web=<opal_url> configure flag. Used to enable building of the MEME web portal. A URL for an Opal-exposed MEME web service must be entered.

MEME version 3.5.5 -- May 31, 2007

- New Features and Enhancements
  - MAST -hit_list can now handle very long sequences and prints ALL hits regardless of the sequence E-value cutoff. It splits them into "swaths". The -hit_list switch now overrides the -seqp switch, and hits are NOT sorted by the E-value of the sequence.

MEME version 3.5.4 -- September 21, 2006

- New Features and Enhancements
  - Changed the MAST -hit_list behavior to print ONLY a list of the non-overlapping significant motif matches in each sequence in a machine-readable format. (More complete documentation is given in the MAST "usage" message. Type "mast" on the UNIX command line to see the usage message.) An example of the (complete) output of MAST using the -hit_list switch is:

              # All non-overlapping hits in all sequences.
              # sequence_name motif hit_start hit_end score hit_p-value
              ce1cg -2 8 22  1459.90 1.67e-06
              ara +2 2 16  1661.18 5.04e-08
              bglr1 +2 1 15  1274.97 1.42e-05
              cya -2 19 33  1101.37 6.64e-05
              gale +2 5 19  1076.21 8.11e-05
              ilv -2 6 20  1098.85 6.78e-05
              malk +2 37 51  1085.02 7.56e-05
              ompa +2 5 19  1583.18 2.43e-07
              # mast tests/meme.crp0.oops tests/crp0.s -stdout -hit_list -m 2

  - New "regular expression" section added to each MEME motif.
- Bug fixes
  - Fixed printing of command name in MAST results.
  - Fixed the handling of the "View FASTA", "View RAW" and "View motif summary" buttons on the MEME form.
  - Improved documentation of the "Motif Summary" section of MEME output.
  - Fixed bug that prevented having multiple MEME and MAST servers running on a single host by different users. Each server is distinguished by the socket number it listens on.
- Known Issues
  - The "MetaMEME" button on the top of MEME results page is still not functional. Users are advised to go to the MetaMEME web site and submit manually at this time.
  - MAST: Uploaded file names containing quotation marks may cause the search to fail.
  - MAST: Uploaded sequences in DOS/Windows format may cause the search to fail.

MEME version 3.5.3 -- April 20, 2006

- New Features and Enhancements
  - The capability to search three JASPAR databases of DNA motifs for matches to a MEME-discovered motif has been added to the MEME output form. Pressing the 'COMPARE PSPM' button on the results form of a MEME search of DNA sequences will submit the selected motif PSPM to the JASPAR 'Compare' server. This will allow you to determine if your motif is similar to any known motifs contained in one of the three JASPAR motif databases.
- Bug fixes
  - The "MAST" button on the top of MEME results page now automatically loads the motifs from the MEME results for MAST search. A user only needs to choose the database (uploaded or server side) to search against.

MEME version 3.5.2 -- March 1, 2006

- New Features and Enhancements
  - Newly designed web interface using javascript and css styling.
  - Add support for Macos X server startup.
  - Add meme-install.html with detailed explanation of installation procedures.
- Bug fixes
  - In "configure" remove check dependency on parallel condition when creating server executables.
  - Path to images/ in cgi scripts.
  - Description syntax in linux startup script meme.linux.
  - Provide fix for a cygwin's new line representation when searching strings.
  - Bug in e_step (oops.c)
  - Bug caused by typo "MEME_BINbin"
  - Remove use of min() in meme.pl
  - Remove obsolete argument sample_prob from subseq7()
  - Remove OS-dependent declarations of accept(), bind(), connect(), socket(), listen(), htons(). They are defined in system header files.

MEME version 3.5.1 -- December 15, 2005

- Bug fixes
  - Revert binary and scripts names to what they used to be in version prior to 3.5.0. The binary executables have an extension ".bin", and the shell scripts have their extension ".csh" removed. This allows to keep compatibility with earlier versions.
  - Change startup scripts to start servers as a user specified during configuration. If none were specified, then the uid of the user who runs configure will be used.
  - Always install files in etc/.
  - Always install Globals.pm in lib/perl/.
  - Move meme-explanation.html from web/html/ to etc/. This allows to run scripts that do conversion to html when web site is not installed.
- Enhancements
  - Added support for Macos X (serial version only, without server)
  - Users can now compare DNA motifs to the motifs in the JASPAR database of transcription factor binding site motifs. A button is provided in the PSPM section of each DNA motif on the MEME output form for this purpose. Clicking on the "Compare PSPM x to known motifs in JASPAR database" sends the motif to the JASPAR website, which returns any similar motifs that are found.
  - Add meme_config.csh file that is used automatically by csh scripts to set needed environment variables.
  - Move job.out file (created when SGE scheduler is used) to LOGS/
  - Add '--with-serial' option to 'configure.ac' for compiling only serial version
  - Disable installation of web by default. To install use --with-web configure option.
  - Lower prerequisite version for autoconf to 2.53, and add missing functions in m4/. Add check for autoconf version in bootstrap, and use m4 functions when needed.
  - Change option '--with-mpi' to '--with-mpidir'

MEME version 3.5.0 -- September 15, 2005

This is the 12th year of MEME development. The current anniversary maintenance release for MEME contains a number of improvements to the installation and configuration of MEME/MAST servers and clients. Thanks to Nadya Williams of SDSC/NBCR for this work.

- Refactoring of installation and configuration
  - Restructure source directory tree to ease configuration.
  - Highly simplified and optimized installation and configuration for MEME and MAST servers and clients using GNU autoconf/automake tools.
  - Multiple configuration options available via arguments to "configure".
  - Default installation of MEME, MAST server and clients, as well as the web site.
  - Separate installation of server, client or web site if desired.
  - Create a small test suite for 'make test'.
  - Implement procedures for standard 'configure', 'make', 'make test', and 'make install'.
  - Create scripts to run MEME/MAST servers as services, and automatically restarted them when physical host server reboots. Currently, Linux and SunOS are supported.
  - Simplified start of the servers with 'start-mast' and 'start-meme' scripts.
  - Encapsulate site-specific variables in Globals.pm for perl scripts and in meme_config for sh scripts.
  - Add csh and sh configuration scripts to set working environment.
  - Availability as a Rocks Roll for integration with Rocks based cluster system.
- Enhancements
  - Sent MEME/MAST search results via an email as attachments, rather than inlined in the message body. This allows the MEME output to be saved properly for subsequent use with MetaMEME. It also reduces the chance of the output being modified by email filters.
  - Check email addresses for entry accuracy using javascript. Thanks to Chris Misleh of NBCR for this feature.
  - Check email addresses for valid domain names.
  - Create new 'runtests' script to run all test suites. Simplify parsing of the output.
  - Update FAQ(s) for MEME and MAST.
  - Separate web-related files by type (html, cgi or image) and create a dir structure to support it. This simplifies web maintenance.
  - Add examples of database and motif sequences files.
- Known Issues
  - The new meme and mast are binary executables, not shell scripts as they used to be. When run with the appropriate arguments, they produce text (non-html) output. To get the "old" behavior of meme and mast with the html output, use meme.csh and mast.csh (without -text option). The following table gives new vs. old usage comparison.

                           old                                      new
                  meme myfile -dna -text > meme.res       meme myfile -dna > meme.res         # output will be a text file
                  meme myfile -dna > meme.res             meme.csh myfile -dna > meme.res     # output will be an html file
                  mast meme.res                           mast.csh meme.res                   # output will be an html file

- Support Team Members Wilfred W. Li, Ph.D., Nadya Williams, M.S., Chris Misleh, and Timothy Bailey, Ph.D.

MEME version 3.0.14 -- July, 2005

- Bug Fixes
  - an array out of bound error when MEME is run in parallel mode using certain DNA sequences with the "look for palindromes only" option enabled. Thanks to Tim Kaiser of SDSC/NBCR for the bug fix.
- User Support
  - all user questions are directed to our support team meme-suite@uw.edu.

MEME version 3.0 -- December, 2000

- MEME enhancements
  - Hypertext output: MEME now reports its output in hypertext (HTML) format with appropriate internal hot links among the results and the self-contained documentation on how to interpret them. The alignments are color-coded by nucleic acid or amino acid category.
  - Direct MAST search: MEME motifs can now be used to search sequence databases using MAST simply by clicking on a button on the MEME HTML output document in an HTML-capable email reader or browser.
  - Direct BLOCKS search: MEME motifs can now be submitted to the BLOCKS multiple alignment processor by clicking on a button on the MEME HTML output document in an HTML-capable email reader or browser. This allows MEME motifs to be converted to LOGOS or trees, and to be used to search other databases of motifs.
  - New objective function: MEME searches for motifs that optimize the statistical significance of the log likelihood ratio of the occurrences of the motif.
  - E-values: MEME computes and reports the statistical significance of motifs as the E-value of the log likelihood ratio. This provides an objective measure of how likely the motif is to be biologically significant.
  - E-value stopping criterion: MEME will now stop when a motif whose E-value is above a user-given threshold is found. This guarantees that only motifs with a given E-value or better will be present in the output.
  - Handling reverse complement DNA strands: MEME now handles reverse complement DNA strands correctly with all model types: OOPS, ZOOPS and TCM.
  - Handling of ambiguous characters: MEME now handles ambiguous DNA and protein letters by converting them to the character "X". MEME treats the "X" character as "unknown", and correctly computes the probabilities of motif occurrences containing it.
  - Higher-order background models: MEME now allows the user to specify a Markov model of arbitrary order via a file of tuple frequencies. This appears to improve the ability to discriminate between biologically interesting DNA motifs and motifs that are artifacts of the higher order statistics of DNA sequence.
  - Multiple-alignment-based motif trimming: MEME defines a motif as a set of subsequences that can be correctly aligned without gaps. MEME can now trim the edges of motifs based on a local multiple alignment with gaps. MEME first determines the occurrences of the motif, then aligns each occurrence to the highest-scoring occurrence. These are combined into a multiple alignment, and MEME looks for a set of columns with no gaps. If a set of gapless columns at least <minw> wide is not found, MEME searches for a set with at most 1, 2, ... etc gaps until a set is found.
  - Prior distribution on the number of occurrences: MEME now places a prior on the number of occurrences that controls how strong the bias towards motifs with a given number of sites is. Using a prior improves the performance of MEME with DNA, where the megaprior heuristic (used by default with protein sequences), is not applicable.
- MAST enhancements
  - Combining DNA strands: MAST now combines the score of a site in a DNA sequence with the score of the corresponding site on the reverse complement strand. (The final score for the site is the maximum of the two scores.)
  - Scoring DNA strands separately: MAST still allows each strand of a DNA sequence to be treated as a separate sequence at the user's request.
  - Ignoring reverse complement DNA: MAST also allows the user to score only the given DNA strand, not scoring the reverse complement strand at all.
  - Background model: MAST now allows the user to specify the background residue frequencies used for computing E-values of scores.
  - Composition-adjusted statistics: MAST can now use a different random model for each target sequence, based on the letter composition of that sequence. This can greatly reduce erroneous matches due to biased sequence composition.
  - New databases: The MAST website includes several new databases including "upstream" sequences for E. coli, B. subtilis and S. cerevesiae, and many complete genomes from GenBank.
- MEME and MAST enhancements
  - MEME and MAST can be installed under the following operating systems:
    - Mac OS X
    - Linux (various manufacturers)
    - SunSparc workstations (SunOS and Solaris operating systems)
    - Decalpha workstations (OSF/1 operating system)
    - Silicon Graphics workstations (IRIX version 5.3 operating system)
    - Intel Paragon parallel computers
    - Cray T3D parallel computers
    - IBM SP (AIX operating system)

MEME version 2.2 -- February 25, 1998

- MEME enhancements
  - Sequence weights can be given in the input sequence file.
  - The sites composing each motif are output in BLOCKS or FASTA format. BLOCKS format motifs can be converted to LOGOS, PSSMS and phylogeny trees using the Blocks Multiple Alignment Processor.
  - A "negative" dataset may be specified causing the motifs to be optimized to discriminate between the training set family and the negative family. (This option is only available when you install MEME on your own computer.)
  - An advanced version of the MEME data submission form allows
    - discovering palindromic DNA motifs,
    - discovering motifs occurring on both DNA strands, and
    - discovering more than ten motifs.
- MAST enhancements
  - DNA sequences (translated in six reading frames) can be searched using protein motifs.
  - Hypertext (HTML) output including links to the ENTREZ database and improved motif diagrams are now output.
  - Additional searchable databases added to the MAST website.
  - The annotation section of output is smaller now since only regions in sequences where the motifs are present are printed.
  - The ambiguous characters "*" and "-" are now permitted in motifs and sequence databases. They are treated as a single, unknown character in databases, and replaced by a weighted average of scores in motifs.

MEME version 2.1 -- March 25, 1997

- Enhancements
  - MAST output now includes measurements of similarities between all pairs of motifs in the query and a warning if any motifs are too similar. (Too similar motifs in a query can cause some p-values and e-values to be underestimated. These motifs can be removed from the query and MAST re-run to avoid the problem.)
  - Cray T3E parallel computer now supported for MEME and MAST.

MEME version 2.0 -- October 17, 1996

- Enhancements
  - The output format of MEME has been improved to aid readability and user-friendliness.
  - MEME and MAST have been compiled and tested on:
    - SunSparc workstations (SunOS and Solaris operating systems)
    - Decalpha workstations (OSF/1 operating system)
    - Silicon Graphics workstations (IRIX version 5.3 operating system)
    - Intel Paragon parallel computers
    - Cray T3D parallel computers
  - MAST has been completely rewritten to provide more accurate p-values and to run significantly faster.
  - A MAST server has been added to the MEME system website.
  - The MAST server lets you use the motifs found by MEME in your sequences to search a wide variety of sequence databases including:
    - nr (non-redundant protein and nucleotide databases)
    - month (new or revised sequences in the last 30 days)
    - swissprot (the last major release of the SWISS-PROT protein sequence database)
    - genpept (protein translations from the GenBank feature table)
    - dbest (expressed sequence tag database)
    - dbsts (sequence tag site database)
  - Several improvements have been made to the MEME website:
    - You can now give the name of a file containing your sequences instead of having to cut-and-paste the sequences themselves.
    - You may ask MEME to favor wide motifs instead of the (default) narrow motifs; this is especially useful with small sequence sets (fewer than 10 sequences.)
    - The on-line documentation of MEME has been expanded and improved.
    - MEME now determines the type of your sequences (PROTEIN or DNA) automatically.
    - The MEME server now runs MAST on your sequences to make it easy for you to see the ordering and spacing of the motifs MEME discovered.
  - NOTE and PROBER have been removed from the MEME system since their functionality is now superseded by MAST.

MEME version 1.4 -- February 29, 1996

- Megaprior heuristic added to MEME.
  - MEME now uses the megaprior heuristic with TCM models and the modified megaprior heuristic with ZOOPS models (by default). This greatly improves the sensitivity and selectivity of motifs using these types of models.
- P-value computation added to MAST.
  - MAST now computes p-values for sequences when searching large databases. This provides better discrimination between true and false positives than using z-scores. MAST is still only available via ftp, not via the web server.
- Various bug fixes to MEME.

MEME version 1.3 -- December 18, 1995

- MEME web server introduced!
- Various bug fixes to MEME.

MEME version 1.2 -- November 27, 1995

- MAST homology searcher introduced!
  - MAST allows accurate homology searches of databases using motifs generated by MEME. The scores from all motifs characterizing a family are combined, normalized for sequence length, and sorted by z-score. The output of MAST is similar to that of BLAST, but, used in conjunction with MEME, MAST allows searching for sequences related to an entire family, not just a single sequence in the family. This provides better sensitivity and selectivity than single-sequence homology searches. MAST is currently only available in the ftp-able code, not via the web server.
- Various bug fixes to MEME.

MEME version 1.1 -- June 30, 1995

- Initial release of MEME, NOTE and PROBER.

## Meta-MEME Release Notes

Release 3.3

- The program `motif-scan` has been renamed to `fimo`

Release 3.x, Release 3.3, March 24, 2007

- Added new tools:
  motif-scan
    Scans a database of sequences for the presence of motifs by calculating the p-value of the match to the motif at each position in the sequences.
  shadow
    Calculates the log-odds of a multiple alignment for a given phylogentic tree and evolutionary model at each position in the alignment.
  motiph
    Scans a multiple alignment for the presence of motifs by by calculating the p-values of motif-width windows in the alignment for a given phylogentic tree and evolutionary model.
  tom-tom
    Searches target motifs for elements similar to any in a set of query motifs.
- Added `--global` option to `mhmms`. This option causes `mhmms` to score sequences using the best match between the model and the entire sequence. The default is to score using the best local match within a sequence.
- Added `--maxhits` option to `mhmms`. This option sets an absolute limit to the number of hits returned by `mhmms`. The default is to return all hits consistent with the E-value and p-value thresholds.
- Fixed error in `mhmms` that resulted in a sequence being considered a hit even if all positions were matched to a spacer state.
- Fixed error causing segmentation a fault in `mhmms` when the `--motif-scoring` or `--pthresh` options were used.
- Fixed error causing segmentation a fault in `mhmm` when the `--order` option was used.

Release 3.21, August 3, 2005

- Modified meme-io.c to be able to parse the output from the latest versions of MEME.
- Modified the mcast script: removed the -allow-weak-motifs swich, and added the --keep-unused switch to the call to mhmm from mcast.

Release 3.2, October 7. 2004

- Reorganized source directory structure and implemented build system using autoconf and automake.
- Updated program documentation.

Release 3.1, February 4, 2004

- Remove the auxiliary program `score-n-store`.
- Change command-line processing to follow POSIX.2 standard.

Release 3.0.1, June 2, 2003

- Add documentation for MCAST.

Release 3.0, May 15, 2003

- Remove `mhmmt` (EM training program) and `mhmma` (multiple alignment program).
- Add `mhmmscan` and the `mcast` wrapper program for searching DNA databases for regulatory modules.
- Allow star topology in `mhmm`.