Skip to main content

Calculate mass interference and standard isotopic ratios for mass spectrometry.

Project description

icon.svg

Interference calculator

Interference calculator calculates all molecules that can be formed (the interferences) from a combination of a list of atoms (sample composition), given a target mass and range. The calculation considers all isotopes of the sample atoms and build molecules up to a given size. The results are displayed in both a table and a mass spectrum.

The program can also display the standard ratios of the isotopes for any given element. The results include the natural abundance, standard ratio, inverse ratio, and the standard material in which the isotopic ratios where measured.

Installation

To use interference_calculator, first you need to have Python installed. Download Python here. Once Python is installed, open a terminal window (command window on Windows) and type:

$ pip install interference_calculator

on the command line to install interference calculator.

Running

To start the program, simply run the ui.py script.

$ python interference_calculator/ui.py

Use in IPython

Interference_calculator can also be used from an interactive interpreter or in another Python script. For example, to calculate the mass interference around iron (Fe, mass 56), given a sample that consists of Si, Ca, O, and H, use it like this.

>>> import interference_calculator as ic
>>> ic.interference(['Ca', 'O', 'H', 'Si'], 'Fe')
         molecule  charge  mass/charge  mass/charge diff          MRP  \
0          O Ca -       1    55.958054          0.023118  2419.529988
1           Si2 -       1    55.954402          0.019466  2873.520086
2        18O3 D -       1    56.012129          0.077193   724.609657
3       18O3 H2 -       1    56.013677          0.078741   710.361726
4  17O 18O2 H D -       1    56.019926          0.084990   658.132608
5       D4 48Ca -       1    56.009478          0.074542   750.376520
6     O 18O2 D2 -       1    56.021986          0.087050   642.561143
7   17O2 18O D2 -       1    56.026175          0.091239   613.057735
8            Fe -       1    55.934936          0.000000          inf

    probability  target
0  9.671034e-01   False
1  8.506314e-01   False
2  7.556442e-15   False
3  3.999731e-06   False
4  1.103164e-13   False
5  1.100126e-18   False
6  3.721482e-09   False
7  1.103556e-16   False
8  9.175400e-01    True

>>> ic.standard_ratio(['Ca', 'O'])
   isotope       mass  abundance     ratio  inverse ratio      standard
13     16O  15.994915   0.997621  1.000000       1.000000         VSMOW
14     17O  16.999132   0.000379  0.000380    2632.244327         VSMOW
15     18O  17.999160   0.002000  0.002005     498.710558         VSMOW
41    40Ca  39.962591   0.969410  1.000000       1.000000  NIST SRM 915
42    42Ca  41.958618   0.006470  0.006674     149.831530  NIST SRM 915
43    43Ca  42.958766   0.001350  0.001393     718.081481  NIST SRM 915
44    44Ca  43.955482   0.020860  0.021518      46.472196  NIST SRM 915
45    46Ca  45.953690   0.000040  0.000041   24235.250000  NIST SRM 915
46    48Ca  47.952523   0.001870  0.001929     518.401070  NIST SRM 915

There is also a class Molecule, that can parse strings with molecular formulas. After parsing, it holds information about the molecule, such as mass, elements, isotopes, and relative abundance. Molecule.formula() can be used to typeset the molecular formula in various ways.:

>>> m = ic.Molecule('C2 15N O3 2+')
>>> m.elements
['N', 'C', 'O']

>>> m.isotopes
['15N', '12C', '16O']

>>> m.masses
[15.000108899, 12.0, 15.99491462]

>>> m.mass
86.985949918818

>>> m.abundances
[0.003663, 0.988922, 0.9976206]

>>> m.abundance
1.317443808955884e-05

>>> m.formula(style='latex')
'$\\mathrm{{}^{15}{N}{C}_{2}{O}_{3}{}^{2-}}$'

See the docstrings for detailed help and options.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

interference_calculator-1.0.0.tar.gz (30.0 kB view details)

Uploaded Source

Built Distribution

interference_calculator-1.0.0-py2.py3-none-any.whl (33.5 kB view details)

Uploaded Python 2Python 3

File details

Details for the file interference_calculator-1.0.0.tar.gz.

File metadata

File hashes

Hashes for interference_calculator-1.0.0.tar.gz
Algorithm Hash digest
SHA256 6b00d493f6b0727a03b1be64e097915bfe6cdc35914cb2ea60b28ce7bfc8001a
MD5 af8965ce11d4ffdfb9f14fcdd17276a6
BLAKE2b-256 7dfc5194ef85a01c3adaa66c9d1c6c7697831e3f5099d0851e6f8a7bd1acdef0

See more details on using hashes here.

File details

Details for the file interference_calculator-1.0.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for interference_calculator-1.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 96543f28d9afa52c6f7d2450710975c95253c30a2d5912b4588fd33fb3584f99
MD5 d4b2e3d75c611660b8f99ff5db0deee9
BLAKE2b-256 cc5cf3e5b604ae9654f5d3cda830ff6b6ecdd8716031e2c42ae0ab68ee817332

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page