approximately 50% of human genes are predicted to be alternately spliced ( 1,2 ) , and up to 90% of the entire genome to be transcribed ( 3,4 ) . recent work has shown that many non - coding genes are of direct functional significance , that there is strong conservation in regions once characterized as simply  junk dna , and that there are many putative novel exons and transcripts in relatively well - characterized protein coding regions ( 4,5 ) . many loci also contain multiple interwoven and overlapping genes , possibly translated in different reading frames , adding additional layers of complexity ( 5 ) . in particular , it is desirable both to use multiple reporters for individual genes in order to pursue splicing events and to increase coverage to explore the less well - characterized regions of the genome . as knowledge of the complexities of gene expression increases , so does the demand for increasingly feature - dense arrays . advances in microarray technology are beginning to address these issues by offering significantly increased feature densities and a concomitant rise in the number of available reporters . the affymetrix human exon 1.0st array , for example uses 6.5 million probes , comprising 1.4 million probesets , to target 1.2 million individual exons , and similar arrays exist for mouse and rat . the aim is to target every known and predicted exon in the genome ( 68 ) . these arrays offer a number of opportunities , but place significant challenges on the bioinformatics tools necessary to exploit them . in particular , sufficient annotation must be provided , for example to identify which exons , transcripts and genes are targeted by each probeset , and the levels of evidence used to define each of these features within the genome ( 7 ) . it offers detailed annotation of the intron  exon structure of each gene , their mappings to known transcripts , and their location relative to affymetrix exon array target sequences . data can be explored using a fully interactive real - time scrollable browser , built using the google maps api ( figure 1 ) . other groups have also considered ajax - based approaches to this problem , most notably gbrowse - ajax ( available on sourceforge.net ) . however , these are currently at the proof of concept / prototype stage . ( a ) scrollable genome map . ( b ) toolbar . ( c ) hierarchical annotation of map features . ( d ) context - dependent annotation . an associated bioconductor ( 9 ) package ,  exonmap ( 7 ) , provides an interface between the database and r , a popular programming language for data analysis . x : map is unique because although some of these data are provided by , for example , affymetrix through their netaffx ( 10 ) database , comprehensive mappings to the genome , filtering for match specificity and provision of the data in a form that supports both high - throughput and gene - centric analysis , are not available in an integrated form elsewhere . x : map is built by searching , in silico , every 25-mer probe sequence represented on the microarray against the entire genome [ downloaded from ensembl ( 11 ) ] and recording the location of each exact match in a relational database . the search strategy is discussed in ref . genome searches are performed because many of the probesets on the array target less well - characterized regions [ e.g. genscan ( 13 ) predictions ] , and because the large amount of intergenic transcription observed means that it is necessary to consider each probe 's potential to hybridize outside annotated genes . an additional search is also performed against a database of known transcript sequences ( ensembl cdna data ) to identify probes that cross exon boundaries ; these would not be found at the genome level . this is all done via a series of groovy ( groovy.codehause.org ) scripts initiated from a master java process . groovy was used because it allowed a much faster turnaround during prototyping and testing , while maintaining reasonable performance ( groovy scripts are compiled to java before they are executed ) . these data are used to populate a set of new tables in a local copy of ensembl ( 11 ) , indexed for speed of querying . an additional set of stored procedures are imported to provide a well - defined api for both the website and the bioconductor package . the ensembl database does not support foreign keys , but these new tables link to the existing ones using the same unique identifiers as those used by ensembl . the overall architecture of x : map is shown in figure 2a . in total , this phase of the build process takes 3 h for ensembl v45 ( human , mouse and rat combined ) on a twin - xeon 64 bit machine with 16 gb ram running red hat enterprise linux . 
 figure 2.the x : map build process . the entire human genome is searched against the array 's 25-mer probe sequences by the java matching engine . results are stored in a relational database as a set of additional tables accompanying a local installation of ensembl . the database is used both by an r client that supports analysis using bioconductor and a webserver that supports a web 2.0/ajax genome browser . the browser serves a set of pre - computed images generated offline by a coarse - grained parallel task ( b ) . tile generation jobs are placed in a javaspace by a master process ( main java process ) . these are consumed by a series of worker processes distributed across a variety of linux machines . the entire human genome is searched against the array 's 25-mer probe sequences by the java matching engine . results are stored in a relational database as a set of additional tables accompanying a local installation of ensembl . the database is used both by an r client that supports analysis using bioconductor and a webserver that supports a web 2.0/ajax genome browser . the browser serves a set of pre - computed images generated offline by a coarse - grained parallel task ( b ) . tile generation jobs are placed in a javaspace by a master process ( main java process ) . these are consumed by a series of worker processes distributed across a variety of linux machines . the x : map genome browser makes use of pre - drawn tiled images in order to improve run - time speed . these are generated in a second phase , managed as a coarse - grained parallel task distributed across a number of linux servers and workstations ( figure 2b ) using a producer / consumer model . in this way , spare cycles available within existing hardware are exploited . during this phase of the build , images are generated using a disparate set of 11 linux servers and workstations in 3 days . tiles are then processed to generate three alternate levels of magnification ( 5 days ) . in the end , for all three species , layers and zoom levels , this process generates 52 gb of image data , comprising 10.27 million individual image tiles . the original exon array annotation supplied by affymetrix grouped probesets into three sets based on the reliability of the annotation used to define the putative genomic regions of interest . x : map groups probesets based on ensembl annotations , and currently provides data for ensembl genes , ensembl ests ( predictions based on est data ) and genscan predictions ( 11 ) . in this way , a direct mapping is formed between the probesets and the data sources used to provide the annotations found at the location the probeset matches the genome . the arrays use a set of short 25-mer probes to target each feature of interest , together referred to as a  probeset. the majority of exon array probesets contain four probes . each vertical line in the background of figure 1a represents a probe . it is coloured green if that sequence can match the genome in only one location , grey if it matches at more than one site . x : map considers a probeset to be  multi - targeting if one or more of its probes matches at multiple genomic locations . x : map also categorizes probesets according to whether they hit within an exon (  exonic ) , within a gene but outside an exon (  intronic ) or between genes (  intergenic ) . the relative proportions of probesets in each of these categories are summarized for human mouse and rat arrays in table 1 . it can be seen , therefore , that a substantial number of probesets on the array target outside known ensembl genes , or within genes , but outside known exons , and that many of these match instead to est or genscan predictions . even though relatively few probesets ( < 10% ) contain one or more probes capable of hybridizing to multiple sites , their identification is important because many are highly promiscuous and each may match multiple regions of interest ( 7 ) . table 1.relative proportions of probesets in different categories for human , mouse and exon arrayshumanmouseratensembl version45_36 g45_36 f45_34ototal probeset hits143215012358731044729multitarget1294049%871817%711637%exonic30103021%25742121%22287621%intronic probesets  all32900723%28418223%19494119%  within est exons188511%253032%5057<1%  within genscan168521%156831%158482%intergenic probesets  all65019645%59147548%53773251%  within est exons319132%376913%126531%  within genscan492363%488424%520315%data were filtered to remove multi - target probesets and then matched against ensembl genes . intronic and intergenic probesets were then searched against ensembl ests and genscan predictions to assign matches to putative exons . relative proportions of probesets in different categories for human , mouse and exon arrays data were filtered to remove multi - target probesets and then matched against ensembl genes . intronic and intergenic probesets were then searched against ensembl ests and genscan predictions to assign matches to putative exons . one of the issues of presenting genomic data is the need to represent structures such as genes that are many thousands of residues long , while being able also to represent other features , such as a probe hybridization location that are a few ( 25 bp ) residues in length . this requires a browser that can not only offer a variety of different zoom levels but can also support swift navigation up- and downstream of the current location . other important considerations are the need to maximize the amount of screen real estate available to present data , the potential for clutter if too many features are presented at the same time and a simple but capable search interface . x : map , which is designed specifically for high - density microarrays was required to show for each gene , transcript and exon the probesets that match it , their specificity and for each probe , their locations of potential hybridization , and for each individual exon , its sequence . these requirements were addressed by using a visual map with multiple levels of zoom . in order to maximize the responsiveness of the browser this is implemented by generating a set of pre - drawn images ( for the entire genome ) at various levels of magnification . these are then stored on the server as a series of small , tiled , image files , which are managed by the client using the google maps api , which handles the task of requesting the appropriate tiles from the server , of assembling them into a larger contiguous image , as well as the scrolling and zooming of the map . the result is a fully interactive map that can be scrolled dynamically , and with a user interface that , through the use of the google maps api , will be already familiar to many users . in order to maximize the amount of data that can be displayed , the genome is drawn horizontally ( most monitors are wider than they are tall ) and extends the full width of the browser window . data are presented as a set of transparent layers that can be added or removed from the image . by default , only the ensembl gene layer is shown ; est and genscan predictions can be overlaid as required . clearly , since the ensembl annotation pipeline also makes use of ests and in silico predictions , there is a significant degree of overlap between these data , and statistical analyses using exonmap ( see below ) should take this non - independence into account . the tools menu ( figure 1b ) can be hidden or shown by clicking on its tab . when a region of the map is selected , neighbouring features are listed in a selection box ; selection from which causes information pertaining to that item to be displayed as a tree ( figure 1c ) . if the menu is hidden , the tab is animated ( it briefly moves left and right a few pixels ) providing a visual cue to draw attention to the fact that its state has changed . the hierarchy ( figure 1c ) shows the nested relationships between genes , transcripts , exons , probesets , probes and their match locations . selecting an item in the hierarchy causes contextual annotation to be displayed ( figure 1d ) along with hyperlinks to external databases . thus genes and transcripts are annotated with hugo symbols , descriptions and hyperlinks to external databases such as ensembl and genecards ( 14 ) , exons with their reading frame and the appropriate fragment of genomic sequence , and probes and probesets with probe sequences and links to netaffx ( 10 ) . icons are used to identify probesets that are annotated as non - specific , exonic , intronic and intergenic , both in the hierarchy and the annotation view . detailed descriptions of the different icons and visual cues used within the browser can be found on the help pages accompanying the web site . a bioconductor package ,  exonmap , can connect to the database ( via the rdbi package ) in order to extract annotation data for use within a full statistical analysis environment . the package provides a series of functions allowing mappings to be made between probeset , exon , transcript and gene identifiers , and filterings to be performed to include / exclude exon , intron and intergenic probesets and those that are non - specific to the genome . finally , a set of visualization functions can be used to map expression data onto genomic features ( figures 3 and 4 ) . figure 3.genes selected as alternatively spliced between mcf7 and mcf10a cell lines , coloured by fold change . fold change colouring ranges from 2 ( intense blue ; up in mcf7 ) to 2 ( intense red ; up in mcf10a ) . expression data are mapped onto these and coloured according to fold change between mcf7 and mcf10a . the pattern of expression across the length of the gene clearly corresponds to the known gene structure . genes selected as alternatively spliced between mcf7 and mcf10a cell lines , coloured by fold change . fold change colouring ranges from 2 ( intense blue ; up in mcf7 ) to 2 ( intense red ; up in mcf10a ) . expression data are mapped onto these and coloured according to fold change between mcf7 and mcf10a . the pattern of expression across the length of the gene clearly corresponds to the known gene structure . ( b ) line plot for the same data . a possible workflow for data analysis using x : map and exonmap is to first identify a set of differentially expressed probesets . these are then mapped , using x : map , to their target genes , and filtered for non - specificity due to multiple targeting . the result is a list of genes for which at least one probeset is differentially expressed . then , for each of these genes , it is possible to retrieve expression data for every targeting probeset . fold change ( e.g. splicing index ) , anova ( e.g. midas ) or variance - based approaches can then be used to characterize genes according to consistency in differential expression across their length ( 15,16 ) . figure 3 , for example , was generated by using limma ( 17 ) to identify all probesets with statistically significant differential expression in a triplicate comparison between two cell lines , the human breast cancer cell line mcf7 , and the non - tumorigenic breast epithelial cell line , mcf10a ( n = 90 051 ; fold change threshold > 2 ; adjusted p value = 0.05 , benjamini and hochberg correction ) . this list was then filtered to remove multi - target probesets and those that did not map cleanly to exons ( n = 49 326 ) . variance was calculated for each gene , and used to select the 200 most varying up- and downregulated genes . figure 4a shows , for example , the gene lama3 , with expression mapped to its transcript structure . a set of exons at the 3 end of the gene figure 4b shows mean intensity for mcf7 and mcf10a plotted for the same gene against sequence position . it can be seen that the expression levels for both cell lines are similar at the 5 end , but that expression levels increase in mcf10a at the 3 end ( rather than decreasing for mcf7 ) . this provides strong evidence that the changes observed are due to over - expression of the known short isoform in mcf10a , rather than  under - expression of the 5 end of the gene in mcf7 . currently , x : map focuses on affymetrix exon arrays , however , many of the approaches can be generalized to other array types , and in particular , to tiling and snp arrays . we intend to add these array types to x : map , and also to extend the types of annotation represented within the database to include data types more pertinent for these arrays . an advantage of the approach taken by x : map is that , since all visualization data are pre - computed , making more annotation available via the web - interface will not result in a loss of run - time performance . we are also exploring the possibility of adding an additional client - rendered layer to allow dynamic presentation of users own expression data alongside the existing map annotation . all database data can be downloaded from the x : map website , exonmap from the bioconductor website and the mcf7 and mcf10a sample data from ref . ( 6 ) .
affymetrix exon arrays aim to target every known and predicted exon in the human , mouse or rat genomes , and have reporters that extend beyond protein coding regions to other areas of the transcribed genome . 
 this combination of increased coverage and precision is important because a substantial proportion of protein coding genes are predicted to be alternatively spliced , and because many non - coding genes are known also to be of biological significance . in order to fully exploit these arrays , 
 it is necessary to associate each reporter on the array with the features of the genome it is targeting , and to relate these to gene and genome structure . 
 x : map is a genome annotation database that provides this information . 
 data can be browsed using a novel google - maps based interface , and analysed and further visualized through an associated bioconductor package . 
 the database can be found at http://xmap.picr.man.ac.uk .