2. Foundational concepts and skills for computational biology¶
- 2.1. Typing
- 2.2. Software engineering
- 2.2.1. An introduction to Python
- 2.2.2. Numerical computing with
NumPy
- 2.2.3. Plotting data with
matplotlib
- 2.2.4. Developing database, command line, and web-based programs with Python
- 2.2.5. Writing code for Python 2 and 3
- 2.2.6. Organizing Python code into functions, classes, and modules
- 2.2.7. Structuring Python projects
- 2.2.8. Revisioning code with Git, GitHub, and Meld
- 2.2.9. Testing Python code with unittest, pytest, and Coverage
- 2.2.10. Debugging Python code using the PyCharm debugger
- 2.2.11. Documenting Python code with Sphinx
- 2.2.12. Continuously testing Python code with CircleCI, Coveralls, Code Climate, and the Karr Lab’s dashboards
- 2.2.13. Distributing Python software with GitHub, PyPI, Docker Hub, and Read The Docs
- 2.2.14. Recommended Python development tools
- 2.2.15. Comparison between Python and other languages
- 2.3. Linux
- 2.4. Version and sharing data with Quilt
- 2.5. Scientific communication: papers, presentations, graphics