IsoSpike with Iolite 2 and Iolite 3

IsoSpike is compatible with both Iolite 2 and Iolite 3, and remains available (and widely used) on both. These instructions will help you get started.

Requirements

Installation

You can download the files in a zip archive from GitHub or clone the git repository using

git clone https://github.com/thisisjohnc/isospike isospike/ && cd isospike/IsoSpike_for_Iolite4

To install IsoSpike for Iolite 2 or Iolite 3, unpack the .zip file, and locate the folder /IsoSpike_Iolite2_Iolite3. The file listing is as follows:

IsoSpike_Iolite2_Iolite3
├── IsoSpike
    ├── DSsettings 
        └── README.txt  ## Contains example template for DSsettings files. 
    ├── IsoSpike.ipf ## the actual IsoSpike code
    ├── PeriodicMasses.ibw      ## An Igor binary containing the table of isotopes data
    ├── PeriodicTable.ipf       ## Another add-on I built to display an interactive periodic table. This is a dependency for IsoSpike, and is used in automatically generating DSsettings files. It's also very useful by itself -- try typing periodictable() in the Igor command window.
    └── PeriodicTableInfo.ibw   ## An Igor binary containing the periodic table data

Copy the folder /IsoSpike to the Iolite/Add ons folder, e.g.,

iolite v2.5 # Iolite directory structure
├── Add ons
    └── IsoSpike_ ## Location of IsoSpike and its dependencies

and restart Igor Pro. On restart, all of the necessary procedure files will be loaded.

Set up

This guide assumes you have a basic familiarity with Iolite. Recipes for processing data in Iolite are called Data Reduction Schemes (DRS). The DRS does the basic preliminary steps, e.g., baseline subtractions, interference corrections, and calculation of raw (uncorrected) ratios.

DRS setup

The only requirements for the DRS is that you calculate the three raw ratios that are the inputs to IsoSpike. If you’re already using Iolite, you’re probably doing that already. If you need some guidance, you can take a look at the example files provided below.

DS_settings

The parameters required for the double-spike calculations (the double-spike composition, mass ratios, etc.) are saved in a “DS_settings” file. DS_settings files are stored in plain text within the DS_settings folder, which is inside the IsoSpike folder. You can have as many separate DS_settings files as you like, and you can specify a default in your DRS.

iolite v2.5 # relevant directory structure
├── Add ons
    └── IsoSpike ## Location of IsoSpike and its dependencies
        └── DSsettings ## Default location of files with double-spike parameters
├── Data Reduction Schemes  ## Location of DRS files.
└── Standards   ## Location of standards files; includes a template for adding standards

When running IsoSpike, you will have an option to go through a guided process to create a DS settings file. If you have already made and calibrated a double-spike, getting it set up to work in IsoSpike should be a snap.

Usage

Typically, IsoSpike is called from within your DRS using the command IsoSpikeStart().

Running IsoSpike will bring up a dialog box with options that for getting the DS_settings parameters:

IsoSpike options

The current DS_settings file is automatically set to your last used file, and can be assigned in your DRS (see ‘Advanced options’ below). You can also choose to load another file from your DS_settings folder, or create a new one. You will also notice a checkbox with an option to review the double-spike parameters before you continue with the calculations, which is useful under some circumstances.

Workflow example

The first part of processing double-spike data is the same as with any other MC-ICPMS data. First, load in your data files using Iolite’s ‘Import Data’ function.

Iolite import button

Next, select integrations for your baselines, standards and samples. This can be done easily using Iolite’s ‘Automatic Integrations’ window. You can also choose different types of splines to fit to your baselines and standard data.

Iolite integration window

Then select your DRS, which should already be set up to process baselines and raw ratios (and any other intermediate processing you would like to do), and then run IsoSpikeStart() either from the Igor Pro command window or by including that command in your DRS. You will then select where to get your DS_settings, and IsoSpike will then calculate double-spike corrected ratios. If you like, you can also add more functions to your DRS after IsoSpike, such as internally normalising to a standard. Once you have double-spike corrected ratios, you can use all of the visualisation features of Iolite to view and interrogate your data.

Iolite report window

Unspiked measurements

The brief description here is tailored to non-radiogenic isotope systems where only mass-dependent isotopic fractionation is being considered, and therefore the composition of a standard is taken as the ‘unspiked’ composition (for more information on the double-spike calculations, see Rudge et al. (2009) Chemical Geology 265, 420–431). IsoSpike was written to also be applicable to any double-spike system, and situations involving an unspiked run can be easily accommodated although it requires a couple of additional steps. Because IsoSpike processes data on a time-slice by time-slice basis, we need to make the ratios measured in your unspiked sample exist at the same time as your spiked measurement, which can be achieved using splines in Iolite. To do this, you need to do the following:

  1. Since we need to fit splines to unspiked measurements, we will identify them to Iolite as standards using a dummy standard type. You can download the dummy standard here and put it in the /Standards folder in your Iolite folder.

  2. add a few lines of code to your DRS to produce the splines. A template for this code is given here, but you will need to modify it to suit your setup and include additional ratios. Text preceded by double slashes will appear as comments in the Igor Pro code in your DRS.

// these lines should be repeated for each ratio, so duplicate three times and modify ratio names
// make waves to hold unspiked channels
Wave UnspikedRatio1 = $MakeIoliteWave("CurrentDRS","UnspikedRatio1",n=NoOfPoints)
// make splines for each channel and interpolate the spline values on to the IndexTime wave
Wave stdspline_UnspikedRatio1 = $InterpSplineOntoIndexTime("RawRatio1","unspiked")
// unspiked is the name of the dummy standard we added to Iolite.
// now set our unspiked channels equal to the spline.
UnspikedRatio1 = stdspline_UnspikedRatio1
// Add these to the list of intermediate channels so we can look at them in Iolite, now ready to use in the DS code
ListOfIntermediateChannels+="UnspikedRatio1;"
//add others ratios inside the quote marks, separated by semicolons, including a semicolon at the end.
3) Add your unspiked measurements to the ‘unspiked’ integration, and if you’re measuring different unspiked samples you’ll want to change the spline type to ‘StepForward’ or ‘StepBackward’ depending on whether you measured the unspiked sample before or after the spiked sample. When you set up your DS_settings file you will need to select “use measured value” option and select the waves like UnspikedRatio1 for the unspiked ratio.

These setup steps only need to be completed once, and once you have made your DS_settings file there is only one extra step over using a standard for the unspiked composition, which is adding the unspiked measurements to the ‘unspiked’ integration.

Advanced options

There are a few extra parameters for IsoSpike that you can predefine in your DRS which can speed things up.

Since you probably use the same DS_settings file with any particular DRS, you can specify the default DS_settings file in the Global Strings and Variables section at the start of your DRS. Then, when you run IsoSpike in a new experiment the chosen DS_settings file will already be selected, although you can still change it in the normal way. To do that, put the Global String ‘DSsettingsFilename’ at the top of your DRS file, as follows:

GlobalString DSsettingsFilename ="NameOfYourDSsettingsFile.txt" and replace NameOfYourDSsettingsFile with the name of your DS_settings file within your DS_settings folder. The system is pretty tolerant, and if your predefined file can’t be found it will just ask you to locate it.

For any people who use the same settings every time and hate to be bugged by dialog boxes, it is also possible to turn the IsoSpike menu box off by adding the Global Variable DS_noninteractiveflag as follows:

IsoSpike doesn’t care if you don’t use these. Any global variables you set can be accessed and modified by clicking the ‘Edit Settings’ button under the DRS drop down menu in the Iolite Main Control Window.

Example files

If you would like to test out IsoSpike or need a template for developing your DRS, some example files are included in the download:

IsoSpike_Iolite2_Iolite3
├── IsoSpike
└── IsoSpike_example ## THESE ARE THE EXAMPLE FILES
    ├── Beta_Pt_DS.ipf ## example Iolite DRS
    ├── DS_Settings_29Oct2012_VUW-IRMM_196198DS.txt ## example DSsettings file
    ├── IRMM010.txt ## example standard file for Iolite
    ├── IsoSpike_example-Instructions ## some instructions for using the example
    └── IsoSpike_example.pxp ## the packed experiment file containing the example data -- this is what you actually open in Iolite once all the files are in place.

To use these, move the files from /Add ons/IsoSpike/Isospike_example files to their required locations.

iolite v2.5  # wherever your Iolite files are stored
├── Add ons
    └── IsoSpike  ## Unpack IsoSpike_example.zip here
        └── DSsettings ## DS_Settings_29Oct2012_VUW-IRMM_196198DS.txt goes here
        └── IsoSpike_example files  ## IsoSpike_example.pxp will stay here
├── Data Reduction Schemes  ## Beta_Pt_DS.ipf goes here
└── Standards   ## IRMM-010.txt goes here

With those in place, open the IsoSpike_example.pxp file and you can start trying out IsoSpike. The included DRS does all of the necessary baseline subtraction and calculation of raw ratios, so you can use it as a template to get you started. The necessary integrations have also been pre-defined, so once you open the experiment, all you need to do to see IsoSpike in action is select Beta_Pt_DS from the Data Reduction Schemes drop-down menu.