- A GC equipped with FID/TCD is used to quantify gaseous products from a reaction
- A GC equipped with FID/MS is used to quantify liquid products from a reaction
- A GC equipped with FID/MS is used to label both gas and liquid reaction products
Relative response factors (or simply "response factors" or RFs from now on) are used to get quantitative data from liquid FID results. These are defined as:
Where
Quantitative data is then determined by getting a total volume of gas collected by dividing the amount of CO2 (the internal standard) injected by the vol.% CO2. This total volume is then used alongside volume percents for each species of interest and the ideal gas law to determine the quantity of each product. Again, RFs are determined using external calibration gas injections. Gas FID integration is quantified similarly, except the total volume of gas determined in the TCD step is used since CO2 does not show up separately in the FID chromatogram.
Install ChromaQuant by running the following command in the terminal/command prompt:pip install chromaquant
This should install ChromaQuant along with its dependencies. There are several subpackage files used in both manual and automatic analysis that can be imported directly. To start the GUI for automated quantification, run the following command:
chroma-ui
or
python -m chromaquant
Figure 1: ChromaQuant's analytical workflow
File Name | Description |
---|---|
[Sample]_[Injection]_LQ1_FID_SPEC | Sample's FID spectra acquired from liquid sample injection |
[Sample]_[Injection]_LQ1_MS_SPEC | Sample's MS spectra acquired from liquid sample injection |
[Sample]_[Injection]_LQ1_FID_CSO | Sample's FID integration values acquired from liquid sample injection |
[Sample]_[Injection]_LQ1_UA_UPP | Sample's FID spectra acquired from liquid sample injection |
[Sample]_[Injection]_GS1_MS_SPEC | Sample's MS spectra acquired from gas sample injection |
[Sample]_[Injection]_GS2_FID_SPEC | Sample's FID spectra acquired from gas sample injection |
[Sample]_[Injection]_GS2_TCD_SPEC | Sample's TCD spectra acquired from gas sample injection |
[Sample]_[Injection]_GS2_TCD_CSO | Sample's FID spectra acquired from liquid sample injection |
[Sample]_[Injection]_GS1_UA_UPP | Sample's FID spectra acquired from liquid sample injection |
[Sample]_INFO.json | JSON containing necessary information about the sample |
The FID, MS, and TCD spectra must all be .csv files with no headers and two columns. The first column (again, unlabeled) must represent retention times (in minutes) and the second column must represent the signal at each row's retention time.
The UA_UPP files must be .csv files that contain the columns "Component RT", "Compound Name", "Formula", and "Match Factor", in no particular order. These files should contain a list of all compounds identified in the MS spectra alongside their MS retention time (min), formula (standard molecular formula format, numbers not expressed as subscripts), and the match factor assigned by the MS interpretation software library search (0-100).
The CSO files must be .csv files that contain the columns "Signal Name", "RT", "Area", and "Height", in no particular order. The LQ1_FID_CSO file should contain a list of all integrated peaks in the FID spectra from liquids analysis, including these peaks retention times, area, and height. The GS2_TCD_CSO file should contain a list of all integrated peaks in the FID and TCD spectra from gas analysis. In the case of LQ1, the signal name should be FID1A for every peak; for GS2, the signal name should be FID1A for the FID peaks and TCD2B for the TCD peaks. This program uses the signal name to distinguish between FID and TCD results for the gas phase analysis – there aren't separate files for these two lists of integration values.
The INFO file must be a .json file containing the following information in the following format. A file version of this .json data is found under the root directory as "empty_INFO.json".
{
"Sample Name": "[Sample]_[Injection]",
"Reactor Name": "[Reactor name]",
"Catalyst Type": "[Catalyst name, be as descriptive as possible]",
"Catalyst Amount (mg)": "[Catalyst added to reactor, sum masses if more than one catalyst]",
"Plastic Type": "[Name of substrate added, be as descriptive as possible]",
"Plastic Amount (mg)": "[Mass of substrate added]",
"Reaction Temperature (C)": "[Temperature of reactor before quenching]",
"Quench Temperature (C)": "[Temperature of reactor after quenching]",
"Reaction Pressure (psi)": "[Pressure of reactor before quenching]",
"Initial Pressure (psi)": "[Initial charge pressure of reactor]",
"Quench Pressure (psi)": "[Pressure of reactor after quenching",
"Start Time": "[Start time in format yyyy-mm-dd hh:mm:ss.000]",
"End Time": "[End time in format yyyy-mm-dd hh:mm:ss.000]",
"Heat Time": "[Time taken to reach reaction temperature from room temperature]",
"Internal Standard Name": "[Name of external/internal standard]",
"Internal Standard Mass (mg)": "[Mass of external/internal standard]",
"Reactor Volume (mL)": "[Reactor total volume]",
"Remaining solids (mg)": "[Weight of dry residual solids]",
"Injected CO2 (mL)": "[Volume of CO2 injected into gas bag containing gas sample]"
}
.
├── data
│ └── example2
│ ├── breakdowns
│ │ ├── example2_Breakdown_20240729 (1).xlsx
│ │ └── example2_Breakdown_20240729.xlsx
│ ├── example2_INFO.json
│ ├── log
│ │ └── quantlog_20240729.log
│ ├── manual
│ │ └── MBPR053_02_ManualBreakdown.xlsx
│ └── raw data
│ ├── example2_GS1_MS_SPEC.csv
│ ├── example2_GS1_UA_Comp_UPP.csv
│ ├── example2_GS2_FID_SPEC.CSV
│ ├── example2_GS2_FIDpMS.csv
│ ├── example2_GS2_TCD_CSO.csv
│ ├── example2_GS2_TCD_SPEC.CSV
│ ├── example2_LQ1_FID_CSO.csv
│ ├── example2_LQ1_FID_SPEC.CSV
│ ├── example2_LQ1_FIDpMS.csv
│ ├── example2_LQ1_MS_SPEC.csv
│ └── example2_LQ1_UA_Comp_UPP.csv
├── images
│ ├── ChromaQuantIcon.icns
│ ├── ChromaQuantIcon.png
│ ├── ChromaQuantIcon.svg
│ └── workflow.png
├── resources
│ ├── KnownCompoundsAuto.xlsx
│ ├── gasPairs_FIDpMS.csv
│ ├── known_compounds.csv
│ └── smilePairs.csv
└── response-factors
├── FIDRF_7-24-24.csv
├── LRF_7-24-24.xlsx
├── TCDRF_7-24-24.csv
└── liquidRFFits.csv
For a given sample, all data files listed in Table 1 should be placed in the "data/[Sample]/raw data" directory except for the INFO.json, which should be placed in the "data/[Sample]" directory.