| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| v0.9 | 2026-08-25 | ||
| v0.8b | 2013-02-04 | ||
| theory | 2013-01-20 | ||
| README.md | 2026-08-25 | 2.4 kB | |
| Totals: 4 Items | 2.4 kB | 0 |
PyIsoCalc — Isotopic Pattern Calculator
Calculates isotopic distributions and simulates mass spectra for molecules specified by chemical formula. Outputs a stick spectrum and Gaussian-broadened envelope via a graphical interface.
Note: Tested on Linux (Debian) and Windows 10. Should work on any platform with a working Python 3 environment and tkinter.
Dependencies
- Python 3.6+
- numpy
- matplotlib
- tkinter (usually bundled with Python)
Setting up the Python environment
The simplest approach on any platform is to install Python 3 via Anaconda or Miniconda, which bundles numpy and matplotlib: https://www.anaconda.com/download
Linux (Debian/Ubuntu):
sudo apt-get install python3 python3-numpy python3-matplotlib python3-tk
Windows and Mac:
Download Python 3 from https://www.python.org, then install the dependencies:
pip install numpy matplotlib
Tkinter is bundled with the standard Python installer on Windows and Mac. On some Linux distributions it is a separate package (python3-tk).
Installation
Download isocalc_gui.py. No installation is required — run it directly:
python3 isocalc_gui.py
On Linux you can make it executable and move it somewhere convenient:
chmod +x isocalc_gui.py
sudo mv isocalc_gui.py /usr/local/bin/isocalc
Usage
Enter a chemical formula in the Formula field and press Calculate or Return. Formula input is case-insensitive (w6o19 and W6O19 are equivalent). Parentheses are supported, e.g. Ca(OH)2.
The charge is estimated automatically from tabulated oxidation states, but this will be wrong for many real molecules — use the Charge field to override it.
Adjust the Broadening (σ) value to simulate your instrument's resolving power. The envelope updates in real time as you change it.
Plot interaction
| Action | Effect |
|---|---|
| Left-click drag | Rubber-band zoom (x axis only) |
| Right-click drag | Pan |
| Scroll wheel | Zoom in/out |
| +/− buttons | Zoom in/out (touchscreen fallback) |
| Reset | Return to full view |
Saving output
Click Save to write a tab-separated file containing the peak list and Gaussian envelope.
Example formulas
| Formula | Charge |
|---|---|
| W6O19 | -2 |
| Mo6O19 | -2 |
| Nb6O19 | -8 |
| Fe3O(CH3COO)6 | +1 |
License
GNU General Public License version 3.0 (GPLv3)