BACKGROUND
detection of short, subtle conserved regions within a set of related sequences can be beneficial in determining biologically important regulatory elements such as transcription factor and dna binding sites, and conserved protein domains.
over  <dig> software solutions have been published with the underlying goal of detecting subtle, conserved motif sequences within a set of related sequences  <cit> , including implementations using gibbs sampling routines  <cit> , expectation-maximization   <cit> , particle swarm optimization   <cit>  and a variety of other methods  <cit> .
motif detection algorithms are known to be limited, producing accuracies on the order of 15–25% at the nucleotide level, and 25–35% at the binding site level  <cit> .
despite the large number of detection algorithms and high levels of inaccuracy, only a limited number of assessments of motif discovery tools have been performed  <cit> .
tompa et al.
<cit>  describe the creation of a dna benchmarking dataset using the binding sites of known promoter sequences from the transfac database  <cit>  along with dna motifs creating using a markov chain.
creation of this dataset is critically important for the assessment of motif detection approaches.
however, the benchmark dataset is limited only to dna sequences, and those randomly created are done so using a stochastic approach rather than one directed by a mutational model.
rmotifgen has been developed as a solution to test various aspects of these limitations by creating simulated dna and protein sequences where the motifs within the amino acid sequences are allowed to mutate according to a substitution matrix model.
a number of different approaches for generating random biological sequences have previously been presented.
the majority of these programs have focused on generating random sequences for the purpose of simulating evolution through mutation events  <cit>  or by emitting sequences to resemble those from a particular statistical model.
more recently, the program genrgens  <cit>  describes a software tool that can expand upon these by incorporating structure into random sequences using context-free grammars and regular expressions.
while each of these approaches is adequate in simulating sequence events on a whole sequence level, a solution has not previously been described to generate completely random sequences that contain regions of similar signals within them.
rmotifgen addresses this need by providing a method for randomly creating dna or amino acid sequences using a simple background model, and then introducing into these sequences subtle motifs.
rmotifgen allows for each of the motifs to be incorporated into the individual sequences with different probabilities.
in addition, each motif instance is allowed to mutate from the consensus within each sequence using substitution matrix models and pssms.
implementation
user input
rmotifgen generates random motifs and sequences based upon two levels of user inputs.
the first level requires the user to declare the length, number, and type of sequences , as well as the number of different motifs to create.
based upon the sequence type, the user must provide a background frequency for each residue to create the random sequences.
these frequencies are treated as proportionate, which are normalized to one in order to be further considered as percentages.
once the user has entered the first level of overall information, the user is then required to provide the properties for each motif, which can be based on a user-entered consensus, randomly generated sequence, or pssm.
residue frequencies for each randomly generated consensus must be provided.
as a result, the user can provide such information as an amino acid region that is hydrophobic or hydrophilic in nature.
random dna motifs can be designed to maintain reverse complementary palindromic properties.
two versions of rmotifgen are provided depending on the needs of the user.
the first is a command line interface developed using ansi g++ that should be portable to any operating system.
the second is a gui developed using visual studio®  <dig> c# that has been tested extensively on windows® xp.
user inputs will be handled differently based upon which version is being used.
command line mode
the command line version of rmotifgen version  <dig>  is distributed as a gzipped tarball file consisting of four .h header files and four .cpp implementation files.
development of the command line version has proceeded to provide researchers with the ability to use rmotifgen on a variety of computing platforms in an interactive environment and also to allow for creation of input via files so that rmotifgen can be called from batch scripts.
interactive mode
once the executable for rmotifgen has been created, the interactive mode can be invoked by typing rmotifgen at the command line prompt without any parameters.
the user is prompted for each of the overall inputs one at a time via the console, followed by the individual parameters for each motif.
the resulting random sequences can be output either to a specified file or to the console, depending on the user's desire.
batch mode
simulations are often very useful to study the behavior patterns of algorithms.
this is true as well for motif detection algorithms.
setting up a large number of variable inputs for each of the algorithms may be desired.
as a result, the command line version of rmotifgen allows users to read motif parameters from input files that can be automatically generated.
this allows rmotifgen to be callable from within a shell script to efficiently design random sequences containing motifs of different composition.
the batch mode is invoked with the usage: rmotifgen  -f <filename> where p signifies that the random sequences generated will be protein sequences and n signifies they will be amino acid sequences.
filename refers to the name of the file where the input data is stored.
the input filename is structured using boulder data interchange format  <cit>  which formats the data in a tag = value format that can be easily parsed.
two sample input files are provided in the tarball, dnainput.dat for an example of how to create the file for dna sequences and aainput.dat for amino acid sequences.
since the input originates from a file, and the output can be written to a file, the batch mode allows for the possibility of creating a large number of random sequences for simulation purposes.
gui mode
an initial screen prompting the user for overall sequence properties first pops up when run in gui mode .
the user must provide the initial background frequencies for the desired sequence type.
defaults for dna sequences are 25% for each residue.
for amino acid sequences, the background frequency of each amino acid is set according to the observed frequencies within the swiss-prot database  <cit>  release  <dig> .
when the user presses the "continue" button, s/he is prompted to enter in the details for each motif consensus to be generated .
in this screen, a decision can be made as to whether the consensus is created based on a user-defined sequence, position specific scoring matrix, or if it will be created randomly.
in the case that it that it is randomly generated, the user will provide the residue frequencies for motif generation.
this allows motifs to be constructed based on a number of different properties.
if the motif is a dna sequence, it can additionally be constrained to be a palindrome.
each randomly generated sequence can have zero or one occurrence of the motif, which is incorporated by the specified percentage of sequences in which it is contained.
two or more occurrences of the same motif into each sequence can be incorporated by adding duplicate records for the same motif.
the level of conservation between the consensus motif and each randomly generated instance is provided.
in the case where the consensus is not defined by a pssm, dna sequences use a straight-forward percent conservation of the consensus to determine the sequence for each motif occurrence, while amino acid sequences are generated from the consensus based on the provided pam substitution matrix model  <cit> .
the larger the number is for the pam, the more divergent the motifs will be.
a pam of  <dig> can be used if complete conservation is desired.
when the motif parameters are set, the user presses the "generate sequences" button which creates the sequences and presents them in a formatted output screen  where they can be copied to the clipboard or saved to a file.
random sequence generation
for both the gui and command line interfaces, the sequences are randomly generated based upon the background residue frequencies.
in order to make rmotifgen more robust, the frequencies entered are not required to sum to either  <dig> or  <dig>  rather, they are treated as ratios which are subsequently normalized.
each position within the sequence is treated as a completely separate entity.
for the command line interface, the ansi standard drand <dig> family of pseudo-random number generators is used.
after the sequences have been randomly generated, consensus motifs are created.
these can either be set according to the user-defined consensus pattern or randomly generated based upon the motif residue frequencies.
each random sequence is then considered to determine whether or not it will contain an instance of the current motif.
if the motif is selected for inclusion, the background sequence is examined to see which sites are available for the motif position such that two motifs are not overlapping in order to prevent truncated motifs.
the current version of rmotifgen does not allow for overlapping motifs, but does allow for them to be randomly ordered.
the motif instance is then created using the model of conservation provided, via a pam lookup table, pssm, or by a percent conservation variable.
output
each random sequence is presented in fasta file format.
the descriptor line begins with a '>' followed by an identifier rmotifgen_randseq_<seqnum> which uniquely identifies the sequence.
the remainder of the header contains the number of motifs created, followed by each individual beginning location.
if a motif is omitted, its positional value is - <dig>  the remainder of the fasta file is the actual sequence data.
figure  <dig> illustrates an example fasta sequence.
RESULTS
a sample amino acid sequence set of ten sequences of length  <dig> residues with six allowed motifs per sequence was generated from rmotifgen.
background residue frequencies for the data set was taken from the observed amino acid frequencies in swiss-prot  <cit>  release  <dig>  dated 06-mar- <dig>  <cit> .
the first motif consensus, lydvaeyagvsyqtvsrvv, was entered in as a helix-turn-helix  motif from e. coli lactose operon repressor lac <dig>  <cit> .
the second and third consensuses were randomly generated, where the motif residue frequencies were heavily weighted towards hydrophobic and hydrophilic amino acids, respectively.
the fourth motif consensus, dvyyispqgkkfrskpq, represents a partial region from the methyl cpg binding domain  extracted from prosite  <cit>  entry pdoc <dig>  the fifth consensus, vcvhqacygilkv, was taken from the multiple alignment for the plant homeodomain  type zinc finger .
the final motif was generated from a pssm for the outer membrane motif described in neuwald, et al.
<cit> .
pam matrices used for each of these sequences were  <dig>   <dig>   <dig>   <dig>  and  <dig> respectively, indicating that the second and third motifs are more likely to incorporate mutations, and the fifth motif is 100% conserved from the consensus sequence.
note that since the sixth motif is pssm-generated, it does not have an associated pam matrix.
conservation of the motifs within each sequence was set to 100%, 80%, 100%, 50%, 70%, and 75% respectively, indicating the likelihood that each sequence contains each of the six motifs.
the resulting motifs generated are listed in table  <dig>  and their locations are listed in table  <dig>  complete sequences are available .
464
357
381
476
291
397
73
317
34
r: rmotifgen randomly assigned motifs; m: meme assigned motifs; g: gibbs sampler assigned motifs.
each of the start positions have been modified so that each sequence begins at  <dig>  to comply with rmotifgen.
sites incorrectly found are listed in a bold, italic font.
this includes the motif  <dig> positions found by the gibbs sampler which are offset by three bases
rmotifgen can be used to create benchmark data sets for motif detection algorithms.
in order to demonstrate this capability, the test set described above was used as input into the meme web server  <cit>  and the gibbs motif sampler  <cit> .
results for meme and gibbs sampler are found in table  <dig>
meme had the parameters set for zero or one occurrence per sequence, and a total of six motifs to detect.
meme was able to locate the exact positions for each occurrence of motif one, four, and five while finding all but one occurrence of motif six .
however, meme was unable to locate motifs two and three in any part.
since meme was forced to find a total of six motifs, two additional patterns were found where each pattern had two occurrences  .
for the gibbs sampler, the number of motif patterns was set to six with motif widths of  <dig>   <dig>   <dig>   <dig>   <dig>  and  <dig>  the estimated site count for each motif type was set to  <dig>  the remaining parameters were left at the default values.
as table  <dig> indicates, the gibbs sampler was not as effective at locating the motif sites as meme.
gibbs found the exact locations for the motifs one and four, while find the locations with a three base offset for motif five.
gibbs was unable to find the occurrences for the motif patterns two, three and six.
an additional three motif patterns were found  which do not correspond to either the meme patterns or the expected motif patterns.
results for the gibbs sampler are provided .
discussion
rmotifgen provides an effective method for constructing motifs in dna and amino acid sequences according to substitution matrices and pssms which have biological relevance.
one of the limitations to the current approach, however, is that the background residues are randomly chosen using a bernoulli methodology.
the implementation generates the random background sequences such that each of the sequences generated has the same residue distribution.
a more biologically relevant approach would be to assign each individual background sequence a distribution which takes into account a higher order sequence organization.
a model  which takes into account factors such as dinucleotide and hexamer frequencies for dna sequences would provide sequences more likely to occur in nature.
rmotifgen does not incorporate these higher order methodologies for the background sequences at this point in time in order to maintain a reasonable number of parameters , and since doing so may help create sequences that are in effect trained for a particular motif detection approach.
future releases will provide for more intelligent background sequence modeling.
CONCLUSIONS
detection of short, subtle motif signals within dna and amino acid sequences remains a difficult problem due to the fact that biological signals may not be highly conserved.
testing of motif detection approaches using benchmark standards is important.
our solution, rmotifgen, demonstrates that creation of random motif datasets under certain evolutionary constraints can be used to determine the limitations of motif detection algorithms.
by providing both gui and command line versions, rmotifgen should be flexible to suit any desired need, including the construction of large scale sets for simulations.
availability and requirements
rmotifgen can be accessed at: .
two versions, one providing a graphical interactive environment, and the other serving as a more portable command line interface, are available.
in addition, an html form-based interface into the command line version is available at the above website.
the interactive version was developed using c# within visualstudio®  <dig> on a windows® xp system.
the gui executable is freely available to all users.
microsoft's® .net framework version  <dig>  redistribution package  is required, and can be freely downloaded from .
it has been tested on a windows® xp professional system, but should also run on any windows® system using windows®  <dig> or later.
distribution of the command line interface is accomplished under the gnu public license for all users.
it was developed using ansi c++, and should be portable to any system with an ansi c++ compiler, such as gnu's g++.
it has been fully tested using g++  <dig> .
<dig> on a system using suse® linux  <dig> .
abbreviations
american national standards institute , bioinformatics research group , expectation-maximization , graphical user interface , helix-turn-helix , methyl cpg binding domain , multiple expectation-maximization for motif elicitation , plant homeodomain , point accepted mutation , particle swarm optimization , position specific scoring matrix
authors' contributions
ecr and cth worked together in the design and testing phase of software development.
ecr is the main author of the code.
both authors have read and approved this manuscript.
supplementary material
additional file 1
rmotifgen-sample_aa.fa.
example randomly generated amino acid sequence file used in the manuscript.
click here for file
additional file 2
meme- <dig> results.html.
resulting motif detection for the random sequences using meme.
click here for file
additional file 3
gibbssampler.results.
resulting motif detection for the random sequences using the gibbs sampler.
click here for file
acknowledgements
this project was made possible by nih-ncrr grant p20rr- <dig>  and nih-niehs grant 1p30es014443-01a <dig> .
its contents are solely the responsibility of the authors and do not necessarily represent the official views of ncrr, niehs or nih.
the authors wish to thank members of the university of louisville bioinformatics research group  for helpful discussions.

 detection of short, subtle conserved regions within a set of related sequences can be beneficial in determining biologically important regulatory elements such as transcription factor and dna binding sites, and conserved protein domains. over software solutions have been published with the underlying goal of detecting subtle, conserved motif sequences within a set of related sequences, including implementations using gibbs sampling routines, expectation-maximization, particle swarm optimization and a variety of other methods. motif detection algorithms are known to be limited, producing accuracies on the order of 15–25% at the nucleotide level, and 25–35% at the binding site level. despite the large number of detection algorithms and high levels of inaccuracy, only a limited number of assessments of motif discovery tools have been performed. tompa et al. describe the creation of a dna benchmarking dataset using the binding sites of known promoter sequences from the transfac database along with dna motifs creating using a markov chain. creation of this dataset is critically important for the assessment of motif detection approaches. however, the benchmark dataset is limited only to dna sequences, and those randomly created are done so using a stochastic approach rather than one directed by a mutational model. rmotifgen has been developed as a solution to test various aspects of these limitations by creating simulated dna and protein sequences where the motifs within the amino acid sequences are allowed to mutate according to a substitution matrix model. a number of different approaches for generating random biological sequences have previously been presented. the majority of these programs have focused on generating random sequences for the purpose of simulating evolution through mutation events or by emitting sequences to resemble those from a particular statistical model. more recently, the program genrgens describes a software tool that can expand upon these by incorporating structure into random sequences using context-free grammars and regular expressions. while each of these approaches is adequate in simulating sequence events on a whole sequence level, a solution has not previously been described to generate completely random sequences that contain regions of similar signals within them. rmotifgen addresses this need by providing a method for randomly creating dna or amino acid sequences using a simple background model, and then introducing into these sequences subtle motifs. rmotifgen allows for each of the motifs to be incorporated into the individual sequences with different probabilities. in addition, each motif instance is allowed to mutate from the consensus within each sequence using substitution matrix models and pssms. implementation user input rmotifgen generates random motifs and sequences based upon two levels of user inputs. the first level requires the user to declare the length, number, and type of sequences, as well as the number of different motifs to create. based upon the sequence type, the user must provide a background frequency for each residue to create the random sequences. these frequencies are treated as proportionate, which are normalized to one in order to be further considered as percentages. once the user has entered the first level of overall information, the user is then required to provide the properties for each motif, which can be based on a user-entered consensus, randomly generated sequence, or pssm. residue frequencies for each randomly generated consensus must be provided. as a result, the user can provide such information as an amino acid region that is hydrophobic or hydrophilic in nature. random dna motifs can be designed to maintain reverse complementary palindromic properties. two versions of rmotifgen are provided depending on the needs of the user. the first is a command line interface developed using ansi g++ that should be portable to any operating system. the second is a gui developed using visual studio® c# that has been tested extensively on windows® xp. user inputs will be handled differently based upon which version is being used. command line mode the command line version of rmotifgen version is distributed as a gzipped tarball file consisting of four.h header files and four.cpp implementation files. development of the command line version has proceeded to provide researchers with the ability to use rmotifgen on a variety of computing platforms in an interactive environment and also to allow for creation of input via files so that rmotifgen can be called from batch scripts. interactive mode once the executable for rmotifgen has been created, the interactive mode can be invoked by typing rmotifgen at the command line prompt without any parameters. the user is prompted for each of the overall inputs one at a time via the console, followed by the individual parameters for each motif. the resulting random sequences can be output either to a specified file or to the console, depending on the user's desire. batch mode simulations are often very useful to study the behavior patterns of algorithms. this is true as well for motif detection algorithms. setting up a large number of variable inputs for each of the algorithms may be desired. as a result, the command line version of rmotifgen allows users to read motif parameters from input files that can be automatically generated. this allows rmotifgen to be callable from within a shell script to efficiently design random sequences containing motifs of different composition. the batch mode is invoked with the usage: rmotifgen -f <filename> where p signifies that the random sequences generated will be protein sequences and n signifies they will be amino acid sequences. filename refers to the name of the file where the input data is stored. the input filename is structured using boulder data interchange format which formats the data in a tag = value format that can be easily parsed. two sample input files are provided in the tarball, dnainput.dat for an example of how to create the file for dna sequences and aainput.dat for amino acid sequences. since the input originates from a file, and the output can be written to a file, the batch mode allows for the possibility of creating a large number of random sequences for simulation purposes. gui mode an initial screen prompting the user for overall sequence properties first pops up when run in gui mode. the user must provide the initial background frequencies for the desired sequence type. defaults for dna sequences are 25% for each residue. for amino acid sequences, the background frequency of each amino acid is set according to the observed frequencies within the swiss-prot database release. when the user presses the "continue" button, s/he is prompted to enter in the details for each motif consensus to be generated. in this screen, a decision can be made as to whether the consensus is created based on a user-defined sequence, position specific scoring matrix, or if it will be created randomly. in the case that it that it is randomly generated, the user will provide the residue frequencies for motif generation. this allows motifs to be constructed based on a number of different properties. if the motif is a dna sequence, it can additionally be constrained to be a palindrome. each randomly generated sequence can have zero or one occurrence of the motif, which is incorporated by the specified percentage of sequences in which it is contained. two or more occurrences of the same motif into each sequence can be incorporated by adding duplicate records for the same motif. the level of conservation between the consensus motif and each randomly generated instance is provided. in the case where the consensus is not defined by a pssm, dna sequences use a straight-forward percent conservation of the consensus to determine the sequence for each motif occurrence, while amino acid sequences are generated from the consensus based on the provided pam substitution matrix model. the larger the number is for the pam, the more divergent the motifs will be. a pam of can be used if complete conservation is desired. when the motif parameters are set, the user presses the "generate sequences" button which creates the sequences and presents them in a formatted output screen where they can be copied to the clipboard or saved to a file. random sequence generation for both the gui and command line interfaces, the sequences are randomly generated based upon the background residue frequencies. in order to make rmotifgen more robust, the frequencies entered are not required to sum to either or rather, they are treated as ratios which are subsequently normalized. each position within the sequence is treated as a completely separate entity. for the command line interface, the ansi standard drand family of pseudo-random number generators is used. after the sequences have been randomly generated, consensus motifs are created. these can either be set according to the user-defined consensus pattern or randomly generated based upon the motif residue frequencies. each random sequence is then considered to determine whether or not it will contain an instance of the current motif. if the motif is selected for inclusion, the background sequence is examined to see which sites are available for the motif position such that two motifs are not overlapping in order to prevent truncated motifs. the current version of rmotifgen does not allow for overlapping motifs, but does allow for them to be randomly ordered. the motif instance is then created using the model of conservation provided, via a pam lookup table, pssm, or by a percent conservation variable. output each random sequence is presented in fasta file format. the descriptor line begins with a'>' followed by an identifier rmotifgen_randseq_<seqnum> which uniquely identifies the sequence. the remainder of the header contains the number of motifs created, followed by each individual beginning location. if a motif is omitted, its positional value is - the remainder of the fasta file is the actual sequence data. figure illustrates an example fasta sequence.  a sample amino acid sequence set of ten sequences of length residues with six allowed motifs per sequence was generated from rmotifgen. background residue frequencies for the data set was taken from the observed amino acid frequencies in swiss-prot release dated 06-mar-. the first motif consensus, lydvaeyagvsyqtvsrvv, was entered in as a helix-turn-helix motif from e. coli lactose operon repressor lac. the second and third consensuses were randomly generated, where the motif residue frequencies were heavily weighted towards hydrophobic and hydrophilic amino acids, respectively. the fourth motif consensus, dvyyispqgkkfrskpq, represents a partial region from the methyl cpg binding domain extracted from prosite entry pdoc the fifth consensus, vcvhqacygilkv, was taken from the multiple alignment for the plant homeodomain type zinc finger. the final motif was generated from a pssm for the outer membrane motif described in neuwald, et al.. pam matrices used for each of these sequences were and respectively, indicating that the second and third motifs are more likely to incorporate mutations, and the fifth motif is 100% conserved from the consensus sequence. note that since the sixth motif is pssm-generated, it does not have an associated pam matrix. conservation of the motifs within each sequence was set to 100%, 80%, 100%, 50%, 70%, and 75% respectively, indicating the likelihood that each sequence contains each of the six motifs. the resulting motifs generated are listed in table and their locations are listed in table complete sequences are available. 464 357 381 476 291 397 73 317 34 r: rmotifgen randomly assigned motifs; m: meme assigned motifs; g: gibbs sampler assigned motifs. each of the start positions have been modified so that each sequence begins at to comply with rmotifgen. sites incorrectly found are listed in a bold, italic font. this includes the motif positions found by the gibbs sampler which are offset by three bases rmotifgen can be used to create benchmark data sets for motif detection algorithms. in order to demonstrate this capability, the test set described above was used as input into the meme web server and the gibbs motif sampler. results for meme and gibbs sampler are found in table meme had the parameters set for zero or one occurrence per sequence, and a total of six motifs to detect. meme was able to locate the exact positions for each occurrence of motif one, four, and five while finding all but one occurrence of motif six. however, meme was unable to locate motifs two and three in any part. since meme was forced to find a total of six motifs, two additional patterns were found where each pattern had two occurrences. for the gibbs sampler, the number of motif patterns was set to six with motif widths of and the estimated site count for each motif type was set to the remaining parameters were left at the default values. as table indicates, the gibbs sampler was not as effective at locating the motif sites as meme. gibbs found the exact locations for the motifs one and four, while find the locations with a three base offset for motif five. gibbs was unable to find the occurrences for the motif patterns two, three and six. an additional three motif patterns were found which do not correspond to either the meme patterns or the expected motif patterns. results for the gibbs sampler are provided. discussion rmotifgen provides an effective method for constructing motifs in dna and amino acid sequences according to substitution matrices and pssms which have biological relevance. one of the limitations to the current approach, however, is that the background residues are randomly chosen using a bernoulli methodology. the implementation generates the random background sequences such that each of the sequences generated has the same residue distribution. a more biologically relevant approach would be to assign each individual background sequence a distribution which takes into account a higher order sequence organization. a model which takes into account factors such as dinucleotide and hexamer frequencies for dna sequences would provide sequences more likely to occur in nature. rmotifgen does not incorporate these higher order methodologies for the background sequences at this point in time in order to maintain a reasonable number of parameters, and since doing so may help create sequences that are in effect trained for a particular motif detection approach. future releases will provide for more intelligent background sequence modeling.  detection of short, subtle motif signals within dna and amino acid sequences remains a difficult problem due to the fact that biological signals may not be highly conserved. testing of motif detection approaches using benchmark standards is important. our solution, rmotifgen, demonstrates that creation of random motif datasets under certain evolutionary constraints can be used to determine the limitations of motif detection algorithms. by providing both gui and command line versions, rmotifgen should be flexible to suit any desired need, including the construction of large scale sets for simulations. availability and requirements rmotifgen can be accessed at:. two versions, one providing a graphical interactive environment, and the other serving as a more portable command line interface, are available. in addition, an html form-based interface into the command line version is available at the above website. the interactive version was developed using c# within visualstudio® on a windows® xp system. the gui executable is freely available to all users. microsoft's®.net framework version redistribution package is required, and can be freely downloaded from. it has been tested on a windows® xp professional system, but should also run on any windows® system using windows® or later. distribution of the command line interface is accomplished under the gnu public license for all users. it was developed using ansi c++, and should be portable to any system with an ansi c++ compiler, such as gnu's g++. it has been fully tested using g++. on a system using suse® linux. abbreviations american national standards institute, bioinformatics research group, expectation-maximization, graphical user interface, helix-turn-helix, methyl cpg binding domain, multiple expectation-maximization for motif elicitation, plant homeodomain, point accepted mutation, particle swarm optimization, position specific scoring matrix authors' contributions ecr and cth worked together in the design and testing phase of software development. ecr is the main author of the code. both authors have read and approved this manuscript. supplementary material additional file 1 rmotifgen-sample_aa.fa. example randomly generated amino acid sequence file used in the manuscript. click here for file additional file 2 meme- results.html. resulting motif detection for the random sequences using meme. click here for file additional file 3 gibbssampler.results. resulting motif detection for the random sequences using the gibbs sampler. click here for file acknowledgements this project was made possible by nih-ncrr grant p20rr- and nih-niehs grant 1p30es014443-01a. its contents are solely the responsibility of the authors and do not necessarily represent the official views of ncrr, niehs or nih. the authors wish to thank members of the university of louisville bioinformatics research group for helpful discussions.
detection of short, subtle conserved motif regions within a set of related dna or amino acid sequences can lead to discoveries about important regulatory domains such as transcription factor and dna binding sites as well as conserved protein domains. the second implementation has the added advantages of platform independence and being able to be called in a batch mode. in order to help assess motif detection algorithms on motifs with varying properties and levels of conservation, we have developed a computational tool, rmotifgen, with the sole purpose of generating a number of random dna or protein sequences containing short sequence motifs. the resulting sequences can be helpful in mutational simulations and in testing the limits of motif detection algorithms. rmotifgen provides an efficient and convenient method for creating random dna or amino acid sequences with a variable number of motifs, where the instance of each motif can be incorporated using a position-specific scoring matrix or by creating an instance mutated from its corresponding consensus using an evolutionary model based on substitution matrices. insertions and mutations within these motifs are created according to user-defined parameters and substitution matrices. each motif consensus can be user-defined, randomly generated, or created from a position-specific scoring matrix. two implementations of rmotifgen have been created, one providing a graphical user interface for random motif construction, and the other serving as a command line interface. rmotifgen was used to construct sample sets of sequences containing dna motifs and amino acid motifs that were then tested against the gibbs sampler and meme packages.
 detection of short, subtle conserved motif regions within a set of related dna or amino acid sequences can lead to discoveries about important regulatory domains such as transcription factor and dna binding sites as well as conserved protein domains. in order to help assess motif detection algorithms on motifs with varying properties and levels of conservation, we have developed a computational tool, rmotifgen, with the sole purpose of generating a number of random dna or protein sequences containing short sequence motifs. each motif consensus can be user-defined, randomly generated, or created from a position-specific scoring matrix. insertions and mutations within these motifs are created according to user-defined parameters and substitution matrices. the resulting sequences can be helpful in mutational simulations and in testing the limits of motif detection algorithms.  two implementations of rmotifgen have been created, one providing a graphical user interface for random motif construction, and the other serving as a command line interface. the second implementation has the added advantages of platform independence and being able to be called in a batch mode. rmotifgen was used to construct sample sets of sequences containing dna motifs and amino acid motifs that were then tested against the gibbs sampler and meme packages.  rmotifgen provides an efficient and convenient method for creating random dna or amino acid sequences with a variable number of motifs, where the instance of each motif can be incorporated using a position-specific scoring matrix or by creating an instance mutated from its corresponding consensus using an evolutionary model based on substitution matrices. rmotifgen is freely available at:. 