LEADER 10147nam 2200601 a 450 001 9910825139103321 005 20240516003606.0 010 $a0-19-164320-3 010 $a0-19-164319-X 035 $a(CKB)2670000000544978 035 $a(StDuBDS)AH25858227 035 $a(MiAaPQ)EBC3056116 035 $a(OCoLC)878135867 035 $a(FINmELB)ELB167271 035 $a(EXLCZ)992670000000544978 100 $a20130925d2014 fy| 0 101 0 $aeng 135 $aur||||||||||| 181 $ctxt$2rdacontent 182 $cc$2rdamedia 183 $acr$2rdacarrier 200 10$aBuilding bioinformatics solutions /$fConrad Bessant, Ian Shadforth, Darren Oakley 205 $a2nd edition. 210 $aOxford $cOxford University Press$d2014 210 1$aNew York Ciity, NY :$cOxford University Press,$d2014. 215 $a1 online resource (368 pages) 300 $aPrevious edition: 2009. 311 $a0-19-965856-0 320 $aIncludes bibliographical references and index. 327 $aCover -- Acknowledgements -- Preface to the Second Edition -- Contents -- 1 Introduction -- 1.1 From data to knowledge: the aim of bioinformatics -- 1.2 Using this book -- 1.2.1 About the coverage of this book -- 1.2.2 Choice of tools -- 1.2.3 Choice of operating system -- 1.2.4 www.bixsolutions.net -- 1.3 Principal applications of bioinformatics -- 1.3.1 Sequence analysis -- 1.3.2 Transcriptomics -- 1.3.3 Proteomics -- 1.3.4 Metabolomics -- 1.3.5 Systems biology -- 1.3.6 Literature mining -- 1.3.7 Structural biology -- 1.4 Building bioinformatics solutions -- 1.5 Publicly available bioinformatics resources -- 1.5.1 Publicly available data -- 1.5.2 Publicly available analysis tools -- 1.5.3 Publicly available workflow solutions -- 1.6 Some computing practicalities -- 1.6.1 Hardware requirements -- 1.6.2 The command line -- 1.6.3 Case sensitivity -- 1.6.4 Security, firewalls, and administration rights -- References -- 2 Building biological databases with SQL -- 2.1 Common database types -- 2.1.1 Flat text files -- 2.1.2 XML -- 2.1.3 Relational databases -- 2.2 Relational database design-the 'natural' approach -- 2.2.1 Steps 1-3: gather, group, and name the data -- 2.2.2 Step 4: data types -- 2.2.3 Step 5: atomicity of data -- 2.2.4 Steps 6 and 7: indexing and linking tables -- 2.2.5 Departure from design -- 2.3 Installing and configuring a MySQL server -- 2.3.1 Download and installation -- 2.3.2 Creating a database and a user account -- 2.4 Alternatives to MySQL -- 2.4.1 PostgreSQL -- 2.4.2 Oracle -- 2.4.3 MariaDB -- 2.4.4 Microsoft Access -- 2.4.5 Big Data and NoSQL databases -- 2.5 Database access using SQL -- 2.5.1 Compatibility between RDBMSs -- 2.5.2 Error messages -- 2.5.3 Creating a database -- 2.5.4 Creating tables and enforcing referential integrity -- 2.5.5 Populating the database -- 2.5.6 Removing data and tables from the database. 327 $a2.5.7 Creating and using source files -- 2.5.8 Querying the database -- 2.5.9 Transaction handling -- 2.5.10 Copying, moving, and backing up a database -- 2.6 MySQL Workbench: an alternative to the command line -- 2.7 Summary -- References -- 3 Beginning programming in Perl -- 3.1 Downloading and installing Perl -- 3.1.1 Older versions of Perl on Mac OS -- 3.1.2 Older versions of Perl on Linux -- 3.1.3 Installing Perl on Windows -- 3.1.4 Compilers and other developer tools -- 3.1.5 Before getting started -- 3.2 Basic Perl syntax and logic -- 3.2.1 Scalar variables -- 3.2.2 Arrays -- 3.2.3 Hashes -- 3.2.4 Control structures and logic operators -- 3.2.5 Writing interactive programs-I/O basics -- 3.2.6 Some good coding practice -- 3.2.7 Summary -- 3.3 References -- 3.3.1 Multidimensional arrays -- 3.3.2 Multidimensional hashes -- 3.3.3 Viewing data structures with Data::Dumper -- 3.4 Subroutines and modules -- 3.4.1 Making a Perl module -- 3.5 Regular expressions -- 3.5.1 Defining regular expressions -- 3.5.2 More advanced regular expressions -- 3.5.3 Regular expressions in practice -- 3.6 File handling and directory operations -- 3.6.1 Reading text files -- 3.6.2 Writing text files -- 3.6.3 Directory operations -- 3.7 Error handling -- 3.8 Retrieving files from the Internet -- 3.8.1 Utilizing NCBI's eUtilities -- 3.9 Accessing relational databases using Perl DBI -- 3.9.1 Installing DBD::MySQL -- 3.9.2 Connecting to a database -- 3.9.3 Querying the database -- 3.9.4 Populating the database -- 3.9.5 Database transactions and error handling -- 3.10 Harnessing existing tools -- 3.10.1 CPAN -- 3.10.2 BioPerl -- 3.10.3 System commands -- 3.11 Object-oriented programming -- 3.11.1 Object-oriented programming in Perl using Moose -- 3.12 Summary -- References -- 4 Analysis and visualisation of data using R -- 4.1 Introduction to R. 327 $a4.1.1 Downloading and installing R -- 4.1.2 Basic R concepts and syntax -- 4.1.3 Vectors and data frames -- 4.1.4 The nature of experimental data -- 4.1.5 R modes, objects, lists, classes, and methods -- 4.1.6 Importing data into R -- 4.1.7 Data visualization in R -- 4.1.8 Writing programs in R -- 4.1.9 Some essential R functions -- 4.1.10 The RStudio integrated development environment -- 4.2 Multivariate data analysis -- 4.2.1 Exploratory data analysis -- 4.2.2 Scatter plots -- 4.2.3 Principal components analysis -- 4.2.4 Hierarchical cluster analysis -- 4.2.5 Pattern recognition -- 4.3 R packages -- 4.3.1 Installing and using Bioconductor packages -- 4.3.2 The RMySQL package for database connectivity -- 4.3.3 Packages for multivariate classification -- 4.3.4 Writing your own R packages -- 4.4 Integrating Perl and R -- 4.5 Alternatives to R -- 4.5.1 S+ -- 4.5.2 Matlab -- 4.5.3 Octave -- 4.6 Summary -- References -- 5 Developing web resources -- 5.1 Web servers -- 5.2 Introduction to HTML -- 5.2.1 Creating and editing HTML documents -- 5.2.2 The structure of a web page -- 5.2.3 HTML tags and general formatting -- 5.2.4 An example web page -- 5.2.5 Web standards and browser compatibility -- 5.3 Programming for the web using Perl -- 5.3.1 Mojolicious::Lite -- 5.3.2 Debugging Mojolicious applications -- 5.3.3 Routes -- 5.3.4 Interfacing with databases within a web application -- 5.3.5 Getting user input via forms -- 5.3.6 Deploying a Mojolicious application -- 5.3.7 Going further with Mojolicious -- 5.4 Advanced web techniques and languages -- 5.4.1 Cascading stylesheets -- 5.4.2 JavaScript, JavaScript libraries, and Ajax -- 5.5 Data Visualization on the web -- 5.5.1 Using R graphics in Perl -- 5.5.2 Plotting graphs with Chart::Clicker -- 5.5.3 Plotting graphs with SVG::TT::Graph -- 5.5.4 Primitive graphics with Perl. 327 $a5.5.5 Drawing graphs and graphics using JavaScript -- 5.6 Summary -- References -- 6 Software engineering for bioinformatics -- 6.1 Unit testing -- 6.1.1 Unit testing in practice -- 6.2 Version control -- 6.2.1 The basics of version control -- 6.2.2 Centralized versus distributed version control -- 6.2.3 Git -- 6.2.4 Alternatives to Git -- 6.2.5 Hosting and sharing your code on the Internet -- 6.2.6 Running your own code repository -- 6.3 Creating useful documentation -- 6.3.1 Documenting command-line applications -- 6.3.2 Documenting Perl code -- 6.4 User-centred software design -- 6.5 Alternatives to Perl -- 6.5.1 Python -- 6.5.2 Ruby -- 6.5.3 Java -- 6.5.4 Using Galaxy -- 6.6 Summary -- References -- Appendix A: Using command-line interfaces -- A.1 Getting to the operating system command line -- A.2 General command-line concepts -- A.3 Command-line tips -- Appendix B: Getting started with Apache HTTP Server -- B.1 Installing Apache -- B.2 Apache fundamentals -- Appendix C: Setting up a Linux virtual machine in Windows -- C.1 Installing VirtualBox and configuring a virtual machine -- C.2 Using the VM -- C.3 Other uses of virtual machines -- Index. 330 8 $aThis book introduces the reader to all the key concepts and technologies needed to begin developing their own bioinformatics tools. The new edition includes more bioinformatics-specific content and a new chapter on good software engineering practices to help people working in teams.$bBioinformatics encompasses a broad and ever-changing range of activities involved with the management and analysis of data from molecular biology experiments. Despite the diversity of activities and applications, the basic methodology and core tools needed to tackle bioinformatics problems is common to many projects. This unique book provides an invaluable introduction to three of the main tools used in the development of bioinformatics software - Perl, R and MySQL - and explainshow these can be used together to tackle the complex data-driven challenges that typify modern biology. These industry standard open source tools form the core of many bioinformatics projects, both in academia and industry. The methodologies introduced are platform independent, and all the examplesthat feature have been tested on Windows, Linux and Mac OS. Building Bioinformatics Solutions is suitable for graduate students and researchers in the life sciences who wish to automate analyses or create their own databases and web-based tools. No prior knowledge of software development is assumed. Having worked through the book, the reader should have the necessary core skills to develop computational solutions for their specific research programmes. The book will also help the reader overcome the inertia associated with penetrating this field, andprovide them with the confidence and understanding required to go on to develop more advanced bioinformatics skills. 606 $aBioinformatics 606 $aOpen source software 606 $aScience$2ukslc 608 $aElectronic books.$2lcsh 615 0$aBioinformatics. 615 0$aOpen source software. 615 7$aScience. 676 $a572.0285 700 $aBessant$b Conrad$01703925 702 $aOakley$b Darren 702 $aShadforth$b Ian 801 0$bStDuBDS 801 1$bStDuBDS 801 2$bStDuBDSZ 801 2$bUkPrAHLS 906 $aBOOK 912 $a9910825139103321 996 $aBuilding bioinformatics solutions$94089517 997 $aUNINA