TecanParser is a Python script designed to process kinetic measurements produced by multiwell microplate readers of Tecan® TM (e.g. Infinite M200 Pro, Infinite F Plex models) and convert them into tidy Excel tables and simple plots. The script is tailored for handling various measurement types, including spectrophotometry, luminescence, and fluorescence. The current version of the script can handle up to two different types of measurements simultaneously.
- Converts Tecan measurement data into tidy Excel tables.
- Creates various types of plots to visualize the data.
- Handles multiple reads per well.
- Supports normalization for two different types of measurements.
- Flexible regarding samples location on a plate: allows specifying replicate samples with corresponding wells in a text file.
- The script is written using Python 3.8.
- Required Python libraries: pandas, seaborn, openpyxl, matplotlib.
-h or --help: Help message
-i or --inputfile: File name or path to the output .xls(x) file generated by a Tecan device (required).
-o or --outputname: Name you want to add to all your output files (e.g., GrowthExperiment -> GrowthExperiment.xlsx) (default: 'result').
-m1 or --measurement1: Name of your first type of measurements (e.g., OD600, OD565, growth, luminescence, etc.). It will be used as a label for processed data and graphs (required).
-m2 or --measurement2: Name of your second type of measurements (e.g., fluorescence, luminescence), if applicable. It will be used as a label for processed data and graphs (optional).
-db1 or --data_boundaries1: Starting and ending row numbers from the input excel file for the first type of measurements separated by space (e.g., 69 1219) (required).
-db2 or --data_boundaries2: Starting and ending row numbers from the input excel file for the second type of measurements separated by space (e.g., 69 1219) (optional).
-b or --blank: Indicate a well with blank measurements (e.g., A1) (required).
-r or --replicates: Text file containing information on sample names and the corresponding wells with replicate measurements. (optional).
-f or --format: Saving format for the plots. Available options: pdf, eps, svg, png, jpeg, tiff (default: pdf).
To pass the positions of your samples and replicates on a plate, create a text (.txt) file, where each line will represent a clone and its corresponding wells. Follow this format for each line:
SampleX: well1, well2, well3
Example:
Clone1: B2, B4, B6
Clone2: B8, B10, C3
Clone3: C5, C7, C9
Clone4: C11, D2, D4
Clone5: D6, D8, D10
A command line format
python TecanParser.py -i INPUT_FILE.xlsx -o OUTPUT_NAME -m1 MEASUREMENT_1 -m2 MEASUREMENT_2 -db1 START_ROW_1 END_ROW_1 -db2 START_ROW_2 END_ROW_2 -b BLANK -r REPLICATES_FILE.txt -f PLOT_FORMAT
Examples Basic usage for a single measurement type, provided the data are located between row 69 and row 1219 in the plate reader output Excel table:
python TecanParser.py -i data.xlsx -m1 OD600 -db1 69 1219 -b A1 -r replicates.txt
Usage for two measurement types:
python TecanParser.py -i data.xlsx -m1 OD600 -db1 69 1219 -m2 luminescence -db2 1221 1320 -b A1 -r replicates.txt
Plotting data with a specific output name and image format:
python TecanParser.py -i data.xlsx -m1 OD600 -db1 69 1219 -b A1 -o MyExperiment -f png
Combining all options and saving plots in .svg format:
python TecanParser.py -i data.xlsx -m1 OD600 -db1 69 1219 -m2 luminescence -db2 1221 1320 -b A1 -r replicates.txt -o MyExperiment -f svg
After the program is started, it will ask several questions about your measurements, which should be answered with yes or no:
Did you obtain multiple reads per well for measurement_1? [yes/no]
Did you obtain multiple reads per well for measurement_2? [yes/no]
Do you wish to plot the data? [yes/no]
The script assumes that your plate reader measurements are stored in an Excel file in a horizontal orientation. Please make sure that your data is formatted correctly before running the script. The second type of measurement is normalized to the first type by default (typically, to spectrophotometry data, e.g. cultural luminescence to optical density). Please keep the measurements order appropriate for the desired normalization.
This project is licensed under the MIT License - see the LICENSE file for details.