Programming: Pick up Python
- #Python
Howe does not have a degree in computer science, nor does she have years of formal training. She had a PhD in environmental engineering and expertise in running enzyme assays when she joined the laboratory of Titus Brown at Michigan State University in East Lansing. Brown specializes in bioinformatics and uses computation to extract meaning from genomic data sets, and Howe had to get up to speed on the computational side. Brown's recommendation: learn Python.
...
Scientific programmers, irrespective of their discipline, routinely use a small set of core packages: NumPy (mathematical arrays), SciPy (linear algebra, differential equations, signal processing and more), SymPy (symbolic mathematics), matplotlib (graph plotting) and Pandas (data analysis). Another popular tool, Cython, addresses Python's relatively slow execution speed. Cython optimizes certain aspects of Python code, such as 'for' loops (used to instruct a program to repeatedly run a specific block of code) that are notoriously slow, essentially by converting them into C. “You can get speed-ups that are up to 1,000 times faster than standard Python,” says Paul Nation, a theoretical physicist at Korea University in Seoul.
The IPython Notebook is another popular package — Howe terms it “a coder's lab notebook” — that allows users to interleave data, code and explanatory text in a single browser-based page, rather than in separate files (see Nature 515, 151–152; 2014 ).
Author information
Authors and Affiliations
- Jeffrey M. Perkel is a writer based in Pocatello, Idaho.,
- Jeffrey M. Perkel
Reference: Programming: Pick up Python | Nature