
Scientific Computing for Chemists with Python
No ratings
Charles J. Weiss, Augustana University
Copyright Year:
Publisher: Charles J. Weiss
Language: English
Formats Available
Conditions of Use
Attribution-NonCommercial-ShareAlike
CC BY-NC-SA
Table of Contents
- Chapter 0: Python & Jupyter Notebooks
- Chapter 1: Basic Python
- Chapter 2: Intermediate Python
- Chapter 3: Plotting with Matplotlib
- Chapter 4: NumPy
- Chapter 5: Pandas
- Chapter 6: Signal & Noise
- Chapter 7: Image Processing & Analysis
- Chapter 8: Mathematics
- Chapter 9: Simulations
- Chapter 10: Plotting with Seaborn
- Chapter 11: Plotting with Altair
- Chapter 12: Nuclear Magnetic Resonance with nmrglue & nmrsim
- Chapter 13: Machine Learning using Scikit-Learn
- Chapter 14: Optimization & Root Finding
- Chapter 15: Cheminformatics with RDKit
- Chapter 16: Bioinformatics with Biopython & Nglview
- Chapter 17: Command Line & Spyder
- Appendix 0: Ipython Widgets
- Appendix 1: Remote Requests
- Appendix 2: Visualizing Atomic Orbitals
- Appendix 3: Uncertainty Propagation
- Appendix 4: Regular Expressions
- Index
About the Book
This book serves as an introduction to coding for chemists. The tools employed in this book are the powerful and popular combination of Jupyter notebooks and the Python programming language. No background beyond first-year college chemistry and occasionally some very basic spectroscopy (for advanced chapters) is assumed for most of this book. This book starts with a brief primer on Jupyter notebooks in chapter 0 and computer programming with Python in chapters 1 and 2. If you already have a background in these tools, feel free to skip ahead. The rest of the book dives into applications of Python to solving chemical problems. Python and Jupyter were chosen for a variety of reasons, including that they are:
- Relatively easy to use and learn
- Powerful and well-suited for solving chemical problems
- Free, open-source software
- Cross-platform (e.g., runs on Windows, macOS, and Linux)
- Supplemented with numerous, specialized libraries for handling specific types of data or problems (e.g., machine learning)
- Supported by a helpful and welcoming community
Learning to use a number of popular Python scientific libraries to solve chemical problems is one of the themes of this book. A Python library can be thought of as a tool pack with premade functions for performing common tasks in scientific data processing, analysis, and visualization. For example, the matplotlib library provides a variety of functions for creating a wide range of plots, while the scikit-learn library contains functions and resources for machine learning.
About the Contributors
Author
Dr. Charlie Weiss' interests span the areas of organic and inorganic chemistry, along with scientific computing. He earned a bachelor's degree from Carleton College, Ph.D. from Northwestern University and completed his postdoctoral work in the electrocatalysis group at Pacific Northwest National Laboratory. His research has historically centered around the development of organometallic complexes and catalysts for organic reactions, but has more recently moved into digital data analysis and visualization using Python and Jupyter notebooks. His GitHub page is at github.com/weisscharlesj.
Accessibility Information
The book includes an index with links, cross-linking, links to external resources, a chapter navigation bar on the left (html verion), and an section navigation bar on the right (html version). The html version includes one-click copying of Python code.Ancillaries
Homework
- Charles J. Weiss (by request)