CentriMo needs all sequences to be the same length!
This is because the statistical calculation assumes that it is equally likely for a uninteresting motif site to appear anywhere in the sequence whereas interesting motifs are likely to have sites biased toward a small section of sequence (specifically the center, if not in local mode). If we try to include sequences that are not the same length then it causes unavoidable biases in these calculations and may give the wrong results, thus it was concluded that we would accept a single length and skip any sequences that were different.
If you run CentriMo without telling it what length you want, it will assume that the first sequence in the file is the correct length and then filter everything else to match. Sometimes this is not what is wanted so we also added the switch "--seqlen" which you can use to specify the desired sequence length. Like so:
centrimo --seqlen 500 sequences.fna motifs.meme
When implementing MEME-ChIP we realised that calling CentriMo with the default behaviour could lead to problems. If for some reason the first sequence was truncated by some sequence feature and so wasn't the same as most of the rest it was leading to the rest of the sequences being discarded! To work around this problem we run the MEME-ChIP sequences through the script "fasta-most" which finds the most frequently occurring sequence length and then when CentriMo is called that length is passed with the "--seqlen" parameter.