`r knitr::opts_chunk$set(tidy=FALSE)` # Interacting with data bases, XML, and other programs Motivation and relevance - Better to exploit existing resources with tools designed for the job (e.g., SQL, XML, ...) than to make a copy of the data in R's native format. - Better to exploit existing tools for what they're good at (e.g., formulating queries on relational data) than mimicing behavior with R 'equivalent' functions (e.g,. `merge()`). - Use in Bioconductor: - SQL: annotation packages - XML: [biomaRt][] and other queries to web resources; [GEOquery][], interoperability with other software (e.g., [RCytoscape][]) and file formats (e.g., [mzID][], [GSEABase][]). [biomaRt]: http://bioconductor.org/packages/devel/bioc/html/biomaRt.html [GEOquery]: http://bioconductor.org/packages/devel/bioc/html/GEOquery.html [RCytoscape]: http://bioconductor.org/packages/devel/bioc/html/RCytoscape.html [mzID]: http://bioconductor.org/packages/devel/bioc/html/mzID.html [GSEABase]: http://bioconductor.org/packages/devel/bioc/html/GSEABase.html