Skip to content

Primary Screen Assay

Read the inputs, initialize the assay class

import rda_toolbox as rda

primary = rda.PrimaryScreen(
    "../data/raw/",  # Folder where the raw readerfiles are located
    "../data/input/PrS_Input.xlsx",  # Assay specific Input sheet
    "../data/input/AmA_AsT_AcD_20241204.txt",  # Mapping file (MP -> AcD plates)
    map_rowname="Row 96",
    map_colname="Col 96",
    # Folder where the raw readerfiles for precipitation test are located
    precipitation_rawfilepath = "../data/raw/Precipitation_measurements/"
)

Compounds already in 384-well plates

Example without mapping from 96 to 384 (motherplate barcode is reused as AsT Barcode):

import rda_toolbox as rda

primary = rda.PrimaryScreen(
    "../data/raw/",
    "../data/input/PrS_Input.xlsx",
    mappingfile_path = "../data/input/AmA_AsT_AcD_20251202.txt",  # Contains mapping of AsT -> AcD plates
    needs_mapping=False,
    precipitation_rawfilepath="../data/raw/Precipitation/",
    substance_id="Internal ID",
    ast_barcode_header="MP Barcode 384"  # Motherplate is reused as AsT Barcode
)

Cytation 10 readout table header

In the Cytation C10 reader software you can define things like table headers. To detect the result matrix and be flexible in naming this table, the keyword cyt10_matrixheader_mapping was introduced. The default value for this keyword is cyt10_matrixheader_mapping = {"Result": "Raw Optical Density"} (Usually its better to leave out the "Raw").

import rda_toolbox as rda

primary = rda.PrimaryScreen(
    rawfiles_folderpath="../data/raw/24 h/",
    inputfile_path="../data/input/PrimaryScreen_mapped_Input.xlsx",
    mappingfile_path="../data/input/AmA_AsT_AcD_20260317.txt",
    precipitation_rawfilepath="../data/raw/Precipitation/",
    cyt10_matrixheader_mapping={"Read 1:554,593": "Fluorescence", "Read 2:450": "Optical Density"},
    needs_mapping=False,
    negative_controls="Organism + Medium",
)

Its possible to inspect the assay object:

primary.__dict__

View in-between results (e.g. in a notebook)

Tables

primary.mapped_input_df
primary.processed
primary.results

Visualizations

primary.plateheatmap

Save the results

# Save all tables
primary.save_tables("../data/results/")
# Save all figures
primary.save_figures("../figures/")
# Save results (figures and tables)
primary.save_results(<tables path>, <figures path>, <processed data path>, figureformats=["svg", "html"], tableformats=["xlsx", "csv"])

Primary Screen Results