the initial objective of this work is to develop a viewing tool to display the results of transfac searches in a graphic form . in this paper , we will describe a software tool we have developed for combining expression data with promoter analysis . promoter analysis is a process that has historically been very difficult to perform in higher eukaryotes ( 1 ) . the first question one must consider is how exactly to define a promoter ? in the context of this article , we will be using the definition that the  core promoter should occupy a region 500 bp upstream of the start of transcription ( 2 ) . the variable and sometimes large 5-untranslated regions of mammalian messages make any reference to the start of translation rather weak , and the poor sequence conservation between starts ( 3 ) makes computer prediction a complex and sometimes unreliable task . we purchased the promoter resources for human , mouse and rat from genomatix ( ) which , as of spring 2004 , contained 156  000 starts of transcription . non - commercial resources also exist , most notably the eukaryotic promoter database ( ) ( 5 ) and the various genome sequence repositories . there are two major schools of thought regarding promoter analysis at the present time : first , the sequence - based approach where short regions of sequence conservation between regulatory sequences are assembled in an attempt to predict regions of micro - conservation that might be important in the control of gene expression , e.g. the meme motif discovery program ( 6 ) which is a tool for discovering motifs in a group of related sequences . meme was one of the first such programs and it strives to develop position - dependent probability matrices for finding every possible letter at each position in a putative pattern . the motifs found do not contain gaps but can be rather short so that gaps are modeled by the occurrence of additional motifs with un - conserved relative spacings . one further program is motifsampler , which uses gibbs sampling to assign a probability distribution to the chance of finding apparently conserved regions of sequence ( 7 ) . these models do not require any prior knowledge of the underlying biology and as such it can be difficult to assess the mechanistic significance of any pattern found ( 8) , and even when sequence conservation does occur it does not necessarily imply a conserved regulatory function . the second major approach for promoter analysis is the knowledge - based search for known transcription factor binding sites [ reviewed in ( 9 ) ] . this process relies on the collection of information from the scientific literature about the known binding sites from which a consensus target site is estimated . this effort is largely the work of the german company biobase gmbh ( ) through their match program associated with the transfac database . match provides extremely detailed reports of potential binding sites in target sequences ; however , the complexity of the answers returned can be daunting . the challenge here is to filter the data so that we can extract biologically useful models for hypothesis formulation . the objective of this work is to create a simple web application which would use expression data or proteomics data to filter the list of potential transcription factors predicted by transfac . we then developed an advanced pattern recognition algorithm to extract patterns of conserved factors in the promoters under investigation . looking for single transcription factors does not provide any measure of the significance of findings above that given already in transfac , instead modules of multiple transcription factors in a defined order have been shown to be critical for modulating the expression of genes ( 10,11 ) . higher - order complexes may be considered as pairs , triplets or greater numbers of factors in a module . models composed of three factors have already been shown to be more selective than those of only two ( 12 ) . models with even higher complexity are overly stringent and appear automatically when searching for patterns of three . if multiple overlapping binding sites are predicted for the same transcription factor , these are concatenated in the display process into a single big binding site . this helps to simplify the display process without having a negative effect on the pattern searching process . the output is presented as an interactive web page using the adobe svg plug - in ( adobe systems inc . our tool is distributed in two forms : one for local installation , which can automate the transfac queries and promoter sequence extraction using in - house information resources ( source code available on request ) ; and a second which is freely available on the internet ( ) . the input required for the internet - accessible version is a transfac search , saved as a text file , for your promoters . a free version of transfac is available from biobase ( ) which may be used for this purpose . it was designed using visual studio 2003 ( asp.net 1.1 ) and uses iis as a web server ( microsoft corporation , redland , wa ) . we recommend that users access our program using microsoft internet explorer 6 or later on the windows operating system as some users have reported problems with other browsers . users can either use our tool as a simple transfac viewer to simply display the results of a transfac search without further processing or they can look for conserved potentially regulatory modules within the promoters . to identify these conserved modules , we developed a pattern - searching algorithm , which works by scanning the promoter sequence for patterns composed of three transcription factors ( abc ) . so as not to collect patterns of very distant factors , which are less likely to interact with each other , the patterns are selected according to the maximum base pair distance between the first and the third factor ( c  a ) , in a user definable manner ( default = 100 bp ) . the patterns which passed the following restrictions are retained : ( i ) the same order of transcription factors ; ( ii ) an identical strand distribution of the factors ; ( iii ) a conserved spacing c  a and b  a with a user - defined wobble for the spacing conservation ( default  10 bp ) ; and ( iv ) the pattern must occur in more than one of the promoters analyzed ( default = 2 ) . , we found that the transfac match search , using the  minimize false positives ( fps ) setting , predicts on average one binding site every 20 bp . this high stringency search is very tempting because it does not generate large numbers of binding sites ; however , comparisons with published data are often not very good ( 13 ) . given that transcription factors bind cooperatively in nature it may be that sub - optimal sites are actually used in vivo which are stabilized by interaction with other proteins in a complex ( 13 ) , but these sites often appear to be below the detection threshold for an fp search . the lower stringency search options of transfac do a better job of finding the published interacting factors , with the minimize false negatives ( fns ) option predicting as many as five binding sites per nucleotide and the balance fp / fn ( sum ) option approximately one hit per nucleotide ( if all vertebrate matrices are included in the search ) . however , when combined with our pattern discovery procedure , the sum option appears to give a good balance between sensitivity and noise . clearly , the sequence of the promoter alone is unlikely to be sufficient for the effective modeling of transcription factor assembly because not every cell or developmental stage will necessarily use the same transcription factors to control expression in response to every possible stimulus ( 14 ) . as not every transcription factor is in an active state in every cell , we can ask which transcription factors are expressed in the cell and what protein modifications might influence their activity ? in our institute , we usually address this issue by looking directly at the expression of all transcription factors on affymetrix microarrays . any factor that is not expressed in any of the steps of the experiment is unlikely to be present to any significant quantity in regulatory complexes . similarly , information may also be available from proteomics analysis of samples , which may reveal that certain factors are in inactive phosphorylation states or otherwise excluded from participation in the regulatory machinery . we decided that such information , when available , represents a useful resource for effective modeling and so users may optionally provide a file containing the names of transcription factors or transfac matrix ids which will be excluded from the analysis . alternatively , during the course of expression data mining , we often find that transcription factors themselves are altered in their expression during an experiment . one might hypothesize that some of these changing factors have direct roles in the control of the other genes detected and a question that we are often presented with is  can you show me what factor x might be doing to my promoters?. there are two solutions to this problem in our program : ( i ) if users have specific factors of interest in mind then they can provide a list of these and only patterns containing at least one of the named factors will be displayed ; ( ii ) users can click on the factor names in the legend of the svg display to see those promoters that contain patterns including specific factors . the potential inputs for promoterplot are transfac result files ( internet version ) , fasta files ( local version only , requires a local copy of transfac ) or affymetrix ids ( local version only , requires a local copy of transfac and a local promoter database ) . the fasta headers should be kept as short as possible , but can contain start of transcription information in the following format : # transcription_start_position : start_color#. multiple starts can be supplied one after the other in this way . the final characters can be a short description of the gene , for example : 
 > 12345_at#1985:gold#1951:silver#2001:bronze#mygene 
 in this example , it would draw a promoter for the gene  > 12345_at : mygene with a start colored if you wish to use other colors , then you can also enter base-10 rgb values instead of the words in the format r , g , b. we recommend that fasta titles which do not use the above notation should take the format > mygenename and avoid using non - alphanumeric characters . because the results are active web pages containing server - side scripting , they are stored on our server for a maximum of 72 h for  anonymous searches ( users get a session i d which they can use to access their data during this time ) . users who would like to keep results for longer periods are encouraged to register ( free ) with a username and a password . searches stored in this way are kept until the user deletes them or 3 months have passed without access . the primary objective of the display is to make each factor type visually distinct while retaining visual similarities between factors with similar names . it is clear that the same factor must always have the same appearance every time the program is run . the factors are represented by a filled box surrounded by a colored boarder ( figure 2 ) . this two - color approach makes the process of discrimination much easier than with a single color . the fill colors are assigned automatically by taking the name of the transcription factor ( e.g. stat5 ) and converting the first three letters of the name into their corresponding ascii values to give the red , green and blue color channels . if the name has fewer than three characters , then the missing characters are replaced by the ascii code 00 . the border color is generated in the same way but now the dominance is reversed so that the color is defined by the ascii values of the final three characters of the name in the order blue , green and red . thus , the border colors enable us to visually distinguish factors with very similar names . the results are displayed in a web page that is composed of three frames : analysis , legend and output . two viewing modes exist : the first mode ( pattern view ) displays only the patterns discovered by the pattern - finding algorithm . clicking on a factor or its corresponding entry in the legend will display all of the patterns containing that factor . additionally , clicking on the box at the 5 end of each promoter will display all of the patterns found in the selected sequence in any other promoter . the second mode ( factor view ) displays the individual transcription factors ( optionally even those that are not members of patterns ) . clicking on a factor will display the location of that factor in all of the promoters . in addition , it will provide the target binding site sequences and positions of these factors in the output window . thanks to the svg plug - in , it is possible to zoom and pan the analysis window , facilitating the display of large numbers of sequences . all of the results are stored in a password - protected user folder on our server . in the event that a pattern query takes a very long time to complete , it will continue to run on our server even if the web browser is closed and users may log back in at a later date to view their results . we have purchased the sequences of 156  000 mammalian promoters from genomatix . when patterns are predicted by the program , their frequency of occurrence in the test sequence is calculated and compared with their frequency in the control database . if we define a null hypothesis that there is no difference between the two frequencies , then we can test this using a chi - square test with one degree of freedom ( 15 ) . each pattern has a vertical pin associated with it which is clickable . moving the mouse over the pin brings that pattern to the foreground and makes the others translucent . clicking on a pin hides all patterns except for selected one and displays the affymetrix ids for any of the mammalian promoters from the database which also contain this pattern . those patterns that fail the test have red pins , patterns that pass with a p - value < 0.05 have green pins and those that pass with a p - value < 0.01 have blue . to partially compensate for small numbers of test promoters , we perform a yates ' correction for discontinuity to reduce the risk of type i errors . clicking on a gene shows the affymetrix ids for all database genes with multiple conserved patterns . users can either use our tool as a simple transfac viewer to simply display the results of a transfac search without further processing or they can look for conserved potentially regulatory modules within the promoters . to identify these conserved modules , we developed a pattern - searching algorithm , which works by scanning the promoter sequence for patterns composed of three transcription factors ( abc ) . so as not to collect patterns of very distant factors , which are less likely to interact with each other , the patterns are selected according to the maximum base pair distance between the first and the third factor ( c  a ) , in a user definable manner ( default = 100 bp ) . the patterns which passed the following restrictions are retained : ( i ) the same order of transcription factors ; ( ii ) an identical strand distribution of the factors ; ( iii ) a conserved spacing c  a and b  a with a user - defined wobble for the spacing conservation ( default  10 bp ) ; and ( iv ) the pattern must occur in more than one of the promoters analyzed ( default = 2 ) . , we found that the transfac match search , using the  minimize false positives ( fps ) setting , predicts on average one binding site every 20 bp . this high stringency search is very tempting because it does not generate large numbers of binding sites ; however , comparisons with published data are often not very good ( 13 ) . given that transcription factors bind cooperatively in nature it may be that sub - optimal sites are actually used in vivo which are stabilized by interaction with other proteins in a complex ( 13 ) , but these sites often appear to be below the detection threshold for an fp search . the lower stringency search options of transfac do a better job of finding the published interacting factors , with the minimize false negatives ( fns ) option predicting as many as five binding sites per nucleotide and the balance fp / fn ( sum ) option approximately one hit per nucleotide ( if all vertebrate matrices are included in the search ) . however , when combined with our pattern discovery procedure , the sum option appears to give a good balance between sensitivity and noise . clearly , the sequence of the promoter alone is unlikely to be sufficient for the effective modeling of transcription factor assembly because not every cell or developmental stage will necessarily use the same transcription factors to control expression in response to every possible stimulus ( 14 ) . as not every transcription factor is in an active state in every cell , we can ask which transcription factors are expressed in the cell and what protein modifications might influence their activity ? in our institute , we usually address this issue by looking directly at the expression of all transcription factors on affymetrix microarrays . any factor that is not expressed in any of the steps of the experiment is unlikely to be present to any significant quantity in regulatory complexes . similarly , information may also be available from proteomics analysis of samples , which may reveal that certain factors are in inactive phosphorylation states or otherwise excluded from participation in the regulatory machinery . we decided that such information , when available , represents a useful resource for effective modeling and so users may optionally provide a file containing the names of transcription factors or transfac matrix ids which will be excluded from the analysis . alternatively , during the course of expression data mining , we often find that transcription factors themselves are altered in their expression during an experiment . one might hypothesize that some of these changing factors have direct roles in the control of the other genes detected and a question that we are often presented with is  can you show me what factor x might be doing to my promoters?. there are two solutions to this problem in our program : ( i ) if users have specific factors of interest in mind then they can provide a list of these and only patterns containing at least one of the named factors will be displayed ; ( ii ) users can click on the factor names in the legend of the svg display to see those promoters that contain patterns including specific factors . the potential inputs for promoterplot are transfac result files ( internet version ) , fasta files ( local version only , requires a local copy of transfac ) or affymetrix ids ( local version only , requires a local copy of transfac and a local promoter database ) . the fasta headers should be kept as short as possible , but can contain start of transcription information in the following format : # transcription_start_position : start_color#. multiple starts can be supplied one after the other in this way . the final characters can be a short description of the gene , for example : 
 > 12345_at#1985:gold#1951:silver#2001:bronze#mygene 
 in this example , it would draw a promoter for the gene  > 12345_at : mygene with a start colored  gold at position 1985 , if you wish to use other colors , then you can also enter base-10 rgb values instead of the words in the format r , g , b. we recommend that fasta titles which do not use the above notation should take the format > mygenename and avoid using non - alphanumeric characters . because the results are active web pages containing server - side scripting , they are stored on our server for a maximum of 72 h for  anonymous searches ( users get a session i d which they can use to access their data during this time ) . users who would like to keep results for longer periods are encouraged to register ( free ) with a username and a password . searches stored in this way are kept until the user deletes them or 3 months have passed without access . the primary objective of the display is to make each factor type visually distinct while retaining visual similarities between factors with similar names . it is clear that the same factor must always have the same appearance every time the program is run . the factors are represented by a filled box surrounded by a colored boarder ( figure 2 ) . this two - color approach makes the process of discrimination much easier than with a single color . the fill colors are assigned automatically by taking the name of the transcription factor ( e.g. stat5 ) and converting the first three letters of the name into their corresponding ascii values to give the red , green and blue color channels . if the name has fewer than three characters , then the missing characters are replaced by the ascii code 00 . the border color is generated in the same way but now the dominance is reversed so that the color is defined by the ascii values of the final three characters of the name in the order blue , green and red . thus , the border colors enable us to visually distinguish factors with very similar names . the results are displayed in a web page that is composed of three frames : analysis , legend and output . two viewing modes exist : the first mode ( pattern view ) displays only the patterns discovered by the pattern - finding algorithm . clicking on a factor or its corresponding entry in the legend will display all of the patterns containing that factor . additionally , clicking on the box at the 5 end of each promoter will display all of the patterns found in the selected sequence in any other promoter . the second mode ( factor view ) displays the individual transcription factors ( optionally even those that are not members of patterns ) . clicking on a factor will display the location of that factor in all of the promoters . in addition , it will provide the target binding site sequences and positions of these factors in the output window . thanks to the svg plug - in , it is possible to zoom and pan the analysis window , facilitating the display of large numbers of sequences . all of the results are stored in a password - protected user folder on our server . in the event that a pattern query takes a very long time to complete , it will continue to run on our server even if the web browser is closed and users may log back in at a later date to view their results . we have purchased the sequences of 156  000 mammalian promoters from genomatix . when patterns are predicted by the program , their frequency of occurrence in the test sequence if we define a null hypothesis that there is no difference between the two frequencies , then we can test this using a chi - square test with one degree of freedom ( 15 ) . each pattern has a vertical pin associated with it which is clickable . moving the mouse over the pin brings that pattern to the foreground and makes the others translucent . clicking on a pin hides all patterns except for selected one and displays the affymetrix ids for any of the mammalian promoters from the database which also contain this pattern . those patterns that fail the test have red pins , patterns that pass with a p - value < 0.05 have green pins and those that pass with a p - value < 0.01 have blue . to partially compensate for small numbers of test promoters , we perform a yates ' correction for discontinuity to reduce the risk of type i errors . clicking on a gene shows the affymetrix ids for all database genes with multiple conserved patterns . here , we present a new bioinformatic tool ( promoterplot ) for automating the extraction of promoter patterns from microarray - based expression data . binding sites are predicted using biobase 's  match program from the transfac suite ( 16 ) . the pattern prediction process may be filtered to exclude factors that are not believed to be active in the experiment . the patterns identified are displayed in a simple interactive web - based graphical interface and stored on the server for future use in a password - protected user directory . we feel that this may be a useful application for visualizing promoter comparisons and to assist in the identification of regions of potential interest before engaging in time - consuming biochemical characterization . pattern finding with promoterplot . 1 : transcription factor binding sites are predicted using the balance fp / fn option in transfac . 2 : any factor for which there is evidence that it is not actually expressed or active in the tissue under investigation may be selectively removed from the analysis . 3 : patterns of three factors with conserved internal spacings and consistent binding strands which are found in two or more promoters are retained all others are discarded . 4 : the frequency of the predicted patterns is compared with a database of mammalian promoters to estimate the probability of finding the observed results by chance . 5 : the results are displayed as an interactive web page with matching genes from the database returned as affymetrix ids . the start(s ) of transcription are represented by circles colored gold , silver or bronze . each factor is colored according to its name with the fill color based on the name stem and the border color based on the name ending . the factors and promoters are clickable and clicking provides information about pattern groups , binding sites and other genes which share the same patterns .
promoterplot ( ) is a web - based tool for simplifying the display and processing of transcription factor searches using either the commercial or free transfac distributions . 
 the input sequence is a transfac search ( public version ) or fasta / affymetrix ids ( local install ) . 
 it uses an intuitive pattern recognition algorithm for finding similarities between groups of promoters by dividing transcription factor predictions into conserved triplet models . to minimize the number of false - positive models 
 , it can optionally exclude factors that are known to be unexpressed or inactive in the cells being studied based on microarray or proteomic expression data . 
 the program will also estimate the likelihood of finding a pattern by chance based on the frequency observed in a control set of mammalian promoters we obtained from genomatix . 
 the results are stored as an interactive svg web page on our server .