<title>Introduction</title> <p>As data banks increase their size, one of the current challenges in bioinformatics is to be able to query them in a sensible way. Information is contained in different databases, with various data representations or formats, making it very difficult to use a single query tool to search more than a single data source.</p> <p>Data mining is vital to bioinformatics as it allows users to go beyond simple browsing of genome browsers, such as <italic>Ensembl</italic>
##REF##15078858##[1]##,##REF##17148474##[2]## or the <italic>UCSC Genome Browser</italic>
##REF##17142222##[3]##, to address questions; for example, the biological meaning of the results obtained with a microarray platform, or how to identify a short motif upstream of a gene, amongst others. There are a number of integrated approaches available, some of which are described below (##FIG##0##Figure 1##).</p> <p>The Table Browser at UCSC ##UREF##0##[4]## supports text-based batch queries to the UCSC Genome Browser, limiting the output to entries meeting the selected criteria. A disadvantage of this tool is that users need to be familiar with the underlying database schema in order to know where their data is stored. Similarly, performing complex queries might require multiple steps that can be burdensome with this tool. Galaxy ##REF##16169926##[5]## provides a set of tools that can retrieve data from the Table Browser (Table Browser and BioMart will be explained below), facilitating complex queries that require multiple joins (##FIG##1##Figure 2##).</p> <p>BioMart provides a query-oriented data management system to interact with different datasets (Ensembl ##REF##17148474##[2]##, RGD ##REF##15608243##[6]##,##REF##17151068##[7]##, and WormBase ##REF##15608221##[8]##, among many others). This data “warehouse” was originally developed for Ensembl, creating EnsMart ##UREF##1##[9]##,##REF##14707178##[10]##. From there, it was first deployed across the European Bioinformatics Institute (EBI), and now it has become a joint project between EBI and Cold Spring Harbor Laboratory (CSHL). The generic query system has shifted toward a federated approach that has been deployed for several biological databases, and has become a component of the Generic Model Organism Database (GMOD) project.</p> <p>In this contribution, we provide some solutions for data mining; we focus on advanced ways of interacting with BioMart using other applications to retrieve information through different platforms such as Galaxy ##REF##16169926##[5]## and the <italic>biomaRt</italic> package of BioConductor ##REF##15461798##[11]##,##UREF##2##[12]##. Many of these tools also interact with the UCSC Table Browser and have similar approaches using the UCSC system. We also address programmatic access using BioMart's own implementation of Web services (MartService). For local deployment of BioMart, see ##TAB##0##Table 1##.</p>
<title>Conclusions</title> <p>We have seen how to go beyond simple browsing of data with data mining tools leveraging the BioMart system from different platforms, e.g., BioConductor (<italic>biomaRt</italic>), to find the association between microarray probe and Ensembl gene sets. Galaxy allowed us to use BioMart to extract information from Ensembl to identify some short motifs (beyond the threshold of BLAST detection) in the promoter region of a gene (MMP9). The Web interface of BioMart supports complex queries joining different datasets.</p>
<title>BioMart Web Interface</title> <p>First we will focus on BioMart's Web interface (<ext-link ext-link-type="uri" xlink:href="http://www.biomart.org">http://www.biomart.org</ext-link>) to illustrate how to join two different datasets: Reactome ##REF##17367534##[13]##, a database of metabolic pathways, and UniProt ##REF##17142230##[14]##, a catalogue of protein information. In this example, we need to obtain a catalogue of enzymes involved in carbohydrate metabolism in humans, as we are interested in a congenic disorder in this pathway. To ask this question without an integrated data mining tool, one would have to start with Reactome to find enzymes involved in reaction pathways in human and then compare those enzymes to a list of entries in UniProt. However, BioMart allows us to join the two databases.</p> <p>We can start our query by clicking on ‘MartView’ from the Web interface at <ext-link ext-link-type="uri" xlink:href="http://www.biomart.org">http://www.biomart.org</ext-link>, and selecting the Reactome database. Now, select the <italic>reaction</italic> dataset. Filters applied will be simply ‘Limit to Species’ <italic>Homo sapiens</italic>. Attributes can be selected as “<italic>Reaction name</italic>” and “Gene <italic>ENSEMBL ID</italic>”. At this stage, 2,432 entries meet our criteria (i.e. we have asked for all human reaction pathways in the Reactome database). Click on the ‘count’ button at the top to obtain this number.</p> <p>Next, we can enrich our search for enzymes in the UniProt database. This will require the ‘linked’ or secondary dataset. Follow this description, or view the tutorials for use of the linked database at <ext-link ext-link-type="uri" xlink:href="http://www.ensembl.org/common/Workshops_Onlineid117">http://www.ensembl.org/common/Workshops_Onlineid117</ext-link>.</p> <p>Click on the second ‘Dataset’ option at the left of the page. Select ‘UniProt proteomes’ as the database. In this instance, we will add as a filter the Gene Ontology (GO) ##REF##10802651##[15]## term ‘GO:0005975’ (associated with carbohydrate metabolic processes); this will be under ‘EXTERNAL IDENTIFIERS’, ‘Limit to proteins…GO ID(s)’ in the secondary dataset. Also select, under ‘External references’: ‘<italic>Entries with EC ID(s)</italic>’, to limit our query to enzymes only, and ‘<italic>eukaryota</italic>’ along with ‘<italic>Homo sapiens</italic>’ under ‘SPECIES’ (Species and Proteome Name, respectively). This will give a count of 257 in the secondary dataset. The genome location can be displayed in the output by choosing the following <italic>Attributes</italic>: “<italic>Genome component name</italic>” for the chromosome, “Start Position” and “End Position” for the coordinates. Click ‘Results’ for the table in ##FIG##1##Figure 2##.</p> <p>Now you have a list of enzymes in UniProt involved in carbohydrate metabolism in humans.</p> <title>BioConductor</title> <p>BioConductor is open source software for the analysis of genomic data. It is based on the R language ##UREF##3##[16]## (which is an implementation of the S language, a statistical programming language originally developed at Bell Laboratories to support research and data analysis of large statistical projects ##UREF##4##[17]##).</p> <p>R is an integrated software environment for data manipulation, which can be used as a statistics system (throughout many different packages). There are a large number of biologically relevant modules in BioConductor, some of which are described in ##UREF##2##[12]## and at <ext-link ext-link-type="uri" xlink:href="http://www.bioconductor.org/packages/release/Software.html">http://www.bioconductor.org/packages/release/Software.html</ext-link>. The <italic>biomaRt</italic> package provides an API (Application Programming Interface) in the scripting language R, allowing interaction with <italic>biomaRt</italic> databases. These include Ensembl, which produces and maintains automatic annotation on selected eukaryotic genomes; VEGA ##REF##15608237##[18]##, the manually annotated Vertebrate Genome Annotation database; dbSNP ##REF##11125122##[19]##, the Single Nucleotide Polymorphism database of NCBI; Gramene ##REF##16381966##[20]##, a resource for comparative grass genomics; WormBase ##UREF##1##[9]##, the canonical database for <italic>Caenorhabditis elegans</italic> and related nematodes RGD ##REF##15608243##[6]##,##REF##17151068##[7]##; and Reactome ##REF##17367534##[13]##, a curated knowledgebase of biological pathways, amongst others.</p> <p>R can be installed on different platforms; there are binaries available for Unix, Windows, and Macintosh. For a list of the Comprehensive R Archive Network (CRAN), go to <ext-link ext-link-type="uri" xlink:href="http://cran.r-project.org/mirrors.html">http://cran.r-project.org/mirrors.html</ext-link>. Once obtained, the source should be unpacked and installed following the instructions provided. There is a built-in help facility invoked with <bold>help</bold>, for instance ‘<bold>help(debug)</bold>’ will provide documentation about the <bold>debug</bold> function. Furthermore, following the installation of a package, a pre-built help search index is created. To know what commands are available in <italic>biomaRt</italic> use ‘<bold>help.search(“biomaRt”)</bold>’.</p> <p>Once R is installed and compiled, the default set of BioConductor packages is easily installed using the <bold>biocLite.R</bold> installation script as follows:</p> <p>
<bold>&gt;source(“http://bioconductor.org/biocLite.R”)</bold>
</p> <p>
<bold>&gt;biocLite(“biomaRt”)</bold>
</p> <p>With <italic>biomaRt</italic> installed, load the relevant library with the <bold>library(biomaRt)</bold> command, and then connect to any public BioMart database. The <bold>listMarts</bold> function will show which BioMart services are available. BioMart is structured in tables with <italic>attributes</italic> (the information you want to know) and <italic>filters</italic> (the information you know). You need to select a dataset (e.g., <bold>rnorvegicus_gene_ensembl</bold>), if you are interested in rat gene annotation from Ensembl. Issuing the following command: <bold>rat = useMart(“ensembl”, dataset = “rnorvegicus_gene_ensembl”)</bold>, would set the dataset queried to be the Ensembl rat genes.</p> <p>Below are two commands to query the library to see the currently available marts and datasets on the central server (##FIG##2##Figure 3##).</p> <p>
<bold>&gt;library(biomaRt)</bold>
</p> <p>
<bold>&gt;listMarts()</bold>
</p> <p>Additionally, the <bold>useMart</bold> function allows you to select the relevant BioMart dataset, using the name provided by <bold>listMarts</bold>.</p> <p>
<bold>&gt;ensembl = useMart(“ensembl”)</bold>
</p> <p>
<bold>&gt;listDatasets(ensembl)</bold>
</p> <p>
<bold> dataset version</bold>
</p> <p>
<bold>1 oanatinus_gene_ensembl OANA5</bold>
</p> <p>
<bold>2 gaculeatus_gene_ensembl BROADS1</bold>
</p> <p>….…</p> <p>Once you know which databases are available, select your dataset, which can be queried with <bold>getBM(biomaRt)</bold>. To finish the session, use <bold>martDisconnect(biomaRt).</bold>
</p> <p>Functions available allow extraction of identifiers from different sources including Ensembl IDs, several microarray platforms, UniProt, RefSeq ##REF##17130148##[21]##, and EntrezGene ##REF##17148475##[22]##. Genome sequences can be retrieved by specific chromosomal coordinates for a given species, allowing a user to mine regions they define. For example, a user could view all annotations upstream of a differentially expressed gene in order to investigate putative regulatory elements. Similarly, <italic>compara_mart_homology_47</italic> supports queries across different species in order to identify homologous genes.</p> <p>To illustrate how to use this tool, we provide an example: if you were interested in all mouse protein coding genes on Chromosome 10 along with their Ensembl and MGI identifiers, the following series of commands would carry out this query:</p> <p>
<bold>&gt;library(biomaRt)</bold>
</p> <p>
<bold>&gt;listMarts()</bold>
</p> <p>
<bold>&gt;ensembl = useMart(“ensembl”)</bold>
</p> <p>
<bold>&gt;listDatasets(ensembl)</bold>
</p> <p>
<bold>&gt;mouse = useMart(“ensembl”, dataset = “mmusculus_gene_ensembl”)</bold>
</p> <p>
<bold>&gt;getBM(c(“ensembl_gene_id”, “ensembl_transcript_id”, “mgi_symbol”), filters = “chromosome_name”,values = 10, mart = mouse)</bold>
</p> <p>The output could be saved to a file <italic>gene.ids</italic>, which can be invoked by simply typing <bold>“-&gt;gene.ids”</bold>.</p> <p>Researchers use DNA microarrays to establish the expression profiles of thousands of genes in a single experiment. Microarrays in their different incarnations have been used in a wide range of applications, e.g., disease characterization ##REF##9843981##[23]##,##REF##10521349##[24]## and identification of novel genes or gene regulatory networks ##REF##15920529##[25]##.</p> <p>A more specific use of <italic>biomaRt</italic> involving the recently developed CodeLink Rat Whole Genome Bioarrays (a platform from Applied Microarrays which features approximately 34,000 transcript and EST targets) will show how to further analyse data obtained from these bioarrays. The <italic>Codelink</italic>
##REF##17344240##[26]## R package can be installed (<bold>biocLite(“codelink”)</bold>). To obtain plotting functionality in the R statistical computing environment (e.g., <bold>plotMA</bold>, <bold>plotCorrelations</bold>, <bold>plotDensities</bold>, etc.), CodeLink bioarrays have been successfully applied to the identification of molecular signatures in colon cancer development ##REF##15374999##[27]##. In this paper, we will use some of the up-regulated probes from this study to illustrate how annotation could be retrieved using <italic>biomaRt</italic>, focusing on Ensembl genes associated to the probes. Data was obtained from the matrix plot of gene expression values (the authors provide supplementary data online at <ext-link ext-link-type="uri" xlink:href="http://dnguyen.ucdavis.edu/.html/datatest3/main.html">http://dnguyen.ucdavis.edu/.html/datatest3/main.html</ext-link>).</p> <p>
<bold>&gt;library(biomaRt)</bold>
</p> <p>
<bold>Loading required package: XML</bold>
</p> <p>
<bold>Loading required package: RCurl</bold>
</p> <p>
<bold>&gt;</bold>
</p> <p>
<bold>&gt;rat = useMart(“ensembl”, dataset = “rnorvegicus_gene_ensembl”)</bold>
</p> <p>
<bold>Checking attributes and filters … ok</bold>
</p> <p>Character strings are inserted using double (“) or single (‘) quotes, while the <bold>c()</bold>function is used to concatenate arrays.</p> <p>
<bold>&gt;upregulated = c(“AF003944”, “U67136”, “J04597”, “AF281635”, “BC090354”, “AF281635”, “BC090354”, “U12309”, “M14105”, “M14104”, “BC088159”, “D84450”, “BC061719”, “D90404”, “M26855”, “M26854”, “L00320”, “L00313”, “L00314”, “L00315”, “L00316”, “L00317”, “L00318”, “L00319”, “M11251”, “J00719”, “M37134”, “M26855”, “M26854”, “J00728”, “J00720”, “J00721”, “J00722”, “J00723”, “J00724”, “J00725”, “J00726”, “M34452”, “K00996”, “K01626”, “K01721”, “D00250”, “M13234”, “M13650”, “M26853”, “M19972”, “X63545”, “X12355”, “D63378”, “BC062393”)</bold>
</p> <p>Given a list of expected ‘up-regulated’ mRNAs (EMBL or GenBank IDs), we can retrieve Ensembl Transcript IDs and the associated probes from CodeLink bioarrays, with their chromosome coordinates as shown in ##TAB##1##Table 2##.</p> <p>
<bold>getBM(attributes = c(“codelink”, “ensembl_transcript_id”, “embl”, “chromosome_name”, “start_position”, “end_position”),filter = “embl”,values = upregulated, mart = rat)</bold>
</p> <p>With this association between up-regulated probes and Ensembl annotation (Ensembl gene IDs could also be added), along with their location, additional annotation such as Gene Ontology terms could be included to obtain additional information about the putative function of the genes involved.</p> <p>In this particular example, we can see that BioMart does not associate any probes to ENSRNOG00000033680 (ENSRNOT00000034845), number 40 in ##TAB##1##Table 2##. Using the Ensembl Browser, we see this gene ID corresponds to Cyp2b15; if we have a closer look at this region (from Ensembl's ContigView or GeneView pages), we can see that this gene is very close to a gap in the current assembly (RGSC 3.4), and therefore Ensembl's independent mapping strategy failed to associate any CodeLink Bioarrays 30-mer oligonucleotide probes ##REF##11917036##[28]##. This demonstrates how the Ensembl graphical interface can enhance the understanding of the information obtained using BioMart.</p> <title>Other Data Mining Tools</title> <p>The number of applications available to perform analyses is rapidly growing, making it very difficult for users to know which tools would be suitable for them. Galaxy ##REF##16169926##[5]## provides a framework that integrates a variety of applications and data sources within an integrated workspace. Galaxy is available both through the Web (no installation required) and as a self-contained downloadable application that is easily customized ##UREF##5##[29]##. Users can submit data to numerous computational tools (including 48 programs from the EMBOSS ##REF##10827456##[30]## suite, alongside tools for working with genomic sequences, alignments, and functional annotations). The results of analyses in Galaxy are stored remotely in ‘datasets’, which are accessible through the history panel on the right (collapsed in ##FIG##3##Figure 4##). The history provides a complete record of an analysis, including all intermediate data, and can easily be shared with others. Galaxy also provides integration with the UCSC Table Browser tool in a similar way to its integration with the BioMart tool.</p> <p>We can use Galaxy to search for a runt domain Runx2 motif (TGTGGTA) upstream of ENSG00000100985 (the human gene orthologous to ENSMUSG00000017737 where this transcription factor mediates induction of MMP9 ##REF##16166639##[31]##). Begin at the Galaxy interface (<ext-link ext-link-type="uri" xlink:href="http://main.g2.bx.psu.edu">http://main.g2.bx.psu.edu</ext-link>). From the tools menu (left panel), select: <bold>Get Data</bold>&gt;<bold>BioMart</bold> (Central Server) to query the ‘Ensembl genes’ database and retrieve 300 bp upstream (<bold>Attributes</bold>&gt;<bold>Sequences</bold>&gt;<bold>Flank-coding region</bold>) to ENSG00000100985. Following this, we can run <bold>fuzznuc</bold> (from EMBOSS) to find out if the Runx2 motif is upstream of the human gene. Such short motifs (length &lt;10) cannot be identified by BLAST, SSAHA, or BLAT; that's why we will use EMBOSS.</p> <p>
<bold>########################################</bold>
</p> <p>
<bold># Program: fuzznuc</bold>
</p> <p>
<bold># Commandline: fuzznuc</bold>
</p> <p>
<bold># -pattern TGTGGTT</bold>
</p> <p>
<bold># -pmismatch 1</bold>
</p> <p>
<bold># -complement no</bold>
</p> <p>
<bold>########################################</bold>
</p> <p>
<bold># =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  = </bold>
</p> <p>
<bold># Sequence: protein_coding from: 1 to: 300</bold>
</p> <p>
<bold># HitCount: 1</bold>
</p> <p>
<bold># Pattern_name Mismatch Pattern</bold>
</p> <p>
<bold># pattern1 1 TGTGGTT</bold>
</p> <p>
<bold>#</bold>
</p> <p>
<bold># Complement: No</bold>
</p> <p>
<bold># =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  = </bold>
</p> <p>
<bold>Start End Pattern_name Mismatch Sequence</bold>
</p> <p>
<bold>62 68 pattern1 1 TGCGGTT</bold>
</p> <p>This example shows how Galaxy adds a layer of analysis to the genomic sequences retrieved from the UCSC Table Browser, or BioMart in this case (##FIG##3##Figure 4##). From the output of <bold>fuzznuc</bold>, we could expect a similar regulation for human MMP9, as we can find the Runx2 binding motif upstream of the human gene.</p> <p>Galaxy offers users without large compute capacity the possibility of undertaking the analysis of multiple alignments (whole genome alignments are stored locally at the Galaxy site, compressed and indexed). One of Galaxy's strengths is the ease with which new tools can be integrated—new suites of tools for massively parallel sequence data, metagenomics, and statistical genetics are growing rapidly.</p> <p>Web services provide an alternative way of integrating databases and tools (e.g., Taverna ##REF##16845108##[32]## and the <italic>biomaRt</italic> package of BioConductor), but users require some programming awareness. Galaxy removes this requirement; it relies on Web services to interact with external data sources such as BioMart and the UCSC Table Browser, providing a structured Web interface. Behind the scenes, when dealing with user data, jobs are wrapped and run in an abstract interface, to ensure reproducibility and avoid any problems associated with changes in the underlying Web services. For a more detailed description of Web services, see ##UREF##6##[33]##.</p> <title>Accession Numbers Used in the Text</title> <p>GO IDs: GO:0005975</p> <p>EMBL: AF003944, U67136, J04597, AF281635, BC090354, AF281635, BC090354, U12309, M14105, M14104, BC088159, D84450, BC061719, D90404, M26855, M26854, L00320, L00313, L00314, L00315, L00316, L00317, L00318, L00319, M11251, J00719, M37134, M26855, M26854, J00728, J00720, J00721, J00722, J00723, J00724, J00725, J00726, M34452, K00996, K01626, K01721, D00250, M13234, M13650, M26853, M19972, X63545, X12355, D63378, BC062393.</p> <p>Ensembl Transcript IDs: ENSRNOT00000014152, ENSRNOT00000018050, ENSRNOT00000015476, ENSRNOT00000020478, ENSRNOT00000015723, ENSRNOT00000028196, ENSRNOT00000022342, ENSRNOT00000047540, ENSRNOT00000008416, ENSRNOT00000034845, ENSRNOT00000014785, ENSRNOT00000041580</p> <p>Ensembl gene IDs: ENSRNOG00000033680, ENSMUSG00000017737, ENSG00000100985</p> <p>CodeLink IDs: GE13154, GE13549, GE20053, GE20496, GE19851, GE1195465, GE20338, GE21631, GE21002, GE20281, GE21915, GE22156</p>
<p>We gratefully acknowledge Arek Kasprzyk, Damian Smedley, and Giulietta Spudich for their useful comments on the manuscript, as well as James Taylor (Galaxy) and Steffen Durinck (BioConductor) for their help. We also want to thank the Ensembl and BioMart teams.</p>
<fig id="pcbi-1000121-g001" position="float"><object-id pub-id-type="doi">10.1371/journal.pcbi.1000121.g001</object-id><label>Figure 1</label><caption><title>Diagram depicting the way different applications interact with data mining tools.</title><p>The boxed area shows the topics discussed in this paper. BioMart's Central Server coordinates access to different databases: on the left-hand side, Galaxy interacts with BioMart by means of URL-based queries, allowing interaction with the UCSC Genome Browser and its Table Browser; while on the right interaction with Ensembl and its API is shown. Other platforms such as BioConductor rely on Web services (<italic>MartService</italic>) to retrieve information from the BioMart system. Additionally, BioMart is compliant with the DAS protocol ##REF##11667947##[34]## and can be queried by means of a Perl API, <italic>biomart-perl</italic>, as well as a Java API, <italic>martj</italic>.</p></caption></fig> <fig id="pcbi-1000121-g002" position="float"><object-id pub-id-type="doi">10.1371/journal.pcbi.1000121.g002</object-id><label>Figure 2</label><caption><title>BioMart can join different datasets, in this case Reactome and UniProt to identify enzymes involved in carbohydrate metabolism.</title></caption></fig> <fig id="pcbi-1000121-g003" position="float"><object-id pub-id-type="doi">10.1371/journal.pcbi.1000121.g003</object-id><label>Figure 3</label><caption><title>BioMart libraries available in the Central Server.</title></caption></fig> <fig id="pcbi-1000121-g004" position="float"><object-id pub-id-type="doi">10.1371/journal.pcbi.1000121.g004</object-id><label>Figure 4</label><caption><title>Screenshot displaying BioMart embedded in the Galaxy framework.</title></caption></fig>
<table-wrap id="pcbi-1000121-t001" position="float"><object-id pub-id-type="doi">10.1371/journal.pcbi.1000121.t001</object-id><label>Table 1</label><caption><title>URLs for additional information.</title></caption><alternatives><table frame="hsides" rules="groups"><colgroup span="1"><col align="left" span="1"/><col align="center" span="1"/></colgroup><tbody><tr><td align="left" rowspan="1" colspan="1">
<bold>BioMart documentation</bold>
</td><td align="left" rowspan="1" colspan="1">
<ext-link ext-link-type="uri" xlink:href="http://www.biomart.org/user-docs.pdf">http://www.biomart.org/user-docs.pdf</ext-link>
</td></tr><tr><td align="left" rowspan="1" colspan="1">
<bold>BioMart tutorials</bold>
</td><td align="left" rowspan="1" colspan="1">
<ext-link ext-link-type="uri" xlink:href="http://www.ensembl.org/info/using/website/tutorials/">http://www.ensembl.org/info/using/website/tutorials/</ext-link>
</td></tr><tr><td align="left" rowspan="1" colspan="1"/><td align="left" rowspan="1" colspan="1">
<ext-link ext-link-type="uri" xlink:href="http://www.ensembl.org/common/Workshops_Online">http://www.ensembl.org/common/Workshops_Online</ext-link>
</td></tr><tr><td align="left" rowspan="1" colspan="1">
<bold>BioMart Central Server</bold>
</td><td align="left" rowspan="1" colspan="1">
<ext-link ext-link-type="uri" xlink:href="http://www.biomart.org/">http://www.biomart.org/</ext-link>
</td></tr><tr><td align="left" rowspan="1" colspan="1">
<bold>BioConductor</bold>
</td><td align="left" rowspan="1" colspan="1">
<ext-link ext-link-type="uri" xlink:href="http://www.bioconductor.org/">http://www.bioconductor.org/</ext-link>
</td></tr><tr><td align="left" rowspan="1" colspan="1"/><td align="left" rowspan="1" colspan="1">
<ext-link ext-link-type="uri" xlink:href="http://www.bioconductor.org/packages/release/Software.html">http://www.bioconductor.org/packages/release/Software.html</ext-link>
</td></tr><tr><td align="left" rowspan="1" colspan="1">
<bold>R</bold>
</td><td align="left" rowspan="1" colspan="1">
<ext-link ext-link-type="uri" xlink:href="http://www.r-project.org/">http://www.r-project.org/</ext-link>
</td></tr><tr><td align="left" rowspan="1" colspan="1">
<bold>Installing R</bold>
</td><td align="left" rowspan="1" colspan="1">
<ext-link ext-link-type="uri" xlink:href="http://cran.r-project.org/doc/manuals/R-admin.html">http://cran.r-project.org/doc/manuals/R-admin.html</ext-link>
</td></tr><tr><td align="left" rowspan="1" colspan="1">
<bold>R Archive Network</bold>
</td><td align="left" rowspan="1" colspan="1">
<ext-link ext-link-type="uri" xlink:href="http://cran.r-project.org/mirrors.html">http://cran.r-project.org/mirrors.html</ext-link>
</td></tr><tr><td align="left" rowspan="1" colspan="1">
<bold>biomaRt documentation</bold>
</td><td align="left" rowspan="1" colspan="1">
<ext-link ext-link-type="uri" xlink:href="http://www.bioconductor.org/packages/1.8/bioc/vignettes/biomaRt/inst/doc/biomaRt.pdf">http://www.bioconductor.org/packages/1.8/bioc/vignettes/biomaRt/inst/doc/biomaRt.pdf</ext-link>
</td></tr><tr><td align="left" rowspan="1" colspan="1">
<bold>Galaxy</bold>
</td><td align="left" rowspan="1" colspan="1">
<ext-link ext-link-type="uri" xlink:href="http://main.g2.bx.psu.edu/">http://main.g2.bx.psu.edu/</ext-link>
</td></tr></tbody></table></alternatives></table-wrap> <table-wrap id="pcbi-1000121-t002" position="float"><object-id pub-id-type="doi">10.1371/journal.pcbi.1000121.t002</object-id><label>Table 2</label><caption><title>R output (using <italic>biomaRt</italic> library) providing CodeLink bioarray IDs and their mappings to Ensembl transcripts (<italic>chr: start-end position</italic>), as explained in the text.</title></caption><alternatives><table frame="hsides" rules="groups"><colgroup span="1"><col align="left" span="1"/><col align="center" span="1"/><col align="center" span="1"/><col align="center" span="1"/><col align="center" span="1"/><col align="center" span="1"/></colgroup><thead><tr><td align="left" rowspan="1" colspan="1">codelink</td><td align="left" rowspan="1" colspan="1">ensembl_transcript_id</td><td align="left" rowspan="1" colspan="1">embl</td><td align="left" rowspan="1" colspan="1">chromosome_name</td><td align="left" rowspan="1" colspan="1">start_position</td><td align="left" rowspan="1" colspan="1">end_position</td></tr></thead><tbody><tr><td align="left" rowspan="1" colspan="1">GE13154</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000014152</td><td align="left" rowspan="1" colspan="1">AF003944</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">125280974</td><td align="left" rowspan="1" colspan="1">125293051</td></tr><tr><td align="left" rowspan="1" colspan="1">GE13549</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000018050</td><td align="left" rowspan="1" colspan="1">AF281635</td><td align="left" rowspan="1" colspan="1">4</td><td align="left" rowspan="1" colspan="1">152975181</td><td align="left" rowspan="1" colspan="1">152979366</td></tr><tr><td align="left" rowspan="1" colspan="1">GE20053</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000015476</td><td align="left" rowspan="1" colspan="1">BC061719</td><td align="left" rowspan="1" colspan="1">8</td><td align="left" rowspan="1" colspan="1">101405877</td><td align="left" rowspan="1" colspan="1">101437760</td></tr><tr><td align="left" rowspan="1" colspan="1">GE20496</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000020478</td><td align="left" rowspan="1" colspan="1">BC062393</td><td align="left" rowspan="1" colspan="1">3</td><td align="left" rowspan="1" colspan="1">108216369</td><td align="left" rowspan="1" colspan="1">108240138</td></tr><tr><td align="left" rowspan="1" colspan="1">GE19851</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000015723</td><td align="left" rowspan="1" colspan="1">BC088159</td><td align="left" rowspan="1" colspan="1">16</td><td align="left" rowspan="1" colspan="1">17591820</td><td align="left" rowspan="1" colspan="1">17597859</td></tr><tr><td align="left" rowspan="1" colspan="1">GE13549</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000018050</td><td align="left" rowspan="1" colspan="1">BC090354</td><td align="left" rowspan="1" colspan="1">4</td><td align="left" rowspan="1" colspan="1">152975181</td><td align="left" rowspan="1" colspan="1">152979366</td></tr><tr><td align="left" rowspan="1" colspan="1">GE1195465</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000028196</td><td align="left" rowspan="1" colspan="1">D00250</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">81345425</td><td align="left" rowspan="1" colspan="1">81359415</td></tr><tr><td align="left" rowspan="1" colspan="1">GE20496</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000020478</td><td align="left" rowspan="1" colspan="1">D63378</td><td align="left" rowspan="1" colspan="1">3</td><td align="left" rowspan="1" colspan="1">108216369</td><td align="left" rowspan="1" colspan="1">108240138</td></tr><tr><td align="left" rowspan="1" colspan="1">GE20053</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000015476</td><td align="left" rowspan="1" colspan="1">D84450</td><td align="left" rowspan="1" colspan="1">8</td><td align="left" rowspan="1" colspan="1">101405877</td><td align="left" rowspan="1" colspan="1">101437760</td></tr><tr><td align="left" rowspan="1" colspan="1">GE20338</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000022342</td><td align="left" rowspan="1" colspan="1">D90404</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">144629802</td><td align="left" rowspan="1" colspan="1">144661183</td></tr><tr><td align="left" rowspan="1" colspan="1">GE21631</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000022342</td><td align="left" rowspan="1" colspan="1">D90404</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">144629802</td><td align="left" rowspan="1" colspan="1">144661183</td></tr><tr><td align="left" rowspan="1" colspan="1"/><td align="left" rowspan="1" colspan="1">
<bold>ENSRNOT00000047540</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>J00719</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>1</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81266845</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81290470</bold>
</td></tr><tr><td align="left" rowspan="1" colspan="1">GE1195465</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000028196</td><td align="left" rowspan="1" colspan="1">J00720</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">81345425</td><td align="left" rowspan="1" colspan="1">81359415</td></tr><tr><td align="left" rowspan="1" colspan="1">GE1195465</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000028196</td><td align="left" rowspan="1" colspan="1">J00721</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">81345425</td><td align="left" rowspan="1" colspan="1">81359415</td></tr><tr><td align="left" rowspan="1" colspan="1">GE1195465</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000028196</td><td align="left" rowspan="1" colspan="1">J00722</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">81345425</td><td align="left" rowspan="1" colspan="1">81359415</td></tr><tr><td align="left" rowspan="1" colspan="1">GE1195465</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000028196</td><td align="left" rowspan="1" colspan="1">J00723</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">81345425</td><td align="left" rowspan="1" colspan="1">81359415</td></tr><tr><td align="left" rowspan="1" colspan="1">GE1195465</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000028196</td><td align="left" rowspan="1" colspan="1">J00724</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">81345425</td><td align="left" rowspan="1" colspan="1">81359415</td></tr><tr><td align="left" rowspan="1" colspan="1">GE1195465</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000028196</td><td align="left" rowspan="1" colspan="1">J00725</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">81345425</td><td align="left" rowspan="1" colspan="1">81359415</td></tr><tr><td align="left" rowspan="1" colspan="1">GE1195465</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000028196</td><td align="left" rowspan="1" colspan="1">J00726</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">81345425</td><td align="left" rowspan="1" colspan="1">81359415</td></tr><tr><td align="left" rowspan="1" colspan="1">GE1195465</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000028196</td><td align="left" rowspan="1" colspan="1">J00728</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">81345425</td><td align="left" rowspan="1" colspan="1">81359415</td></tr><tr><td align="left" rowspan="1" colspan="1">GE21002</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000008416</td><td align="left" rowspan="1" colspan="1">J04597</td><td align="left" rowspan="1" colspan="1">6</td><td align="left" rowspan="1" colspan="1">98923111</td><td align="left" rowspan="1" colspan="1">98928505</td></tr><tr><td align="left" rowspan="1" colspan="1">GE1195465</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000028196</td><td align="left" rowspan="1" colspan="1">K00996</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">81345425</td><td align="left" rowspan="1" colspan="1">81359415</td></tr><tr><td align="left" rowspan="1" colspan="1">GE1195465</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000028196</td><td align="left" rowspan="1" colspan="1">K01626</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">81345425</td><td align="left" rowspan="1" colspan="1">81359415</td></tr><tr><td align="left" rowspan="1" colspan="1">GE1195465</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000028196</td><td align="left" rowspan="1" colspan="1">K01721</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">81345425</td><td align="left" rowspan="1" colspan="1">81359415</td></tr><tr><td align="left" rowspan="1" colspan="1"/><td align="left" rowspan="1" colspan="1">
<bold>ENSRNOT00000047540</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>L00313</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>1</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81266845</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81290470</bold>
</td></tr><tr><td align="left" rowspan="1" colspan="1"/><td align="left" rowspan="1" colspan="1">
<bold>ENSRNOT00000047540</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>L00314</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>1</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81266845</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81290470</bold>
</td></tr><tr><td align="left" rowspan="1" colspan="1"/><td align="left" rowspan="1" colspan="1">
<bold>ENSRNOT00000047540</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>L00315</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>1</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81266845</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81290470</bold>
</td></tr><tr><td align="left" rowspan="1" colspan="1"/><td align="left" rowspan="1" colspan="1">
<bold>ENSRNOT00000047540</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>L00316</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>1</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81266845</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81290470</bold>
</td></tr><tr><td align="left" rowspan="1" colspan="1"/><td align="left" rowspan="1" colspan="1">
<bold>ENSRNOT00000047540</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>L00317</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>1</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81266845</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81290470</bold>
</td></tr><tr><td align="left" rowspan="1" colspan="1"/><td align="left" rowspan="1" colspan="1">
<bold>ENSRNOT00000047540</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>L00318</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>1</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81266845</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81290470</bold>
</td></tr><tr><td align="left" rowspan="1" colspan="1"/><td align="left" rowspan="1" colspan="1">
<bold>ENSRNOT00000047540</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>L00319</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>1</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81266845</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81290470</bold>
</td></tr><tr><td align="left" rowspan="1" colspan="1"/><td align="left" rowspan="1" colspan="1">
<bold>ENSRNOT00000047540</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>L00320</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>1</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81266845</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81290470</bold>
</td></tr><tr><td align="left" rowspan="1" colspan="1"/><td align="left" rowspan="1" colspan="1">
<bold>ENSRNOT00000047540</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>M11251</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>1</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81266845</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81290470</bold>
</td></tr><tr><td align="left" rowspan="1" colspan="1">GE1195465</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000028196</td><td align="left" rowspan="1" colspan="1">M13234</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">81345425</td><td align="left" rowspan="1" colspan="1">81359415</td></tr><tr><td align="left" rowspan="1" colspan="1">GE1195465</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000028196</td><td align="left" rowspan="1" colspan="1">M13650</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">81345425</td><td align="left" rowspan="1" colspan="1">81359415</td></tr><tr><td align="left" rowspan="1" colspan="1">GE19851</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000015723</td><td align="left" rowspan="1" colspan="1">M14104</td><td align="left" rowspan="1" colspan="1">16</td><td align="left" rowspan="1" colspan="1">17591820</td><td align="left" rowspan="1" colspan="1">17597859</td></tr><tr><td align="left" rowspan="1" colspan="1">GE19851</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000015723</td><td align="left" rowspan="1" colspan="1">M14105</td><td align="left" rowspan="1" colspan="1">16</td><td align="left" rowspan="1" colspan="1">17591820</td><td align="left" rowspan="1" colspan="1">17597859</td></tr><tr><td align="left" rowspan="1" colspan="1">GE1195465</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000028196</td><td align="left" rowspan="1" colspan="1">M19972</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">81345425</td><td align="left" rowspan="1" colspan="1">81359415</td></tr><tr><td align="left" rowspan="1" colspan="1">GE1195465</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000028196</td><td align="left" rowspan="1" colspan="1">M26853</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">81345425</td><td align="left" rowspan="1" colspan="1">81359415</td></tr><tr><td align="left" rowspan="1" colspan="1"/><td align="left" rowspan="1" colspan="1">
<bold>ENSRNOT00000034845</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>M26854</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>1</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81266845</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81290470</bold>
</td></tr><tr><td align="left" rowspan="1" colspan="1"/><td align="left" rowspan="1" colspan="1">
<bold>ENSRNOT00000047540</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>M26854</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>1</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81266845</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81290470</bold>
</td></tr><tr><td align="left" rowspan="1" colspan="1"/><td align="left" rowspan="1" colspan="1">
<bold>ENSRNOT00000034845</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>M26855</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>1</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81266845</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81290470</bold>
</td></tr><tr><td align="left" rowspan="1" colspan="1"/><td align="left" rowspan="1" colspan="1">
<bold>ENSRNOT00000047540</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>M26855</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>1</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81266845</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81290470</bold>
</td></tr><tr><td align="left" rowspan="1" colspan="1">GE1195465</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000028196</td><td align="left" rowspan="1" colspan="1">M34452</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">81345425</td><td align="left" rowspan="1" colspan="1">81359415</td></tr><tr><td align="left" rowspan="1" colspan="1"/><td align="left" rowspan="1" colspan="1">
<bold>ENSRNOT00000047540</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>M37134</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>1</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81266845</bold>
</td><td align="left" rowspan="1" colspan="1">
<bold>81290470</bold>
</td></tr><tr><td align="left" rowspan="1" colspan="1">GE20281</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000014785</td><td align="left" rowspan="1" colspan="1">U12309</td><td align="left" rowspan="1" colspan="1">19</td><td align="left" rowspan="1" colspan="1">58601188</td><td align="left" rowspan="1" colspan="1">58628500</td></tr><tr><td align="left" rowspan="1" colspan="1">GE21915</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000014785</td><td align="left" rowspan="1" colspan="1">U12309</td><td align="left" rowspan="1" colspan="1">19</td><td align="left" rowspan="1" colspan="1">58601188</td><td align="left" rowspan="1" colspan="1">58628500</td></tr><tr><td align="left" rowspan="1" colspan="1">GE21002</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000008416</td><td align="left" rowspan="1" colspan="1">U67136</td><td align="left" rowspan="1" colspan="1">6</td><td align="left" rowspan="1" colspan="1">98923111</td><td align="left" rowspan="1" colspan="1">98928505</td></tr><tr><td align="left" rowspan="1" colspan="1">GE20496</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000020478</td><td align="left" rowspan="1" colspan="1">X12355</td><td align="left" rowspan="1" colspan="1">3</td><td align="left" rowspan="1" colspan="1">108216369</td><td align="left" rowspan="1" colspan="1">108240138</td></tr><tr><td align="left" rowspan="1" colspan="1">GE20381</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000041580</td><td align="left" rowspan="1" colspan="1">X63545</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">81780088</td><td align="left" rowspan="1" colspan="1">81853249</td></tr><tr><td align="left" rowspan="1" colspan="1">GE22156</td><td align="left" rowspan="1" colspan="1">ENSRNOT00000041580</td><td align="left" rowspan="1" colspan="1">X63545</td><td align="left" rowspan="1" colspan="1">1</td><td align="left" rowspan="1" colspan="1">81780088</td><td align="left" rowspan="1" colspan="1">81853249</td></tr></tbody></table></alternatives></table-wrap>
<fn-group><fn fn-type="COI-statement"><p>The authors have declared that no competing interests exist.</p></fn><fn fn-type="financial-disclosure"><p>The Ensembl project receives primary funding from the Wellcome Trust. Additional funding is provided by EMBL, NHGRI, NIH-NIAID, BBSRC, MRC, and the European Union. BioMart receives additional funding from the EMBRACE project (FP6 Programme, European Commission, contract number LHSG-CT-2004-512092). Ensembl supports BIOMART.</p></fn></fn-group>
<graphic xlink:href="pcbi.1000121.g001"/> <graphic xlink:href="pcbi.1000121.g002"/> <graphic id="pcbi-1000121-t001-1" xlink:href="pcbi.1000121.t001"/> <graphic xlink:href="pcbi.1000121.g003"/> <graphic id="pcbi-1000121-t002-2" xlink:href="pcbi.1000121.t002"/> <graphic xlink:href="pcbi.1000121.g004"/>
[{"label": ["4"], "element-citation": ["\n"], "surname": ["Karolchik", "Hinrichs", "Furey", "Roskin", "Sugnet"], "given-names": ["D", "AS", "TS", "KM", "CW"], "year": ["2004"], "article-title": ["The UCSC Table Browser data retrieval tool."], "source": ["Nucleic Acids Res"], "volume": ["32"], "fpage": ["D 493"], "lpage": ["D496"]}, {"label": ["9"], "element-citation": ["\n"], "surname": ["Harris", "Stein", "Strange"], "given-names": ["TW", "LD", "K"], "year": ["2006"], "article-title": ["WormBase: Methods for data mining and comparative genomics."], "source": ["Methods in Molecular Biology in "], "italic": ["C. elegans"], "publisher-loc": ["New Jersey"], "publisher-name": ["Humana Press"], "fpage": ["31"], "lpage": ["50"]}, {"label": ["12"], "element-citation": ["\n"], "surname": ["Gentleman", "Carey", "H\u00fcber", "Irizarry", "Dudoit"], "given-names": ["RC", "V", "W", "R", "R"], "year": ["2005"], "source": ["Bioinformatics and Computational Biology Solutions Using R and BioConductor"], "publisher-name": ["Springer"]}, {"label": ["16"], "element-citation": ["\n"], "surname": ["Ihaka", "Gentleman"], "given-names": ["R", "R"], "year": ["1996"], "article-title": ["R: A language for data analysis and graphics."], "source": ["Journal of Computational and Graphical Statistics"], "volume": ["5"], "fpage": ["299"], "lpage": ["314"]}, {"label": ["17"], "element-citation": ["\n"], "surname": ["Becker", "Chambers", "Wilks"], "given-names": ["RA", "JM", "AR"], "year": ["1988"], "source": ["The New S Language: A Programming Environment for Data Analysis and Graphics"], "publisher-loc": ["Pacific Grove (California)"], "publisher-name": ["Wadsworth & Brooks/Cole"]}, {"label": ["29"], "element-citation": ["\n"], "surname": ["Taylor", "Schenk", "Blankenberg", "Nekrutenko"], "given-names": ["J", "I", "D", "A"], "year": ["2007"], "article-title": ["Using Galaxy to Perform Large-Scale Interactive Data Analysis."], "source": ["Current Protocols in Bioinformatics"], "volume": ["10.5.1"], "issue": ["Supplement 19"]}, {"label": ["33"], "element-citation": ["\n"], "surname": ["Alonso", "Casati", "Kuno", "Machiraju"], "given-names": ["G", "F", "H", "V"], "year": ["2004"], "source": ["Web Services: Concepts, Architectures and Applications. Data-Centric Systems and Applications"], "publisher-loc": ["Berlin/Heidelberg"], "publisher-name": ["Springer-Verlag"]}]
PLoS Comput Biol. 2008 Sep 26; 4(9):e1000121