BACKGROUND
we describe a versatile tool for visualizing and exploring large genomic data sets, particularly those generated by chromatin immunoprecipitation .
this technique is often used to identify regions of a genome that are bound by a specific transcription factor under a given set of conditions.
for those transcription factors that recognize dna directly, it is often possible, from chip data alone, to deduce the range of dna sequences  that a given transcription factor recognizes.
chip relies on cross-linking transcription factors to dna in living cells, shearing and isolating the dna, and recovering the dna cross-linked to a specific transcription factor.
the recovered dna is then analyzed using either tiling microarrays  or sequencing .
both approaches generate a nearly continuous profile of binding enrichment across the genome, with high-density tiling for chip-chip currently being feasible only for smaller genomes, such as those from bacteria or fungi.
several existing genome browsers aid in the visualization and analysis of such data, but few contain tools to easily integrate motif data into the analysis.
mochiview  is designed to bridge this gap, providing a highly flexible and intuitive interface that allows one to easily import, visualize, explore, and analyze large sets of data, such as those generated from chip experiments.
implementation
mochiview is written in java, and can be used with any operating system that supports java version  <dig>  or higher.
to facilitate smooth genome browsing  and the import of large files, mochiview requires hardware with a minimum of  <dig> gb memory.
many genome browsers introduce an extra layer of complexity by requiring the user to install an external database or to store data on a remotely hosted server.
mochiview circumvents this problem by transparently incorporating the java db database within the software .
the database architecture is designed to scale well even with very large quantities of data; database size is primarily constrained by available hard drive space.
in practice, database sizes can range from a few megabytes to many gigabytes in size, depending on genome size and the quantity of data.
mochiview can maintain multiple databases, and contains a database import/export utility to facilitate sharing of compressed databases  between users.
any database can be populated by the user with one or more genomes by importing the genome sequence as one or more fasta-format files.
additional genome coordinate-based data can then be uploaded in the commonly used gff, bed, or wig formats or using mochiview's own custom file formats.
tips for setting up a database are provided on the mochiview website.
RESULTS
mochiview serves as both a motif analysis platform and a feature-rich genome browser, and integrates these features to allow the visualization of motifs across a genome plot and the refinement of motif analyses using data imported by the user into the mochiview database .
while many of the tools provided in mochiview were designed with chip-seq and chip-chip data visualization in mind, the open and flexible data format allows the import and visualization of any data that have a genomic context .
mochiview is user-friendly, and is accessible to scientists with no programming knowledge.
mochiview's many features are extensively documented with a tutorial walkthrough, a detailed manual, and extensive popup text support within the software.
while many of mochiview's individual features are available in existing software, no existing software package, to our knowledge, integrates such a large assortment of motif and data analysis utilities together with a highly configurable genome browser in a single desktop application.
the most similar existing package, cisgenome  <cit> , provides a greater emphasis on processing of raw chip-chip and chip-seq data and peak-finding, but is limited with respect to the scope and ease of use of the motif and data visualization and analysis options.
visualizing data across the genome
mochiview uses an integrated local database to manage all of the data imported by the user, such as genome sequences and alignments, gene locations, microarray probe locations, expression data, chip data, and motif libraries.
as shown in figure  <dig>  mochiview allows many types of data to be displayed along the genome  in easily customized plots.
open plot tabs persist when the software is closed and reopened, and the display settings can be saved for later use.
while the core design of mochiview's plots was inspired by the ucsc genome browser project  <cit> , mochiview places an added emphasis on aesthetics, data browsing, and plot interactivity, and provides a rich interface for configuring plot layout.
landmarks across a genome  are displayed by region markers .
overlapping markers can be displayed as stack tracks with one region marker positioned above the other.
numerical data, such as chip-chip enrichment levels, can be displayed in mochiview using line or bar plots.
these data sets can be plotted on a common y-axis  or each set can be plotted on its own y-axis .
alternatively, numerical data can be displayed as text on a region marker , and the marker can be colored according to the value .
sequences matching dna motifs are identified using a user-defined scoring threshold and are displayed in additional tracks .
multiple genome alignments, either genomes from closely related species or from individuals of the same species, can also be displayed , providing the means to quickly visualize whether a motif match is conserved across closely related genomes , or whether it varies in interesting ways.
tools for browsing and interacting with data in a plot
mochiview provides tools for browsing the genome by sequence or by data set.
the sequence browser can be used to search and highlight specific dna sequences, degenerate dna sequences , and direct or inverted repeats, with or without gaps.
the data browser  allows the user to sort and search any data set and rapidly jump from location to location across the genome using hotkeys.
for example, this feature allows the user to quickly browse among regions of chip enrichment above a user-specified threshold value to rapidly visualize the most significant binding regions.
these can then be searched for matches to a particular dna motif.
mochiview plots are interactive and allow smooth panning along chromosomes and smooth zooming in and out.
as one continues to zoom in, the dna sequence itself eventually becomes visible.
virtually every element in a plot provides descriptive popup text, and annotation can be added to locations within tracks.
in addition, clicking on any item in a plot copies the sequence to the clipboard, a useful tool for quickly capturing sequences for use in another application.
to aid the user in filtering large sets of data, an edit mode track can be created and used to toggle a region marker between three states .
for example, this feature is useful for flagging and ignoring likely false positives in a set of chip binding data.
mochiview's motif and multiple genome alignment tracks  are also interactive.
motif tracks show either the match scores of motif instances  or the motif logo itself .
double-clicking the motif instance opens a window juxtaposing the motif logo with the actual genome sequence.
multiple genome alignments are displayed as either an overview shaded by conservation level  or as the specific aligned sequences, including inserts and gaps .
clicking on the alignments, or on the carets representing inserts in the alignment, copies the regional alignment to the clipboard.
chip analysis highlights many of mochiview's utilities
mochiview can serve as a central hub for data storage and visualization, from which data can easily be imported and exported for manipulation with other applications.
in addition, mochiview contains a number of specific tools designed to analyze genomic and motif data.
while a description of all of the utilities provided in mochiview is beyond the scope of this article, we discuss a few of them in the context of analyzing chip data for proteins that recognize specific dna sequences.
we focus on two stages of analysis:  visualization of the primary chip data and assessment/refinement of the binding region calls, and  identification and characterization of regulatory motifs found within the refined binding regions.
we define a binding region as a set of genomic coordinates that identify the boundaries of a region of chip dna enrichment, typically associated with some measure of confidence, such as a p-value.
obviously, proper control experiments are crucial to evaluate the biological relevance of a binding region, a topic discussed in more detail below.
visualizing and refining chip data in mochiview
the first step of chip data analysis in mochiview is typically the import of raw data  as well as the binding region calls .
mochiview does not supply a comprehensive binding region assignment algorithm , as approaches to calling binding regions are constantly being refined; moreover, the approaches for calling peaks vary with the platform used to analyze the precipitated dna.
for example, agilent supplies peak-calling software optimized for its array design.
it is, however, straightforward to import peak-calling results from existing software using mochiview's import utilities, which support several different file formats.
for small genomes, it is also possible to hand-curate chip data in mochiview, bypassing the peak-calling programs entirely.
once the relevant raw data  and binding region calls are imported, mochiview can be used to visualize them in the context of other genomic information.
for example, chip data can be viewed in a plot in conjunction with control chip experiments, gene expression data, sequence gc-enrichment, histone modifications, and motifs.
the snapshot utility allows the user to create individual images  of the plot centered at every binding region in the data set.
this feature is particularly useful for records in laboratory notebooks or figures for manuscripts.
for those data sets with a manageable number of binding regions, it is possible to visually inspect each binding region and eliminate clear false positives  that result from the limitations of binding site detection algorithms.
since mochiview can display multiple data sets on the same y-axis, the user can easily overlay multiple replicates of experimental chip data as well as control data sets .
these data can then be quickly surveyed using the data browser and an edit mode track, and binding regions considered spurious  or unreliable  can be flagged and then filtered using one of mochiview's data refinement utilities.
mochiview provides numerous additional utilities for the analysis and manipulation of sets of locations.
set operation utilities can take the union, intersection, or subtraction of two location sets, thus providing a simple mechanism for manipulating positional data.
for example, the user can merge the binding region calls of experimental replicates, take the intersection of binding regions with promoter regions, take the intersection of sets of chip experiments performed with different transcription factors, or easily eliminate binding region calls that overlap with regions found in a control experiment.
another utility assigns binding regions to one or more genes , and another surveys whether these genes are enriched for gene ontology  terms .
thus, within minutes of importing chip data into mochiview, a user can obtain an overview of the cellular processes and genes predicted to be regulated by the transcription factor of interest.
an important goal of many chip-chip and chip-seq experiments is the identification of the dna motif recognized by the transcription factor of interest, and, as described next, mochiview provides numerous tools for the discovery, validation, and comparison of motifs.
identifying and analyzing motifs in mochiview
we use the term motif to mean a set of short dna sequences represented by a position-specific weight matrix, and define a motif match as a particular dna sequence in a genome that is statistically similar to a motif.
several options are provided for scoring a dna sequence for matches to a motif, including logarithm of odds  scores , affinity scores , and p-values derived from lod scores .
in addition to finding particular matches to a motif within a sequence, mochiview can also generate a cumulative motif enrichment score for a full sequence using either a simple cumulative lod score or a hidden markov model approach .
figure  <dig> provides an overview of the many utilities provided in mochiview for the visualization, management, and analysis of motifs.
motifs in mochiview are visualized as logos, using a format based on the sequence logo design originally described by schneider and stephens  <cit> .
the mochiview database provides a convenient means to maintain and annotate a library of motifs , and these motifs can easily be exported as frequency matrices or logos .
several motif libraries, derived from a broad range of organisms including yeast  <cit> , nematode  <cit> , human  <cit> , and mouse  <cit> , are provided at the mochiview website in a format this is simple to import into mochiview.
this collection includes one of the largest curated motif libraries, over  <dig>  motifs, provided courtesy of the jaspar database  <cit> .
additional motifs devised by the user are also easy to import into mochiview.
mochiview provides a motif detection utility  that can identify motifs de novo using a gibbs sampling technique .
the user can limit a search to specific locations  or search the upstream regions of a list of specific genes.
it is also possible to specify that a motif occurrence must be conserved across closely related genomes.
the features of mochiview also allow the user to rapidly conduct motif searches based on more complex queries.
for example, the user could chain together utilities to search for motifs in the portions of binding regions that  overlap with intergenic regions,  are within  <dig> bp of a peak of chip enrichment,  do not overlap with areas of enrichment in the control experiment, and  neighbor a gene that changes expression when the transcription factor of interest is deleted  or overexpressed.
as an alternative to the built-in motif detection utility, the user can also export a set of sequences of interest , apply a different motif-finding algorithm, and import the results back into mochiview.
mochiview supports multiple motif file formats, including the output of the commonly used motif detection applications meme  <cit>  and bioprospector  <cit> .
often, the first step in the analysis of a newly discovered motif is a determination of whether the motif resembles any known motifs.
motif libraries, such as those provided at the mochiview website, can be compared against newly discovered motifs using the motif comparison utility , which generates a similarity metric based on the algorithm used by the software tomtom  <cit> .
this utility allows rapid determination of whether a discovered motif is novel, previously identified, or closely related to a motif of a different species.
another common query in motif analysis is the extent to which a motif is enriched in the dna precipitated in a given chip experiment .
in other words, how well can the motif predict the chip data?
the motif enrichment utilities  allow rapid assessment of motif enrichment at incremental score cutoffs for sets of locations such as binding regions or intergenic regions.
to assess their significance, the levels of enrichment can be compared to those of a set of control locations .
this analysis can also be conducted on every motif in the library, allowing the user to identify all known motifs that are enriched in the locations of interest.
motif analysis often identifies several candidate dna motifs that may be recognized by the transcription factor of interest.
in the simplest cases, where the transcription factor directly recognizes a motif, the motif is predicted to lie under the center of the peak of chip enrichment.
in other cases, a motif may be significantly enriched in a set of binding regions, not because it is recognized by the transcription factor of interest, but rather because it is bound by a different protein that regulates a similar set of genes.
these alternatives can be tested using mochiview's motif distribution utilities , which test for non-random positional distribution using a statistical test for non-uniform distribution described by casimiro et al.
<cit> .
these utilities can also identify non-random spacing between genomic matches to dna motifs .
once a compelling motif has been identified from a set of chip data, the motif can be explored using the mochiview motif scoring utilities  and the plot browser to identify instances of a motif that occur in intergenic regions but not within the binding regions called by the chip-analysis algorithm.
such analysis can reveal whether the motif is necessary and sufficient to describe the binding of the transcription factor of interest.
for example, such analysis may identify a set of genes that is likely to be controlled by the transcription factor but is not bound by the protein under the conditions or in the cell types used for the chip analysis.
we described above how mochiview's go term enrichment utility could connect chip data to specific cellular processes.
this same strategy can be used to search the upstream regions of genes for strong matches to a motif and associate that motif with one or more go terms .
this approach can provide insight into the biological role of the transcription factor and further validate the motif's biological relevance.
CONCLUSIONS
in summary, mochiview was developed to solve problems we encountered in our basic research efforts, allowing us to integrate different types of genomic data and analyses in a single format where biological correlations and insights popped out from the screen.
we believe the software will be useful to members of many other basic research laboratories who have encountered similar challenges when interpreting and analyzing data on a genomic scale.
availability and requirements
project name: mochiview.
project home page: http://johnsonlab.ucsf.edu.
operating system: platform independent.
programming language: java.
other requirements: java  <dig>  or higher, minimum 1gb memory,  <dig> ×  <dig> or higher screen resolution.
license: mochiview is available in source and executable forms, without fee, for academic, non-profit and commercial users.
any restrictions to use by non-academics: none beyond the general restriction against redistribution in the license.
abbreviations
bed: browser extensible data; chip: chromatin immunoprecipitation; chip-seq: chip analyzed using dna sequencing; chip-chip: chip analyzed using tiling microarrays; gff: general feature format; go: gene ontology; wig: wiggle format.
authors' contributions
orh designed and wrote the software, with support from adj.
both authors contributed to the writing of the manuscript.
all authors read and approved the final manuscript.

 we describe a versatile tool for visualizing and exploring large genomic data sets, particularly those generated by chromatin immunoprecipitation. this technique is often used to identify regions of a genome that are bound by a specific transcription factor under a given set of conditions. for those transcription factors that recognize dna directly, it is often possible, from chip data alone, to deduce the range of dna sequences that a given transcription factor recognizes. chip relies on cross-linking transcription factors to dna in living cells, shearing and isolating the dna, and recovering the dna cross-linked to a specific transcription factor. the recovered dna is then analyzed using either tiling microarrays or sequencing. both approaches generate a nearly continuous profile of binding enrichment across the genome, with high-density tiling for chip-chip currently being feasible only for smaller genomes, such as those from bacteria or fungi. several existing genome browsers aid in the visualization and analysis of such data, but few contain tools to easily integrate motif data into the analysis. mochiview is designed to bridge this gap, providing a highly flexible and intuitive interface that allows one to easily import, visualize, explore, and analyze large sets of data, such as those generated from chip experiments. implementation mochiview is written in java, and can be used with any operating system that supports java version or higher. to facilitate smooth genome browsing and the import of large files, mochiview requires hardware with a minimum of gb memory. many genome browsers introduce an extra layer of complexity by requiring the user to install an external database or to store data on a remotely hosted server. mochiview circumvents this problem by transparently incorporating the java db database within the software. the database architecture is designed to scale well even with very large quantities of data; database size is primarily constrained by available hard drive space. in practice, database sizes can range from a few megabytes to many gigabytes in size, depending on genome size and the quantity of data. mochiview can maintain multiple databases, and contains a database import/export utility to facilitate sharing of compressed databases between users. any database can be populated by the user with one or more genomes by importing the genome sequence as one or more fasta-format files. additional genome coordinate-based data can then be uploaded in the commonly used gff, bed, or wig formats or using mochiview's own custom file formats. tips for setting up a database are provided on the mochiview website.  mochiview serves as both a motif analysis platform and a feature-rich genome browser, and integrates these features to allow the visualization of motifs across a genome plot and the refinement of motif analyses using data imported by the user into the mochiview database. while many of the tools provided in mochiview were designed with chip-seq and chip-chip data visualization in mind, the open and flexible data format allows the import and visualization of any data that have a genomic context. mochiview is user-friendly, and is accessible to scientists with no programming knowledge. mochiview's many features are extensively documented with a tutorial walkthrough, a detailed manual, and extensive popup text support within the software. while many of mochiview's individual features are available in existing software, no existing software package, to our knowledge, integrates such a large assortment of motif and data analysis utilities together with a highly configurable genome browser in a single desktop application. the most similar existing package, cisgenome, provides a greater emphasis on processing of raw chip-chip and chip-seq data and peak-finding, but is limited with respect to the scope and ease of use of the motif and data visualization and analysis options. visualizing data across the genome mochiview uses an integrated local database to manage all of the data imported by the user, such as genome sequences and alignments, gene locations, microarray probe locations, expression data, chip data, and motif libraries. as shown in figure mochiview allows many types of data to be displayed along the genome in easily customized plots. open plot tabs persist when the software is closed and reopened, and the display settings can be saved for later use. while the core design of mochiview's plots was inspired by the ucsc genome browser project, mochiview places an added emphasis on aesthetics, data browsing, and plot interactivity, and provides a rich interface for configuring plot layout. landmarks across a genome are displayed by region markers. overlapping markers can be displayed as stack tracks with one region marker positioned above the other. numerical data, such as chip-chip enrichment levels, can be displayed in mochiview using line or bar plots. these data sets can be plotted on a common y-axis or each set can be plotted on its own y-axis. alternatively, numerical data can be displayed as text on a region marker, and the marker can be colored according to the value. sequences matching dna motifs are identified using a user-defined scoring threshold and are displayed in additional tracks. multiple genome alignments, either genomes from closely related species or from individuals of the same species, can also be displayed, providing the means to quickly visualize whether a motif match is conserved across closely related genomes, or whether it varies in interesting ways. tools for browsing and interacting with data in a plot mochiview provides tools for browsing the genome by sequence or by data set. the sequence browser can be used to search and highlight specific dna sequences, degenerate dna sequences, and direct or inverted repeats, with or without gaps. the data browser allows the user to sort and search any data set and rapidly jump from location to location across the genome using hotkeys. for example, this feature allows the user to quickly browse among regions of chip enrichment above a user-specified threshold value to rapidly visualize the most significant binding regions. these can then be searched for matches to a particular dna motif. mochiview plots are interactive and allow smooth panning along chromosomes and smooth zooming in and out. as one continues to zoom in, the dna sequence itself eventually becomes visible. virtually every element in a plot provides descriptive popup text, and annotation can be added to locations within tracks. in addition, clicking on any item in a plot copies the sequence to the clipboard, a useful tool for quickly capturing sequences for use in another application. to aid the user in filtering large sets of data, an edit mode track can be created and used to toggle a region marker between three states. for example, this feature is useful for flagging and ignoring likely false positives in a set of chip binding data. mochiview's motif and multiple genome alignment tracks are also interactive. motif tracks show either the match scores of motif instances or the motif logo itself. double-clicking the motif instance opens a window juxtaposing the motif logo with the actual genome sequence. multiple genome alignments are displayed as either an overview shaded by conservation level or as the specific aligned sequences, including inserts and gaps. clicking on the alignments, or on the carets representing inserts in the alignment, copies the regional alignment to the clipboard. chip analysis highlights many of mochiview's utilities mochiview can serve as a central hub for data storage and visualization, from which data can easily be imported and exported for manipulation with other applications. in addition, mochiview contains a number of specific tools designed to analyze genomic and motif data. while a description of all of the utilities provided in mochiview is beyond the scope of this article, we discuss a few of them in the context of analyzing chip data for proteins that recognize specific dna sequences. we focus on two stages of analysis: visualization of the primary chip data and assessment/refinement of the binding region calls, and identification and characterization of regulatory motifs found within the refined binding regions. we define a binding region as a set of genomic coordinates that identify the boundaries of a region of chip dna enrichment, typically associated with some measure of confidence, such as a p-value. obviously, proper control experiments are crucial to evaluate the biological relevance of a binding region, a topic discussed in more detail below. visualizing and refining chip data in mochiview the first step of chip data analysis in mochiview is typically the import of raw data as well as the binding region calls. mochiview does not supply a comprehensive binding region assignment algorithm, as approaches to calling binding regions are constantly being refined; moreover, the approaches for calling peaks vary with the platform used to analyze the precipitated dna. for example, agilent supplies peak-calling software optimized for its array design. it is, however, straightforward to import peak-calling results from existing software using mochiview's import utilities, which support several different file formats. for small genomes, it is also possible to hand-curate chip data in mochiview, bypassing the peak-calling programs entirely. once the relevant raw data and binding region calls are imported, mochiview can be used to visualize them in the context of other genomic information. for example, chip data can be viewed in a plot in conjunction with control chip experiments, gene expression data, sequence gc-enrichment, histone modifications, and motifs. the snapshot utility allows the user to create individual images of the plot centered at every binding region in the data set. this feature is particularly useful for records in laboratory notebooks or figures for manuscripts. for those data sets with a manageable number of binding regions, it is possible to visually inspect each binding region and eliminate clear false positives that result from the limitations of binding site detection algorithms. since mochiview can display multiple data sets on the same y-axis, the user can easily overlay multiple replicates of experimental chip data as well as control data sets. these data can then be quickly surveyed using the data browser and an edit mode track, and binding regions considered spurious or unreliable can be flagged and then filtered using one of mochiview's data refinement utilities. mochiview provides numerous additional utilities for the analysis and manipulation of sets of locations. set operation utilities can take the union, intersection, or subtraction of two location sets, thus providing a simple mechanism for manipulating positional data. for example, the user can merge the binding region calls of experimental replicates, take the intersection of binding regions with promoter regions, take the intersection of sets of chip experiments performed with different transcription factors, or easily eliminate binding region calls that overlap with regions found in a control experiment. another utility assigns binding regions to one or more genes, and another surveys whether these genes are enriched for gene ontology terms. thus, within minutes of importing chip data into mochiview, a user can obtain an overview of the cellular processes and genes predicted to be regulated by the transcription factor of interest. an important goal of many chip-chip and chip-seq experiments is the identification of the dna motif recognized by the transcription factor of interest, and, as described next, mochiview provides numerous tools for the discovery, validation, and comparison of motifs. identifying and analyzing motifs in mochiview we use the term motif to mean a set of short dna sequences represented by a position-specific weight matrix, and define a motif match as a particular dna sequence in a genome that is statistically similar to a motif. several options are provided for scoring a dna sequence for matches to a motif, including logarithm of odds scores, affinity scores, and p-values derived from lod scores. in addition to finding particular matches to a motif within a sequence, mochiview can also generate a cumulative motif enrichment score for a full sequence using either a simple cumulative lod score or a hidden markov model approach. figure provides an overview of the many utilities provided in mochiview for the visualization, management, and analysis of motifs. motifs in mochiview are visualized as logos, using a format based on the sequence logo design originally described by schneider and stephens. the mochiview database provides a convenient means to maintain and annotate a library of motifs, and these motifs can easily be exported as frequency matrices or logos. several motif libraries, derived from a broad range of organisms including yeast, nematode, human, and mouse, are provided at the mochiview website in a format this is simple to import into mochiview. this collection includes one of the largest curated motif libraries, over motifs, provided courtesy of the jaspar database. additional motifs devised by the user are also easy to import into mochiview. mochiview provides a motif detection utility that can identify motifs de novo using a gibbs sampling technique. the user can limit a search to specific locations or search the upstream regions of a list of specific genes. it is also possible to specify that a motif occurrence must be conserved across closely related genomes. the features of mochiview also allow the user to rapidly conduct motif searches based on more complex queries. for example, the user could chain together utilities to search for motifs in the portions of binding regions that overlap with intergenic regions, are within bp of a peak of chip enrichment, do not overlap with areas of enrichment in the control experiment, and neighbor a gene that changes expression when the transcription factor of interest is deleted or overexpressed. as an alternative to the built-in motif detection utility, the user can also export a set of sequences of interest, apply a different motif-finding algorithm, and import the results back into mochiview. mochiview supports multiple motif file formats, including the output of the commonly used motif detection applications meme and bioprospector. often, the first step in the analysis of a newly discovered motif is a determination of whether the motif resembles any known motifs. motif libraries, such as those provided at the mochiview website, can be compared against newly discovered motifs using the motif comparison utility, which generates a similarity metric based on the algorithm used by the software tomtom. this utility allows rapid determination of whether a discovered motif is novel, previously identified, or closely related to a motif of a different species. another common query in motif analysis is the extent to which a motif is enriched in the dna precipitated in a given chip experiment. in other words, how well can the motif predict the chip data? the motif enrichment utilities allow rapid assessment of motif enrichment at incremental score cutoffs for sets of locations such as binding regions or intergenic regions. to assess their significance, the levels of enrichment can be compared to those of a set of control locations. this analysis can also be conducted on every motif in the library, allowing the user to identify all known motifs that are enriched in the locations of interest. motif analysis often identifies several candidate dna motifs that may be recognized by the transcription factor of interest. in the simplest cases, where the transcription factor directly recognizes a motif, the motif is predicted to lie under the center of the peak of chip enrichment. in other cases, a motif may be significantly enriched in a set of binding regions, not because it is recognized by the transcription factor of interest, but rather because it is bound by a different protein that regulates a similar set of genes. these alternatives can be tested using mochiview's motif distribution utilities, which test for non-random positional distribution using a statistical test for non-uniform distribution described by casimiro et al.. these utilities can also identify non-random spacing between genomic matches to dna motifs. once a compelling motif has been identified from a set of chip data, the motif can be explored using the mochiview motif scoring utilities and the plot browser to identify instances of a motif that occur in intergenic regions but not within the binding regions called by the chip-analysis algorithm. such analysis can reveal whether the motif is necessary and sufficient to describe the binding of the transcription factor of interest. for example, such analysis may identify a set of genes that is likely to be controlled by the transcription factor but is not bound by the protein under the conditions or in the cell types used for the chip analysis. we described above how mochiview's go term enrichment utility could connect chip data to specific cellular processes. this same strategy can be used to search the upstream regions of genes for strong matches to a motif and associate that motif with one or more go terms. this approach can provide insight into the biological role of the transcription factor and further validate the motif's biological relevance.  in summary, mochiview was developed to solve problems we encountered in our basic research efforts, allowing us to integrate different types of genomic data and analyses in a single format where biological correlations and insights popped out from the screen. we believe the software will be useful to members of many other basic research laboratories who have encountered similar challenges when interpreting and analyzing data on a genomic scale. availability and requirements project name: mochiview. project home page: http://johnsonlab.ucsf.edu. operating system: platform independent. programming language: java. other requirements: java or higher, minimum 1gb memory, × or higher screen resolution. license: mochiview is available in source and executable forms, without fee, for academic, non-profit and commercial users. any restrictions to use by non-academics: none beyond the general restriction against redistribution in the license. abbreviations bed: browser extensible data; chip: chromatin immunoprecipitation; chip-seq: chip analyzed using dna sequencing; chip-chip: chip analyzed using tiling microarrays; gff: general feature format; go: gene ontology; wig: wiggle format. authors' contributions orh designed and wrote the software, with support from adj. both authors contributed to the writing of the manuscript. all authors read and approved the final manuscript. 
while highly versatile, the software is particularly useful for organizing, exploring, and analyzing large genomic data sets, such as those from deep rna sequencing, chromatin immunoprecipitation experiments, and transcriptional profiling.
 as high-throughput technologies rapidly generate genome-scale data, it becomes increasingly important to visually integrate these data so that specific hypotheses can be formulated and tested.  we present mochiview, a platform-independent java software that integrates browsing of genomic sequences, features, and data with dna motif visualization and analysis in a visually-appealing and user-friendly application.  while highly versatile, the software is particularly useful for organizing, exploring, and analyzing large genomic data sets, such as those from deep rna sequencing, chromatin immunoprecipitation experiments, and transcriptional profiling. mochiview provides an extensive suite of utilities to identify and to explore connections between these data sets and short sequence motifs present in dna or rna. 