An Introduction to Programming for Bioscientists: A Python-based Primer

05/18/2016
by   Berk Ekmekci, et al.
0

Computing has revolutionized the biological sciences over the past several decades, such that virtually all contemporary research in the biosciences utilizes computer programs. The computational advances have come on many fronts, spurred by fundamental developments in hardware, software, and algorithms. These advances have influenced, and even engendered, a phenomenal array of bioscience fields, including molecular evolution and bioinformatics; genome-, proteome-, transcriptome- and metabolome-wide experimental studies; structural genomics; and atomistic simulations of cellular-scale molecular assemblies as large as ribosomes and intact viruses. In short, much of post-genomic biology is increasingly becoming a form of computational biology. The ability to design and write computer programs is among the most indispensable skills that a modern researcher can cultivate. Python has become a popular programming language in the biosciences, largely because (i) its straightforward semantics and clean syntax make it a readily accessible first language; (ii) it is expressive and well-suited to object-oriented programming, as well as other modern paradigms; and (iii) the many available libraries and third-party toolkits extend the functionality of the core language into virtually every biological domain (sequence and structure analyses, phylogenomics, workflow management systems, etc.). This primer offers a basic introduction to coding, via Python, and it includes concrete examples and exercises to illustrate the language's usage and capabilities; the main text culminates with a final project in structural bioinformatics. A suite of Supplemental Chapters is also provided. Starting with basic concepts, such as that of a 'variable', the Chapters methodically advance the reader to the point of writing a graphical user interface to compute the Hamming distance between two DNA sequences.

READ FULL TEXT
research
08/05/2016

The BioDynaMo Project: a platform for computer simulations of biological dynamics

This paper is a brief update on developments in the BioDynaMo project, a...
research
06/18/2020

Array Programming with NumPy

Array programming provides a powerful, compact, expressive syntax for ac...
research
05/24/2019

Phoenix – The Arabic Object-Oriented Programming Language

A computer program is a set of electronic instructions executed from wit...
research
12/06/2018

Yaps: Python Frontend to Stan

Stan is a popular probabilistic programming language with a self-contain...
research
03/28/2022

Does Coding in Pythonic Zen Peak Performance? Preliminary Experiments of Nine Pythonic Idioms at Scale

In the field of data science, and for academics in general, the Python p...
research
12/31/2019

Introduction to Rank-polymorphic Programming in Remora (Draft)

Remora is a higher-order, rank-polymorphic array-processing programming ...
research
09/28/2018

Ten Quick Tips for Using a Raspberry Pi

Much of biology (and, indeed, all of science) is fast becoming computati...

Please sign up or login with your details

Forgot password? Click here to reset