{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,18]],"date-time":"2026-06-18T13:43:36Z","timestamp":1781790216949,"version":"3.54.5"},"reference-count":109,"publisher":"Public Library of Science (PLoS)","issue":"6","license":[{"start":{"date-parts":[[2016,6,7]],"date-time":"2016-06-07T00:00:00Z","timestamp":1465257600000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["www.ploscompbiol.org"],"crossmark-restriction":false},"short-container-title":["PLoS Comput Biol"],"DOI":"10.1371\/journal.pcbi.1004867","type":"journal-article","created":{"date-parts":[[2016,6,7]],"date-time":"2016-06-07T18:57:22Z","timestamp":1465325842000},"page":"e1004867","update-policy":"https:\/\/doi.org\/10.1371\/journal.pcbi.corrections_policy","source":"Crossref","is-referenced-by-count":64,"title":["An Introduction to Programming for Bioscientists: A Python-Based Primer"],"prefix":"10.1371","volume":"12","author":[{"given":"Berk","family":"Ekmekci","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Charles E.","family":"McAnany","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Cameron","family":"Mura","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"340","published-online":{"date-parts":[[2016,6,7]]},"reference":[{"issue":"1","key":"ref1","doi-asserted-by":"crossref","first-page":"31","DOI":"10.1038\/nrg2626","article-title":"Sequencing Technologies\u2014The Next Generation","volume":"11","author":"ML Metzker","year":"2010","journal-title":"Nature Reviews: Genetics"},{"issue":"5","key":"ref2","doi-asserted-by":"crossref","first-page":"269","DOI":"10.1038\/nrm3970","article-title":"Multidimensional Proteomics for Cell Biology","volume":"16","author":"M Larance","year":"2015","journal-title":"Nature Reviews: Molecular Cell Biology"},{"issue":"1","key":"ref3","doi-asserted-by":"crossref","first-page":"57","DOI":"10.1038\/nrg2484","article-title":"RNA-Seq: A Revolutionary Tool for Transcriptomics","volume":"10","author":"Z Wang","year":"2009","journal-title":"Nature Reviews: Genetics"},{"key":"ref4","doi-asserted-by":"crossref","first-page":"283","DOI":"10.1007\/978-1-60327-194-3_14","article-title":"Computational Approaches to Metabolomics","volume":"593","author":"DS Wishart","year":"2010","journal-title":"Methods in Molecular Biology"},{"key":"ref5","article-title":"A Journal of Integrative Biology","journal-title":"A Journal of Integrative Biology"},{"key":"ref6","article-title":"\u2018Ome Sweet \u2018Omics\u2014A Genealogical Treasury of Words","author":"J Lederberg","year":"2001","journal-title":"The Scientist"},{"key":"ref7","unstructured":"Gerstein Lab. \u201cO M E S Table\u201d;. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"http:\/\/bioinfo.mbb.yale.edu\/what-is-it\/omes\/omes.html\" xlink:type=\"simple\">http:\/\/bioinfo.mbb.yale.edu\/what-is-it\/omes\/omes.html<\/ext-link>."},{"issue":"2","key":"ref8","first-page":"335","article-title":"Molecular Ecology of Microbial Mats","volume":"90","author":"H Bolhuis","year":"2014","journal-title":"FEMS Microbiology Ecology"},{"issue":"5","key":"ref9","doi-asserted-by":"crossref","first-page":"e62544","DOI":"10.1371\/journal.pone.0062544","article-title":"The Human Gut Chip \u201cHuGChip\u201d, an Explorative Phylogenetic Microarray for Determining Gut Microbiome Diversity at Family Level","volume":"8","author":"W Tottey","year":"2013","journal-title":"PLoS ONE"},{"issue":"3","key":"ref10","doi-asserted-by":"crossref","first-page":"260","DOI":"10.1038\/ng.515","article-title":"Population Resequencing Reveals Local Adaptation of <italic>Arabidopsis lyrata<\/italic> to Serpentine Soils","volume":"42","author":"TL Turner","year":"2010","journal-title":"Nature Genetics"},{"issue":"10","key":"ref11","doi-asserted-by":"crossref","first-page":"1135","DOI":"10.1038\/nbt1486","article-title":"Next-generation DNA Sequencing","volume":"26","author":"J Shendure","year":"2008","journal-title":"Nature Biotechnology"},{"issue":"1","key":"ref12","doi-asserted-by":"crossref","first-page":"16","DOI":"10.1038\/nmeth1156","article-title":"Next-generation Sequencing Transforms Today\u2019s Biology","volume":"5","author":"SC Schuster","year":"2008","journal-title":"Nature Methods"},{"issue":"5","key":"ref13","doi-asserted-by":"crossref","first-page":"759","DOI":"10.1111\/j.1755-0998.2011.03024.x","article-title":"Field Guide to Next-generation DNA Sequencers","volume":"11","author":"TC Glenn","year":"2011","journal-title":"Molecular Ecology Resources"},{"issue":"2\u20133","key":"ref14","doi-asserted-by":"crossref","first-page":"89","DOI":"10.1007\/s10969-005-3084-1","article-title":"Methods and Results for Semi-automated Cloning Using Integrated Robotics","volume":"6","author":"HE Klock","year":"2005","journal-title":"Journal of Structural and Functional Genomics"},{"issue":"4","key":"ref15","doi-asserted-by":"crossref","first-page":"145","DOI":"10.1007\/s10969-007-9031-6","article-title":"Automated Robotic Harvesting of Protein Crystals\u2014Addressing a Critical Bottleneck or Instrumentation Overkill?","volume":"8","author":"R Viola","year":"2007","journal-title":"Journal of Structural and Functional Genomics"},{"key":"ref16","article-title":"Bioinformatics: The Machine Learning Approach","author":"P Baldi","year":"2001"},{"issue":"10\u201311","key":"ref17","doi-asserted-by":"crossref","first-page":"732","DOI":"10.1080\/08927022.2014.935372","article-title":"An Introduction to Biomolecular Simulations and Docking","volume":"40","author":"C Mura","year":"2014","journal-title":"Molecular Simulation"},{"issue":"3","key":"ref18","doi-asserted-by":"crossref","first-page":"309","DOI":"10.1089\/cmb.2009.0167","article-title":"An Online Approach for Mining Collective Behaviors from Molecular Dynamics Simulations","volume":"17","author":"A Ramanathan","year":"2010","journal-title":"Journal of Computational Biology"},{"issue":"2","key":"ref19","doi-asserted-by":"crossref","first-page":"604","DOI":"10.1016\/j.cpc.2013.09.018","article-title":"PLUMED 2: New Feathers for an Old Bird","volume":"185","author":"GA Tribello","year":"2014","journal-title":"Computer Physics Communications"},{"key":"ref20","doi-asserted-by":"crossref","first-page":"61","DOI":"10.1186\/1471-2105-12-61","article-title":"A Lightweight, Flow-based Toolkit for Parallel and Distributed Bioinformatics Pipelines","volume":"12","author":"M Cie\u015blik","year":"2011","journal-title":"BMC Bioinformatics"},{"issue":"27","key":"ref21","doi-asserted-by":"crossref","first-page":"11079","DOI":"10.1073\/pnas.0905029106","article-title":"Nature of the Protein Universe","volume":"106","author":"M Levitt","year":"2009","journal-title":"Proceedings of the National Academy of Sciences of the United States of America"},{"issue":"3","key":"ref22","doi-asserted-by":"crossref","first-page":"535","DOI":"10.1016\/S0022-2836(77)80200-3","article-title":"The Protein Data Bank: A Computer-based Archival File for Macromolecular Structures","volume":"112","author":"FC Bernstein","year":"1977","journal-title":"Journal of Molecular Biology"},{"issue":"6018","key":"ref23","doi-asserted-by":"crossref","first-page":"666","DOI":"10.1126\/science.331.6018.666","article-title":"Human genome 10<sup>th<\/sup> anniversary. Will computers crash genomics?","volume":"331","author":"E Pennisi","year":"2011","journal-title":"Science"},{"issue":"1","key":"ref24","doi-asserted-by":"crossref","first-page":"56","DOI":"10.1038\/nrg2918","article-title":"Network Medicine: A Network-based Approach to Human Disease","volume":"12","author":"AL Barab\u00e1si","year":"2011","journal-title":"Nature Reviews Genetics"},{"issue":"11","key":"ref25","doi-asserted-by":"crossref","first-page":"1448","DOI":"10.1038\/nn.3837","article-title":"The Big Data Challenges of Connectomics","volume":"17","author":"JW Lichtman","year":"2014","journal-title":"Nature Neuroscience"},{"issue":"6","key":"ref26","doi-asserted-by":"crossref","first-page":"1246","DOI":"10.1016\/j.neuron.2014.09.008","article-title":"The Big Data Problem: Turning Maps into Knowledge","volume":"83","author":"F Engert","year":"2014","journal-title":"Neuron"},{"issue":"4","key":"ref27","doi-asserted-by":"crossref","first-page":"433","DOI":"10.1016\/j.drudis.2013.10.012","article-title":"Big Data in Biomedicine","volume":"19","author":"FF Costa","year":"2014","journal-title":"Drug Discovery Today"},{"key":"ref28","article-title":"Discovery with Data: Leveraging Statistics with Computer Science to Transform Science and Society","author":"C Rudin","year":"2014"},{"key":"ref29","article-title":"A New Biology for the 21<sup>st<\/sup> Century","year":"2009"},{"issue":"5940","key":"ref30","doi-asserted-by":"crossref","first-page":"541","DOI":"10.1126\/science.1173876","article-title":"Computing Has Changed Biology\u2014Biology Education Must Catch Up","volume":"325","author":"P Pevzner","year":"2009","journal-title":"Science"},{"issue":"Suppl 3","key":"ref31","doi-asserted-by":"crossref","first-page":"S36","DOI":"10.1186\/1471-2164-10-S3-S36","article-title":"A Proposed Minimum Skill Set for University Graduates to Meet the Informatics Needs and Challenges of the \u201c-omics\u201d Era","volume":"10","author":"T Tan","year":"2009","journal-title":"BMC Genomics"},{"issue":"3","key":"ref32","doi-asserted-by":"crossref","first-page":"e1003496","DOI":"10.1371\/journal.pcbi.1003496","article-title":"Bioinformatics Curriculum Guidelines: Toward a Definition of Core Competencies","volume":"10","author":"L Welch","year":"2014","journal-title":"PLoS Comput Biol"},{"issue":"11","key":"ref33","doi-asserted-by":"crossref","first-page":"e1003897","DOI":"10.1371\/journal.pcbi.1003897","article-title":"Computational Thinking in Life Science Education","volume":"10","author":"A Rubinstein","year":"2014","journal-title":"PLoS Comput Biol"},{"issue":"11","key":"ref34","doi-asserted-by":"crossref","first-page":"e1003896","DOI":"10.1371\/journal.pcbi.1003896","article-title":"Teaching Bioinformatics in Concert","volume":"10","author":"AL Goodman","year":"2014","journal-title":"PLoS Comput Biol"},{"issue":"6","key":"ref35","doi-asserted-by":"crossref","first-page":"1899","DOI":"10.1002\/j.1538-7305.1978.tb02135.x","article-title":"UNIX Time-sharing System","volume":"57","author":"M McIlroy","year":"1978","journal-title":"The Bell System Technical Journal"},{"issue":"3","key":"ref36","doi-asserted-by":"crossref","first-page":"221","DOI":"10.1023\/A:1010085415024","article-title":"Growing a Language","volume":"12","author":"GL Steele","year":"1999","journal-title":"Higher Order Symbolic Computation"},{"issue":"7317","key":"ref37","doi-asserted-by":"crossref","first-page":"753","DOI":"10.1038\/467753a","article-title":"Publish Your Computer Code: It Is Good Enough","volume":"467","author":"N Barnes","year":"2010","journal-title":"Nature"},{"issue":"7","key":"ref38","doi-asserted-by":"crossref","first-page":"e1002598","DOI":"10.1371\/journal.pcbi.1002598","article-title":"A Quick Guide to Software Licensing for the Scientist-Programmer","volume":"8","author":"A Morin","year":"2012","journal-title":"PLoS Comput Biol"},{"key":"ref39","article-title":"Structure and Interpretation of Computer Programs","author":"H Abelson","year":"1996"},{"key":"ref40","article-title":"Introduction to Computing: Explorations in Language, Logic, and Machines","author":"D Evans","year":"2011"},{"key":"ref41","article-title":"The PyMOL Molecular Graphics System"},{"key":"ref42","doi-asserted-by":"crossref","first-page":"33","DOI":"10.1016\/0263-7855(96)00018-5","article-title":"VMD\u2014Visual Molecular Dynamics","volume":"14","author":"W Humphrey","year":"1996","journal-title":"Journal of Molecular Graphics"},{"key":"ref43","doi-asserted-by":"crossref","first-page":"486","DOI":"10.1107\/S0907444910007493","article-title":"Features and Development of Coot","volume":"66","author":"P Emsley","year":"2010","journal-title":"Acta Crystallographica Section D\u2014Biological Crystallography"},{"issue":"8","key":"ref44","doi-asserted-by":"crossref","first-page":"e1000918","DOI":"10.1371\/journal.pcbi.1000918","article-title":"An Introduction to Biomolecular Graphics","volume":"6","author":"C Mura","year":"2010","journal-title":"PLoS Comput Biol"},{"key":"ref45","unstructured":"PBCTools Plugin, Version 2.7;. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"http:\/\/www.ks.uiuc.edu\/Research\/vmd\/plugins\/pbctools\" xlink:type=\"simple\">http:\/\/www.ks.uiuc.edu\/Research\/vmd\/plugins\/pbctools<\/ext-link>."},{"issue":"1","key":"ref46","doi-asserted-by":"crossref","first-page":"82","DOI":"10.1186\/1471-2105-9-82","article-title":"A Comparison of Common Programming Languages Used in Bioinformatics","volume":"9","author":"M Fourment","year":"2008","journal-title":"BMC Bioinformatics"},{"issue":"11","key":"ref47","doi-asserted-by":"crossref","first-page":"1422","DOI":"10.1093\/bioinformatics\/btp163","article-title":"BioPython: Freely Available Python Tools for Computational Molecular Biology and Bioinformatics","volume":"25","author":"PJA Cock","year":"2009","journal-title":"Bioinformatics"},{"issue":"2","key":"ref48","doi-asserted-by":"crossref","first-page":"79","DOI":"10.1002\/(SICI)1096-987X(20000130)21:2<79::AID-JCC1>3.0.CO;2-B","article-title":"The Molecular Modeling Toolkit: A New Approach to Molecular Simulations","volume":"21","author":"K Hinsen","year":"2000","journal-title":"Journal of Computational Chemistry"},{"key":"ref49","first-page":"691","article-title":"Proceedings of the International Conference on Computational Science-Part III. ICCS\u201902","author":"K Hinsen","year":"2002"},{"key":"ref50","article-title":"Introduction to Algorithms","author":"TH Cormen","year":"2009"},{"key":"ref51","article-title":"An Introduction to Bioinformatics Algorithms","author":"NC Jones","year":"2004"},{"key":"ref52","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-642-18552-6","article-title":"Computational Biology: Unix\/Linux, Data Processing and Programming","author":"R W\u00fcnschiers","year":"2004"},{"key":"ref53","article-title":"Bioinformatics Programming Using Python: Practical Programming for Biological Data","author":"ML Model","year":"2009"},{"key":"ref54","article-title":"Bioinformatics Data Skills: Reproducible and Robust Research with Open Source Tools","author":"V Buffalo","year":"2015"},{"key":"ref55","doi-asserted-by":"crossref","DOI":"10.1017\/CBO9781107337510","article-title":"Computing for Biologists: Python Programming and Principles","author":"R Libeskind-Hadas","year":"2014"},{"issue":"11","key":"ref56","doi-asserted-by":"crossref","first-page":"e199","DOI":"10.1371\/journal.pcbi.0030199","article-title":"A Primer on Python for Life Science Researchers","volume":"3","author":"S Bassi","year":"2007","journal-title":"PLoS Comput Biol"},{"issue":"12","key":"ref57","doi-asserted-by":"crossref","first-page":"e1000589","DOI":"10.1371\/journal.pcbi.1000589","article-title":"A Quick Guide for Developing Effective Bioinformatics Programming Skills","volume":"5","author":"JT Dudley","year":"2009","journal-title":"PLoS Comput Biol"},{"issue":"7","key":"ref58","doi-asserted-by":"crossref","first-page":"e1000424","DOI":"10.1371\/journal.pcbi.1000424","article-title":"A Quick Guide to Organizing Computational Biology Projects","volume":"5","author":"WS Noble","year":"2009","journal-title":"PLoS Comput Biol"},{"key":"ref59","unstructured":"Software Carpentry;. Accessed 2016-01-18. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"http:\/\/software-carpentry.org\/\" xlink:type=\"simple\">http:\/\/software-carpentry.org\/<\/ext-link>."},{"key":"ref60","unstructured":"Expressions\u2014Python 3.5.1 documentation; 2016. Accessed 2016-01-18. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"https:\/\/docs.python.org\/3\/reference\/expressions.html#operator-precedence\" xlink:type=\"simple\">https:\/\/docs.python.org\/3\/reference\/expressions.html#operator-precedence<\/ext-link>."},{"key":"ref61","article-title":"Types and Programming Languages","author":"BC Pierce","year":"2002"},{"issue":"3","key":"ref62","doi-asserted-by":"crossref","first-page":"90","DOI":"10.1109\/MCSE.2007.55","article-title":"Matplotlib: A 2D Graphics Environment","volume":"9","author":"JD Hunter","year":"2007","journal-title":"Computing in Science & Engineering"},{"key":"ref63","unstructured":"More Control Flow Tools\u2014Python 3.5.1 documentation; 2016. Accessed 2016-01-18. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"https:\/\/docs.python.org\/3.5\/tutorial\/controlflow.html#keyword-arguments\" xlink:type=\"simple\">https:\/\/docs.python.org\/3.5\/tutorial\/controlflow.html#keyword-arguments<\/ext-link>."},{"key":"ref64","article-title":"Code Complete: A Practical Handbook of Software Construction","author":"S McConnell","year":"2004"},{"key":"ref65","article-title":"Design Patterns: Elements of Reusable Object-oriented Software","author":"E Gamma","year":"1994"},{"key":"ref66","article-title":"Python Programming: An Introduction to Computer Science","author":"J Zelle","year":"2010"},{"issue":"2","key":"ref67","doi-asserted-by":"crossref","first-page":"e1002389","DOI":"10.1371\/journal.pcbi.1002389","article-title":"Noise and Robustness in Phyllotaxis","volume":"8","author":"V Mirabet","year":"2012","journal-title":"PLoS Comput Biol"},{"key":"ref68","doi-asserted-by":"crossref","first-page":"e453","DOI":"10.7717\/peerj.453","article-title":"scikit-image: image processing in Python","volume":"2","author":"S van der Walt","year":"2014","journal-title":"PeerJ"},{"key":"ref69","article-title":"Catalyzing Inquiry at the Interface of Computing and Biology","year":"2005"},{"issue":"3","key":"ref70","doi-asserted-by":"crossref","first-page":"192","DOI":"10.1186\/1479-7364-5-3-192","article-title":"Databases and Resources for Human Small Non-coding RNAs","volume":"5","author":"E Agirre","year":"2011","journal-title":"Human Genomics"},{"issue":"5","key":"ref71","doi-asserted-by":"crossref","first-page":"1239","DOI":"10.1111\/j.1365-2958.2006.05453.x","article-title":"Integration of Omics Data: How Well Does it Work for Bacteria?","volume":"62","author":"SCJ De Keersmaecker","year":"2006","journal-title":"Molecular Microbiology"},{"key":"ref72","doi-asserted-by":"crossref","first-page":"74","DOI":"10.1109\/RBME.2012.2212427","article-title":"Multiscale Integration of -Omic, Imaging, and Clinical Data in Biomedical Informatics","volume":"5","author":"JH Phan","year":"2012","journal-title":"IEEE Reviews in Biomedical Engineering"},{"key":"ref73","unstructured":"Wikipedia. Tree (data structure); 2016. Accessed 2016-01-18. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"https:\/\/en.wikipedia.org\/wiki\/Tree_%28data_structure%29\" xlink:type=\"simple\">https:\/\/en.wikipedia.org\/wiki\/Tree_%28data_structure%29<\/ext-link>."},{"key":"ref74","unstructured":"Scipy. scipy.spatial.KDTree\u2014SciPy v0.14.0 Reference Guide; 2014. Accessed 2016-01-18. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"http:\/\/docs.scipy.org\/doc\/scipy-0.14.0\/reference\/generated\/scipy.spatial.KDTree.html\" xlink:type=\"simple\">http:\/\/docs.scipy.org\/doc\/scipy-0.14.0\/reference\/generated\/scipy.spatial.KDTree.html<\/ext-link>."},{"key":"ref75","unstructured":"Wikipedia. k-d tree; 2016. Accessed 2016-01-18. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"https:\/\/en.wikipedia.org\/wiki\/K-d_tree\" xlink:type=\"simple\">https:\/\/en.wikipedia.org\/wiki\/K-d_tree<\/ext-link>."},{"key":"ref76","unstructured":"Wikipedia. Graph (abstract data type); 2015. Accessed 2016-01-18. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"https:\/\/en.wikipedia.org\/wiki\/Graph_%28abstract_data_type%29\" xlink:type=\"simple\">https:\/\/en.wikipedia.org\/wiki\/Graph_%28abstract_data_type%29<\/ext-link>."},{"key":"ref77","first-page":"11","article-title":"Proceedings of the 7th Python in Science Conference (SciPy2008)","author":"AA Hagberg","year":"2008"},{"key":"ref78","first-page":"743","article-title":"PyBrain","volume":"11","year":"2010","journal-title":"Journal of Machine Learning Research"},{"issue":"7","key":"ref79","doi-asserted-by":"crossref","first-page":"422","DOI":"10.1145\/362686.362692","article-title":"Space\/Time Trade-offs in Hash Coding with Allowable Errors","volume":"13","author":"BH Bloom","year":"1970","journal-title":"Commun ACM"},{"key":"ref80","unstructured":"Moitzi M. bintrees 2.0.2; 2016. Accessed 2016-01-18. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"https:\/\/pypi.python.org\/pypi\/bintrees\/2.0.2\" xlink:type=\"simple\">https:\/\/pypi.python.org\/pypi\/bintrees\/2.0.2<\/ext-link>."},{"issue":"3","key":"ref81","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/2501620.2501623","article-title":"BTRFS: The Linux B-Tree Filesystem","volume":"9","author":"O Rodeh","year":"2013","journal-title":"Trans Storage"},{"key":"ref82","article-title":"Prentice-Hall Series in Automatic Computation","author":"N Wirth","year":"1976"},{"key":"ref83","article-title":"An Introduction to Object-Oriented Programming","author":"T Budd","year":"2001"},{"key":"ref84","article-title":"Python 3 Object Oriented Programming","author":"D Phillips","year":"2010"},{"issue":"2","key":"ref85","doi-asserted-by":"crossref","first-page":"424","DOI":"10.1107\/S0021889811004481","article-title":"Abstractions, Algorithms and Data Structures for Structural Bioinformatics in PyCogent","volume":"44","author":"M Cie\u015blik","year":"2011","journal-title":"Journal of Applied Crystallography"},{"key":"ref86","unstructured":"The Self Variable in Python Explained;. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"http:\/\/pythontips.com\/2013\/08\/07\/the-self-variable-in-python-explained\" xlink:type=\"simple\">http:\/\/pythontips.com\/2013\/08\/07\/the-self-variable-in-python-explained<\/ext-link>."},{"key":"ref87","unstructured":"Why Explicit Self Has to Stay;. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"http:\/\/neopythonic.blogspot.com\/2008\/10\/why-explicit-self-has-to-stay.html\" xlink:type=\"simple\">http:\/\/neopythonic.blogspot.com\/2008\/10\/why-explicit-self-has-to-stay.html<\/ext-link>."},{"issue":"1","key":"ref88","doi-asserted-by":"crossref","first-page":"31","DOI":"10.1021\/ci00057a005","article-title":"SMILES: A Chemical Language and Information System. 1. Introduction to Methodology and Encoding Rules","volume":"28","author":"D Weininger","year":"1988","journal-title":"Journal of Chemical Information and Modeling"},{"issue":"3","key":"ref89","doi-asserted-by":"crossref","first-page":"21","DOI":"10.1109\/MCSE.2007.53","article-title":"IPython: a System for Interactive Scientific Computing","volume":"9","author":"F P\u00e9rez","year":"2007","journal-title":"Computing in Science and Engineering"},{"key":"ref90","unstructured":"Python Data Analysis Library;. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"http:\/\/pandas.pydata.org\/\" xlink:type=\"simple\">http:\/\/pandas.pydata.org\/<\/ext-link>."},{"key":"ref91","article-title":"Mastering Regular Expressions","author":"JEF Friedl","year":"2006"},{"key":"ref92","unstructured":"Regexes on Stack Overflow;. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"http:\/\/stackoverflow.com\/tags\/regex\/info\" xlink:type=\"simple\">http:\/\/stackoverflow.com\/tags\/regex\/info<\/ext-link>."},{"key":"ref93","unstructured":"Regex Tutorials, Examples and Reference;. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"http:\/\/www.regular-expressions.info\" xlink:type=\"simple\">http:\/\/www.regular-expressions.info<\/ext-link>."},{"key":"ref94","doi-asserted-by":"crossref","first-page":"131","DOI":"10.1016\/j.gde.2014.07.003","article-title":"Trinucleotide Expansion in Disease: Why Is There a Length Threshold?","volume":"26","author":"DY Lee","year":"2014","journal-title":"Current Opinion in Genetics & Development"},{"issue":"6","key":"ref95","doi-asserted-by":"crossref","first-page":"404","DOI":"10.1021\/ar010034r","article-title":"Molecular Dynamics Applied to X-ray Structure Refinement","volume":"35","author":"AT Brunger","year":"2002","journal-title":"Accounts of Chemical Research"},{"key":"ref96","article-title":"Texts in Computational Science and Engineering","author":"HP Langtangen","year":"2014"},{"key":"ref97","unstructured":"Jones E, Oliphant T, Peterson P, et al. SciPy: Open-source Scientific Tools for Python; 2001-. [Online; accessed 2015-06-30]. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"http:\/\/www.scipy.org\/\" xlink:type=\"simple\">http:\/\/www.scipy.org\/<\/ext-link>."},{"key":"ref98","unstructured":"Scientific Computing Tools for Python;. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"http:\/\/www.scipy.org\/about.html\" xlink:type=\"simple\">http:\/\/www.scipy.org\/about.html<\/ext-link>."},{"issue":"2","key":"ref99","doi-asserted-by":"crossref","first-page":"22","DOI":"10.1109\/MCSE.2011.37","article-title":"The NumPy Array: A Structure for Efficient Numerical Computation","volume":"13","author":"S van der Walt","year":"2011","journal-title":"Computing in Science & Engineering"},{"key":"ref100","unstructured":"scikit-learn: machine learning in Python;. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"http:\/\/scikit-learn.org\/\" xlink:type=\"simple\">http:\/\/scikit-learn.org\/<\/ext-link>."},{"issue":"13","key":"ref101","first-page":"2171","article-title":"DEAP: Evolutionary Algorithms Made Easy","author":"FA Fortin","year":"2012","journal-title":"Journal of Machine Learning Research"},{"key":"ref102","unstructured":"PyPI: The Python Package Index;. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"http:\/\/pypi.python.org\" xlink:type=\"simple\">http:\/\/pypi.python.org<\/ext-link>."},{"issue":"c02","key":"ref103","article-title":"PypeR, A Python Package for Using R in Python","volume":"35","author":"XQ Xia","year":"2010","journal-title":"Journal of Statistical Software"},{"key":"ref104","unstructured":"rpy2, R in Python;. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"http:\/\/rpy.sourceforge.net\" xlink:type=\"simple\">http:\/\/rpy.sourceforge.net<\/ext-link>."},{"issue":"2","key":"ref105","doi-asserted-by":"crossref","first-page":"31","DOI":"10.1109\/MCSE.2010.118","article-title":"Cython: The Best of Both Worlds","volume":"13","author":"S Behnel","year":"2011","journal-title":"Computing in Science & Engineering"},{"key":"ref106","unstructured":"Cython: C-extensions for Python;. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"http:\/\/cython.org\" xlink:type=\"simple\">http:\/\/cython.org<\/ext-link>."},{"key":"ref107","unstructured":"Open Source Initiative: Licenses &amp; Standards;. Available from: <ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"http:\/\/opensource.org\/licenses\" xlink:type=\"simple\">http:\/\/opensource.org\/licenses<\/ext-link>."},{"issue":"6078","key":"ref108","doi-asserted-by":"crossref","first-page":"159","DOI":"10.1126\/science.1218263","article-title":"Shining Light into Black Boxes","volume":"336","author":"A Morin","year":"2012","journal-title":"Science"},{"issue":"1","key":"ref109","doi-asserted-by":"crossref","first-page":"e1004668","DOI":"10.1371\/journal.pcbi.1004668","article-title":"A Quick Introduction to Version Control with Git and GitHub","volume":"12","author":"JD Blischak","year":"2016","journal-title":"PLoS Comput Biol"}],"container-title":["PLOS Computational Biology"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/dx.plos.org\/10.1371\/journal.pcbi.1004867","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,9,9]],"date-time":"2019-09-09T10:27:53Z","timestamp":1568024873000},"score":1,"resource":{"primary":{"URL":"https:\/\/dx.plos.org\/10.1371\/journal.pcbi.1004867"}},"subtitle":[],"editor":[{"given":"Francis","family":"Ouellette","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"editor"}]}],"short-title":[],"issued":{"date-parts":[[2016,6,7]]},"references-count":109,"journal-issue":{"issue":"6","published-online":{"date-parts":[[2016,6,7]]}},"URL":"https:\/\/doi.org\/10.1371\/journal.pcbi.1004867","relation":{},"ISSN":["1553-7358"],"issn-type":[{"value":"1553-7358","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,6,7]]}}}