Source code for om_code.analyseSunrise

import numpy as np
import om_code.omgenutils as gu


[docs]def analyseSunrise(dfd, rcontents, experiment): """ Extracts data from an imported Excel file generated by a Tecan Sunrise plate reader. Parameters -- dfd: dataframe Created by importing the data from a file using Panda's read_excel. rcontents: dataframe Created by analyseContentsofWells. experiment: string The name of the experiment. Returns ------ rdict: list of dictionaries Describes the contents of the plate by experiment, condition, strain, time, and well. datatypes: list of strings Delineates all the types of data in the experiment and is minimally ['OD']. """ # extract datatypes datatypes = np.array(["OD"], dtype=object) # extract times of measurements t = ( gu.rmnans([float(str(ts).split("s")[0]) for ts in dfd.to_numpy()[0]]) / 3600.0 ) ## data # add to dataframe rdict = [] for index, row in dfd.iterrows(): if isinstance(row[-1], str) and row[-1][0] in "ABCDEFGH": well = row[-1] data = row.to_numpy(dtype="float")[:-1] if ( rcontents[well][0] is not None and rcontents[well][1] is not None ): for j in range(len(t)): cons = { "experiment": experiment, "condition": rcontents[well][0], "strain": rcontents[well][1], "time": t[j], "well": well, } dats = {"OD": data[j]} cons.update(dats) rdict.append(cons) return rdict, datatypes