Download Latest Version isocalc_gui.py (35.1 kB)
Email in envelope

Get an email when there's a new version of pyisocalc

Home
Name Modified Size InfoDownloads / 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)

Source: README.md, updated 2026-08-25