ebook img

Introduction to Bioinformatics and Clinical Scientific Computing PDF

405 Pages·2022·19.067 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Introduction to Bioinformatics and Clinical Scientific Computing

Introduction to Bioinformatics and Clinical Scientific Computing This textbook provides an introduction to computer science theory, informatics best practice and the standards and legislation that apply to computing in a healthcare environment. It delivers an accessible discussion of databases (construction, interrogation and maintenance); networking (design and low-level application); programming (best practice rather than the specifics of any one language – design, maintenance and safety). It can be used to accompany the NHS Modernising Scientific Careers syllabus. It is also targeted towards those creating software rather than those using it, particularly computer scientists working in healthcare, specifically those in or close to the Physical Sciences, including radiotherapy, nuclear medicine, and equipment man- agement and those working with genomics and health informatics. There is an accompanying website (https://www.routledge.com/9781032324135) from which one can download some of the code referred to in the text, as well as colour versions of some of the images in colour. Paul S. Ganney has had a long career in the world of Medical Physics, always with Scientific Computing at its heart. He has been Head of Scientific Computing at two NHS Trusts (Hull and East Yorkshire and University College London) and has lec- tured at Liverpool University, Hull University and Kings College London. Now mostly retired, he still writes articles and software as required. Introduction to Bioinformatics and Clinical Scientific Computing Paul S. Ganney Cover image: spainter_vfx/Shutterstock First edition published 2023 by CRC Press 6000 Broken Sound Parkway NW, Suite 300, Boca Raton, FL 33487-2742 and by CRC Press 4 Park Square, Milton Park, Abingdon, Oxon, OX14 4RN © 2023 Paul S. Ganney CRC Press is an imprint of Informa UK Limited Reasonable efforts have been made to publish reliable data and information, but the author and publisher cannot assume responsibility for the validity of all materials or the consequences of their use. The authors and publishers have attempted to trace the copyright holders of all material reproduced in this publication and apologize to copyright holders if permission to publish in this form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may rectify in any future reprint. Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilming, and recording, or in any information storage or retrieval system, without written permission from the publishers. For permission to photocopy or use material electronically from this work, access www.copyright.com or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400. For works that are not available on CCC please contact mpkbookspermissions@tandf. co.uk Trademark notice: Product or corporate names may be trademarks or registered trademarks and are used only for identification and explanation without intent to infringe. ISBN: 978-1-032-32413-5 (hbk) ISBN: 978-1-032-32693-1 (pbk) ISBN: 978-1-003-31624-4 (ebk) DOI: 10.1201/9781003316244 Typeset in Times by SPi Technologies India Pvt Ltd (Straive) Access the companion website: https://www.routledge.com/9781032324135 Contents Acknowledgements .................................................................................................xiv Chapter 1 Data Structures .....................................................................................1 1.1 Introduction ...............................................................................1 1.2 Arrays ........................................................................................1 1.3 Stack or Heap ............................................................................8 1.4 Queue .......................................................................................11 1.5 Linked List ...............................................................................13 1.6 Binary Tree ..............................................................................18 Notes ...................................................................................................19 Chapter 2 Databases ............................................................................................21 2.1 Introduction .............................................................................21 2.2 Terminology.............................................................................22 2.3 The Goals of Database Design ................................................23 2.4 Example ...................................................................................24 2.5 More Terminology ...................................................................24 2.6 Example – Making the Design More Efficient ........................26 2.7 Fourth and Fifth Normal Form ................................................29 2.8 Many-to-Many Relationships ..................................................33 2.9 Distributed Relational Systems and Data Replication .............33 2.10 Columnstore and Data Warehousing .......................................35 2.11 OLAP Cubes ............................................................................38 2.12 Star Schema .............................................................................40 2.13 Database Standards and Standards for Interoperability and Integration .........................................................................41 2.13.1 Database Naming Conventions ..................................42 2.13.2 Data Administration Standards ...................................43 2.13.3 Database Administration Standards............................44 2.13.4 System Administration Standards ..............................44 2.13.5 Database Application Development Standards ..........44 2.13.6 Database Security Standards ......................................45 2.13.7 Application Migration and Turnover Procedures .......45 2.13.8 Operational Support Standards ...................................46 Notes ...................................................................................................46 References ..........................................................................................47 Chapter 3 SQL ....................................................................................................49 3.1 Introduction .............................................................................49 3.2 Common Commands: SELECT, INSERT, UPDATE and DELETE ..................................................................................49 v vi Contents 3.3 Some Useful Commands/Functions ........................................53 3.4 SELECT Modifiers ..................................................................53 3.4.1 MySQL 8.0 .................................................................74 3.5 Create/Alter Table ....................................................................74 3.6 Indexes .....................................................................................78 3.7 Privileges .................................................................................80 3.8 Loading Large Data Sets .........................................................84 3.9 Stored Routines .......................................................................85 3.10 Triggers ....................................................................................88 3.11 Columnstore ............................................................................90 3.12 Concurrency Control and Transaction Management ...............91 3.13 Database Performance Tuning .................................................95 3.14 Hints and Tips ..........................................................................98 3.14.1 Naming Standards ......................................................98 3.14.2 Data Types ..................................................................98 3.14.3 In Code .......................................................................98 3.14.4 Documentation ...........................................................98 3.14.5 Normalization and Referential Integrity .....................99 3.14.6 Maintenance: Run Periodic Scripts to Find ................99 3.14.7 Be Good ......................................................................99 Notes ...................................................................................................99 References ........................................................................................101 Chapter 4 Data Mining ......................................................................................103 4.1 Introduction ...........................................................................103 4.2 Pre-Processing .......................................................................105 4.3 Data Mining ...........................................................................105 4.3.1 Some Data-Mining Methods ....................................109 4.3.1.1 Decision Trees and Rules ..........................109 4.3.1.2 Nonlinear Regression and Classification Methods ..............................110 4.3.1.3 Example-Based Methods ..........................111 4.3.1.4 Probabilistic Graphic Dependency Models ......................................................112 4.3.1.5 Principal Component Analysis (PCA) ......113 4.3.1.6 Neural Networks .......................................116 4.4 Data Mining Models in Healthcare .......................................118 4.5 Results Validation ..................................................................118 4.6 Software .................................................................................119 Notes .................................................................................................119 References ........................................................................................119 Chapter 5 Data Analysis and Presentation ........................................................121 5.1 Introduction ...........................................................................121 5.2 Appropriate Methods and Tools ............................................121 Contents vii 5.3 Interpretation of Results ........................................................122 5.4 Presentation of Results ..........................................................123 5.5 Quality Indicators ..................................................................123 5.6 Graphical Presentation ...........................................................124 5.7 Standards ...............................................................................127 5.8 Commercial Software: Excel .................................................127 5.8.1 Charts .......................................................................127 5.9 Blinded with Science .............................................................138 Notes .................................................................................................140 References ........................................................................................141 Chapter 6 Boolean Algebra ...............................................................................143 6.1 Introduction ...........................................................................143 6.2 Notation .................................................................................143 6.3 Truth Tables ...........................................................................143 6.4 Algebraic Rules .....................................................................144 6.5 Logical Functions ..................................................................146 6.5.1 Functions of One Variable ........................................146 6.5.2 Functions of Two Variables ......................................146 6.6 Simplification of Logical Expressions ...................................147 6.7 A Slight Detour into NAND and NOR ..................................148 6.8 Karnaugh Maps .....................................................................149 6.9 Using Boolean Algebra in Forming and Validating Queries .................................................................151 6.10 Binary and Masking ..............................................................151 Notes .................................................................................................152 References ........................................................................................152 Chapter 7 NoSQL .............................................................................................153 7.1 Introduction ...........................................................................153 7.1.1 Strengths ...................................................................155 7.1.2 Weaknesses ...............................................................155 7.2 Document Storage .................................................................155 7.3 GraphDB ................................................................................158 7.4 Conclusions ...........................................................................161 Notes .................................................................................................161 Chapter 8 Network Architecture .......................................................................163 8.1 Introduction ...........................................................................163 8.2 Networking and the Network Environment ...........................163 8.2.1 The Network Packet .................................................163 8.2.2 Hardware – Hub, Switch, Router, Firewall ..............164 8.2.3 Network Topologies .................................................166 viii Contents 8.3 Cabling Infrastructure ............................................................170 8.4 IP Addressing and DNS .........................................................173 8.4.1 IP Mask ....................................................................173 8.4.2 Ports ..........................................................................175 8.5 IP Routing Tables ..................................................................176 8.5.1 IP Routing Table Entry Types...................................176 8.5.2 Route Determination Process ...................................177 8.5.3 Example Routing Table for Windows 2000 .............178 8.5.4 Static, Dynamic and Reserved IPs ...........................179 8.5.4.1 Two Devices with the Same IP Address .................................................180 8.5.5 Where Is Your Data? .................................................180 8.6 Connecting Medical Devices to the Hospital Network .........181 8.6.1 Firewalls ...................................................................182 8.6.2 Bandwidth ................................................................183 8.7 Infrastructure .........................................................................184 8.8 The OSI 7-layer Model ..........................................................184 8.9 Scalability ..............................................................................186 8.9.1 RIP ............................................................................187 8.9.2 OSPF ........................................................................187 8.9.3 Intermediate System to Intermediate System (IS-IS) ..........................................................188 8.9.4 EIGRP ......................................................................188 8.10 Web Services: Introduction ...................................................189 8.11 Web Services: Representational State Transfer (REST) ........190 8.11.1 Client-Server Architecture ........................................191 8.11.2 Statelessness .............................................................191 8.11.3 Cacheability ..............................................................191 8.11.4 Layered System ........................................................191 8.11.5 Code on Demand ......................................................191 8.11.6 Uniform Interface .....................................................191 8.11.6.1 Resource Identification in Requests ........192 8.11.6.2 Resource Manipulation through Representations .......................................192 8.11.6.3 Self-Descriptive Messages ......................192 8.11.6.4 Hypermedia as the Engine of Application State (HATEOAS) ...............192 8.11.7 Relationship between URL and HTTP Methods ......193 8.12 Web Services: Simple Object Access Protocol (SOAP) ........194 8.13 Web Services and the Service Web ........................................197 8.14 SOAP Messages.....................................................................198 Notes .................................................................................................200 References ........................................................................................203 Contents ix Chapter 9 Storage Services ...............................................................................205 9.1 Introduction ...........................................................................205 9.2 Virtual Environments .............................................................205 9.3 Cloud Computing ..................................................................207 9.4 Security and Governance for Cloud Services ........................208 Notes .................................................................................................209 References ........................................................................................209 Chapter 10 Encryption ........................................................................................211 10.1 Introduction ...........................................................................211 10.2 Encryption .............................................................................211 10.2.1 Ciphers and Cryptography........................................211 10.2.2 RSA and PGP Encryption ........................................212 10.2.3 Steganography, Checksums and Digital Signatures .....................................................213 Notes .................................................................................................214 References ........................................................................................215 Chapter 11 Web Programming ............................................................................217 11.1 Introduction ...........................................................................217 11.2 Strategies for Web Development ...........................................217 11.2.1 Design Style .............................................................218 11.3 HTML ....................................................................................218 11.3.1 Static HTML ............................................................219 11.4 Style Sheets – CSS ................................................................222 11.4.1 The Class Selector ....................................................224 11.4.2 Applying a Style Sheet .............................................225 11.4.3 Multiple Style Sheets ...............................................226 11.5 Dynamic HTML – Forms ......................................................226 11.6 Dynamic HTML – JavaScript ................................................227 11.7 Dynamic HTML – CGI .........................................................230 11.8 Server- and Client-Side Architecture .....................................231 11.9 Server Files ............................................................................232 11.10 Limiting Access .....................................................................233 11.11 Interfacing with a Database ...................................................234 11.12 Privacy and Security ..............................................................235 11.12.1 Web Sessions ............................................................237 11.12.2 Cookies .....................................................................238 Notes .................................................................................................239 References ........................................................................................240

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.