Package: pykulgap
pyKuLGaPA Python package for statistical analysis and plotting of Patient Derived Xenographt (PDX) models of cancer.ClassesThe PyKuLGaP package provides three major classes associated with treatment response experiments. While the initial
implementation of this package was specifically designed for PDX models, we have attempted to make classes general
enough to accomodate other cancer models, such as cancer cell lines (CCLs) as well as to allow extension to other
kinds of treatment response experiments in Cancer or otherwise.TreatmentResponseExperimentThis class contains all CancerModel objects for a given treatment response experiment. It is the highest level class
in PyKuLGaP and stores the other two classes nested within it. This class provides a number of features to easily
compute statistics aggregated over all CancerModels for each of the ExperimentalConditions, allowing a high level
interface for summarizing the results of a given treatment response experiment, be that in PDX models, CLLs or other
cancer model systems.Attributes:model_names: [list] The names of theCancerModelobject contained within the object.cancer_models: [list] The list ofCancerModelobject contained within the object.Note: ATreatmentResponseExperiment(TRE) is iterable and returns a tuple of the model name and model object for
eachCancerModelin the object.summary_stats_df: [DataFrame] Table containing summary statistics computed for allCancerModels in the TRE.
Computes the statistics if they don't exist already.Methods:experimental_condition_names: [list] Returns a list of names for all uniqueTreatmentConditonwithin the object.to_dict: [dict] Returns the object as a dictionarycompute_all_statistics: [None] Computes all summary statistics and assigns them as a DataFrame to the
summary_stats_df attribute.Features:Single Index Subsetting:treatment_response_experiment['<cancer model name>'] returns the named CancerModele.g., treatment_response_experiment["P1"] returns the CancerModel assocaited with Patient 1.treatment_response_experiment[<cancer model index>] also returns the CancerModel at that indexe.g., treatment_response_experiment[1] returns the CancerModel in the first index, in this case still Patient 1.Multiple Index Subsetting:treatment_response_experiment[[<cancer model 1>, <cancer model 2>, ..., ]]e.g., treatment_response_experiment[["P1", "P2", "P3"]] returns a list of CancerModel objects.Chained Subsetting:treatment_response_experiment[][] returns the named
ExperimentalCondition object from the name CancerModel.treatment_response_experiment[<cancer_model_name>][][] returns the
dose and response data for the specified replicate within the specified ExperimentalCondition and CancerModelCancerModel ClassACancerModelrepresents one or more samples with the same source. For example, in PDX models it would represent
all tumour growth measurements for mice derived from a single patient. In cancer cell line (CCL) models it would
represent all cellular viability measurements for cultures grown with a single cancer cell line.ExperimentalCondition ClassTheExperimentalConditionclass stores treatment response data for an experimental condition within aCancerModel.
It stores all replicates for all variables of the experimental condition for a given cancer model system.For example, in CancerModel Derived Xenograph (PDX) experiments it would store the tumour size measurements at each
exposure time for all mouse models derived from a single patient.In cancer cell lines (CCLs) it would store all viability measurements for each dose level for all cultures derived
from a single cancer cell line and treated with a specific compound.Thus theExperimentalConditionclass can be though of a storing data response data for a cancer model in two
dimensions: replicates (e.g., a specific mouse or culture) variable condition levels (e.g., a specific time or
dose).Common experimental conditions:Control, i.e. no treatmentExposure to a specific drug or compoundTreatment with a specific type of ionizing radiationIt can have multiple replicates (ie. data for multiple growth curves)Additional FeaturesThis documentation is a work in progress, we will expand it further over the coming months.In the mean time feel free to contactchristopher.eeles@uhnrearch.cafor questions/troubleshooting.