API Reference¶
+CoderData Object¶
+-
+
- +coderdata.download.downloader.download(name: str = 'all', local_path: PathLike = PosixPath('/Users/imal967/git_repos/coderdata/docs'), exist_ok: bool = False)¶ +
Download the most recent version of files from a Figshare dataset, +filtered by a specific prefix or all files.
+This function queries the Figshare API to retrieve details of a +dataset and then downloads files from it. Files can be filtered by a +specified prefix such as hcmi, beataml, etc. If ‘all’, an empty +string, or None is passed as the prefix, all files in the dataset +are downloaded. The function identifies the most recent version of a +file by selecting the one with the highest ID among duplicates with +the same name.
+-
+
- Parameters: +
dataset_prefix (str, optional) – The prefix of the dataset to download (e.g., ‘hcmi’). If ‘all’, +an empty string, or None, all files in the dataset are +downloaded. Default is None.
+
+- Returns: +
The function downloads files to the local repository and does +not return any value.
+
+- Return type: +
None
+
+
Collection of small utility and helper functions.
+-
+
- +coderdata.utils.utils.list_datasets(raw: bool = False) dict | None¶ +
Hepler function that returns a list of available datasets including +a short description and additional information available.
+-
+
- Parameters: +
raw (bool, default=False) – If set to True returns a yaml dictionary containing all +available datasets including additional information. If set to +false prints information to stdout and returns None.
+
+- Returns: +
Returns a dict containing the information if
+raw==True, +otherwise prints information to stdout and returns None.
+- Return type: +
dict | None
+
+
-
+
- +coderdata.utils.utils.version() dict¶ +
Helper function that returns the version strings for the package and +the dataset build.
+-
+
- Returns: +
Contains package and dataset build version.
+
+- Return type: +
dict
+
+
Command Line Interface to retrieve coderdata datasets.
+-
+
- +coderdata.cli.check_folder(path: str | PathLike | Path) Path¶ +
Helper function to check if a defined folder exists.
+-
+
- Returns: +
Cleaned path object with the absolute path to the folder passed +to the function.
+
+- Return type: +
Path
+
+- Raises: +
-
+
TypeError – If passed path argument is not of the requested type.
+OSError – If the passed path argument does not link to a valid existing + folder.
+
+
-
+
- +coderdata.cli.info(args)¶ +
Helper function that takes the parsed command line arguments and +prints either verison information or information on the available +datasets depending on the arguments in
+args.-
+
- Parameters: +
args (Namespace) – A Namespace object that contains commandline arguments parsed by +
+ArgumentParser.parse_args().
+
Dataset Object¶
+-
+
- +class coderdata.dataset.dataset.Dataset(name: str | None = None, transcriptomics: DataFrame | None = None, proteomics: DataFrame | None = None, mutations: DataFrame | None = None, copy_number: DataFrame | None = None, samples: DataFrame | None = None, drugs: DataFrame | None = None, drug_descriptors: DataFrame | None = None, mirna: DataFrame | None = None, experiments: DataFrame | None = None, methylation: DataFrame | None = None, metabolomics: DataFrame | None = None, genes: DataFrame | None = None, combinations: DataFrame | None = None)¶ +
-
+
- +coderdata.dataset.dataset.Dataset.save(self, path: Path) None¶ +
_summary_
+-
+
- +coderdata.dataset.dataset.load(name: str, local_path: str | Path = PosixPath('/Users/imal967/git_repos/coderdata/docs'), from_pickle: bool = False) Dataset¶ +
_summary_
+-
+
- Parameters: +
-
+
name (str) – _description_
+directory (str | Path, optional) – _description_, by default Path.cwd()
+
+- Returns: +
_description_
+
+- Return type: +
- + +
- Raises: +
-
+
OSError – _description_
+TypeError – _description_
+
+
-
+
- +coderdata.dataset.dataset.train_test_validate(data: Dataset, split_type: Literal['mixed-set', 'drug-blind', 'cancer-blind'] = 'mixed-set', ratio: tuple[int, int, int] = (8, 1, 1), stratify_by: str | None = None, balance: bool = False, random_state: int | RandomState | None = None, **kwargs: dict) Split¶ +
Splits a CoderData object (see also +coderdata.load.loader.DatasetLoader) into three subsets for +training, testing and validating machine learning algorithms.
+The size of the splits can be adjusted to be different from 80:10:10 +(the default)for train:test:validate. The function also allows for +additional optional arguments, that define the type of split that is +performed (‘mixed-set’, ‘drug-blind’, ‘cancer-blind’), if the splits +should be stratified (and which drug response metric to use), as +well as a random seed to enable the creation of reproducable splits. +Furhermore, a list of keyword arguments can be defined that will be +passed to the stratification function if so desired.
+-
+
- Parameters: +
-
+
data (DatasetLoader) – CoderData object containing a full dataset either downloaded +from the CoderData repository (see also +coderdata.download.downloader.download_data_by_prefix) or +built locally via the build_all process. The object must first +be loaded via coderdata.load.loader.DatasetLoader.
+split_type ({'mixed-set', 'drug-blind', 'cancer-blind'}, default='mixed-set') –
Defines the type of split that should be generated:
+-
+
-
+
- mixed-set: Splits randomly independent of drug / cancer
association of the samples. Individual drugs or cancer types +can appear in all three splits
+
+
+-
+
- drug-blind: Splits according to drug association. Any sample
associated with a drug will be unique to one of the splits. +For example samples with association to drug A will only be +present in the train split, but never in test or validate.
+
+
+-
+
- cancer-blind: Splits according to cancer association.
Equivalent to drug-blind, except cancer types will be unique +to splits.
+
+
+
+ratio (tuple[int, int, int], default=(8,1,1)) – Defines the size ratio of the resulting test, train and +validation sets.
+stratify_by (str | None, default=None) – Defines if the training, testing and validation sets should be +stratified. Any value other than None indicates stratification +and defines which drug response value should be used as basis +for the stratification. _None_ indicates that no stratfication +should be performed.
+random_state (int | RandomState | None, defaul=None) – Defines a seed value for the randomization of the splits. Will +get passed to internal functions. Providing the seed will enable +reproducability of the generated splits.
+**kwargs – Additional keyword arguments that will be passed to the function +that generates classes for the stratification +(see also
_create_classes).
+
+- Returns: +
Splits – A
+Splitobject that contains three Dataset objects as +attributes (Split.train,Split.test, +Split.validate)
+- Return type: +
Split
+
+- Raises: +
-
+
ValueError : –
+If supplied split_type is not in the list of accepted values. –
+
+
Collection of helper scripts to generate general statistics on the data +contained in a CoderData Object.
+-
+
- +coderdata.utils.stats.plot_response_metric(data: Dataset, metric: str = 'auc', ax: Axes | None = None, **kwargs: dict) None¶ +
Creates a histogram detailing the distribution of dose response +values for a given dose respones metric.
+If used in conjunction with matplotlib.pyplot.subplot or +matplotlib.pyplot.subplots and the axes object is passed to the +function, the function populates the axes object with the generated +plot.
+-
+
- Parameters: +
-
+
data (coderdata.DataLoader) – A full CoderData object of a dataset
+metric (str, default='auc') – A string that defines the response metric that should be plotted
+ax (matplotlib.axes.Axes, default=None) – An Axes object can be defined. This is uesful if a multipannel +subplot has been defined prior via matplotlib.pyplot.subplots. +Passing the location of the axes to the function will then +populate the subplot at the given location with the generated +plot.
+**kwargs (dict, optional) – Additional keyword arguments that can be passed to the function +- bins : int - sets the number of bins; passed to +seaborn.histplot +- title : str - sets the title of the axes +- kde : bool - adds a kernel density estimate plot into the +histogram
+
+- Return type: +
None
+
+
Example
+In a Jupyter Notebook environment the following snippet can be used +to display a histgram detailing the distribution of drug response +AUC measures in the beataml dataset.
+++>>> import coderdata as cd +>>> beataml = cd.DataLoader('beataml') +>>> cd.plot_response_metric(data=beataml, metric='auc', bin=10) +
For generating multipanel plots we can make use of matplotlib and +the ax parameter of this function. Furthermore, other features / +parameters of the cerated figure can be changed (e.g. the title of +the figure via suptitle()). Finally it can be saved.
+++>>> import coderdata as cd +>>> import matplotlib.pyplot as plt +>>> beataml = cd.DataLoader('beataml') +>>> fig, axs = plt.subplots(ncols=2, figsize=(10, 5)) +>>> plot_response_metric( +... data=beataml, +... metric='auc', +... bins=10, +... ax=axs[0] +... ) +>>> plot_response_metric( +... data=beataml, +... metric='aac', +... bins=10, +... ax=axs[0] +... ) +>>> fig.set_layout_engine('tight') +>>> fig.suptitle('Distribution of drug response values') +>>> fig.savefig('figure.png') +
-
+
- +coderdata.utils.stats.summarize_response_metric(data: Dataset) DataFrame¶ +
Helper function to extract basic statistics for the experiments +object in a CoderData object. Uses pandas.DataFrame.describe() +internally to generate count, mean, standard deviation, minimum, +25-, 50- and 75-percentile as well as maximum for +dose_response_value for each dose_response_metric present in +experiments.
+-
+
- Parameters: +
data (coderdata.cd.Dataset) – A full CoderData object of a dataset
+
+- Returns: +
A pandas.DataFrame containing basic statistics for each +dose response metric.
+
+- Return type: +
pandas.DataFrame
+
+
Example
+The Example assumes that a dataset with the prefix ‘beataml’ has +been downloaded previously. See also
+coderdata.download()++>>> import coderdata as cd +>>> beataml = cd.DataLoader('beataml') +>>> summary_stats = summarize_response_metric(data=beataml) +>>> summary_stats + count mean std +dose_response_metric +aac 23378.0 3.028061e-01 1.821265e-01 ... +auc 23378.0 6.971939e-01 1.821265e-01 ... +dss 23378.0 3.218484e-01 5.733492e-01 ... +... ... ... ... ... +
-
+
+
+
+
+
+
+
+
+The build process is slow, partially due to our querying of PubChem,
+and also because of our extensive curve fitting. However, it can be
+run locally so that you can still leverage the Python package
+functionality with your own datasets.
+
+If you want to add a new dataset, you must create a docker image that
+contains all the scripts to pull the data and reformat it into our
+[LinkML Schema](https://github.com/PNNL-CompBio/coderdata/blob/main/schema/coderdata.yaml). Once complete, you can modify `build_dataset.py` to
+call your Docker image and associated scripts. More details are below.
+
+## Adding your own dataset
+
+To add your own data, you must add a Docker image with the following
+constraints:
+
+1. Be named `Dockerfile.[dataset_name]` and reside in the
+ `/build/docker` directory
+2. Possess scripts called `build_omics.sh`, `build_samples.sh`,
+ `build_drugs.sh`, `build_exp.sh` , and if needed, a
+ `build_misc.sh`. These will all be called directly by
+ `build_dataset.py`.
+3. Create tables that mirror the schema described by the [LinkML YAML
+ file](https://github.com/PNNL-CompBio/coderdata/blob/main/schema/coderdata.yaml).
+
+Files are generated in the following order as described below.
+
+
+### Sample generation
+
+The first step of any dataset build is to create a unique set of
+sample identifies and store them in a `[dataset_name]_samples.csv`
+file. We recommend following these steps:
+
+1. Build a python script that pulls the sample identifier information
+ from a stable repository and generates Improve identifiers for
+ each sample while also ensuring that no sample identifiers are
+ clashing with prior samples. Examples can be found [here](https://github.com/PNNL-CompBio/coderdata/blob/main/build/mpnst/00_sample_gen.R) and [here](https://github.com/PNNL-CompBio/coderdata/blob/main/build/broad_sanger/01-broadSangerSamples.R). If
+ you are using the Genomic Data Commons, you can leverage our
+ existing scripts [here](https://github.com/PNNL-CompBio/coderdata/blob/main/build/hcmi/01-createHCMISamplesFile.py).
+2. Create a `build_samples.sh` script that calls your script with an
+ existing sample file as the first argument.
+3. Test the `build_samples.sh` script with a [test sample
+ file](https://github.com/PNNL-CompBio/coderdata/blob/main/build/build_test/test_samples.csv).
+4. Validate the file with the [linkML validation tool](https://linkml.io/linkml/cli/validate.html) and our
+ [schema file](https://github.com/PNNL-CompBio/coderdata/blob/main/schema/coderdata.yaml).
+
+### Omics data generation
+
+The overall omics generation process is the same as the samples, with
+a few caveats.
+
+1. Build a python script that maps the omics data and gene data to the
+ standardized identifiers and aligns them to the schema.
+ pulls the sample identifier information
+ from a stable repository and generates Improve identifiers for
+ each sample while also ensuring that no sample identifiers are
+ clashing with prior samples. Examples can be found here and here. If
+ you are using the Genomic Data Commons, you can leverage our
+ existing scripts here. For each type of omics data (see below), a
+ single file is created.It might take more than one script, but you
+ can combine those in step 2.
+2. Create a `build_omics.sh` script that calls your script with the
+ `genes.csv` file as the first argument and `[dataset_name]_samples.csv` file as second
+ argument.
+3. Test the `build_omics.sh` script with your sample file and [test genes
+ file](https://github.com/PNNL-CompBio/coderdata/blob/main/build/build_test/test_genes.csv).
+4. Validate the files generated with the [linkML validation tool](https://linkml.io/linkml/cli/validate.html) and our
+ [schema file](https://github.com/PNNL-CompBio/coderdata/blob/main/schema/coderdata.yaml).
+
+The precise data files have varying standards, as described below:
+
+- *Mutation data:* In addition to matching gene identifiers each gene
+mutation should be mapped to a specific schema of variations. The
+list of allowed variations can be found [in our linkML
+file](https://github.com/PNNL-CompBio/coderdata/blob/8000968dc5f19fbb986a700862c5035a0230b656/schema/coderdata.yaml#L247).
+- *Transcriptomic data:* Transcript data is mapped to the same gene
+ identifiers and samples but is convered to transcripts per million,
+ or TPM.
+- *Copy number data:* Copy number is assumed to be a value
+ representing the number of copies of that gene in a particular
+ sample. A value of 2 is assumed to be diploid.
+- *Proteomic data:* Proteomic measurements are generally log ratio
+ values of the abundance measurements normalized to an internal
+ control.
+
+The resulting files are then stored as `[dataset_name]_[datatype].csv`.
+
+### Drug data generation
+
+The drug generation process can be slow depending on how many drugs
+require querying from PubChem. However, with the use of an existing
+drug data file, it's possible to shorten this process.
+
+1. Build a python script that maps the drug information to SMILES
+ String and IMPROVE identifier. All drugs are given an Improve
+ identifier based on the canonical SMILES string to ensure that
+ each drug has a unique structure to be used in the modeling
+ process. To standardize this we encourage using
+our [standard drug lookup
+ script](http://github.com/pnnl-compbio/coderdata/tree/main/build/utils/pubchem_retrieval.py)
+ that retrieves drug structure and information by name or
+ identifier. [This file of NCI60
+ drugs](https://github.com/PNNL-CompBio/coderdata/blob/main/build/broad_sanger/03a-nci60Drugs.py)
+ is our most comprehensive script as it pulls over 50k drugs
+1a. In cases where the dose and response values are not available, you
+ can use the published AUC values instead, and use the
+ `published_auc` as the `drug_response_metric` value in the table.
+2. Create a `build_drugs.sh` script that takes as its first argument
+an existing drug file and calls the script created in step 1
+above. Once the drugs for a dataset are retrieved, we have a second utility
+script that [builds the drug descriptor table](https://github.com/PNNL-CompBio/coderdata/blob/cbf017326b83771c55f12317189f4b2dbd9d900a/schema/coderdata.yaml#L94). Add this to the
+shell script to generate the drug descriptor file.
+3. Test the `build_drugs.sh` script with the [test drugs
+ file](https://github.com/PNNL-CompBio/coderdata/blob/main/build/build_test/test_drugs.tsv).
+4. Validate the files generated with the [linkML validation tool](https://linkml.io/linkml/cli/validate.html) and our
+ [schema file](https://github.com/PNNL-CompBio/coderdata/blob/main/schema/coderdata.yaml).
+
+ The resulting files should be `[dataset_name]_drugs.tsv` and
+ `[dataset_name]_drug_descriptors.tsv`.
+
+### Experiment data generation
+
+The experiment file maps the sample information to the drugs of
+interest with various drug response metrics. The experiment data
+varies based on the type of system:
+- Cell line and organoid data use the [drug curve fitting
+ tool](http://github.com/pnnl-compbio/coderdata/tree/main/build/utils/fit_curve.py)
+ that maps doses of drugs (in Moles) to drug response measurements
+ (in percent) to a variety of curve fitting metrics described in our
+ [schema file](https://github.com/PNNL-CompBio/coderdata/blob/8000968dc5f19fbb986a700862c5035a0230b656/schema/coderdata.yaml#L200).
+- Patient derived xenografts require an alternate script that [creates
+ PDX-speciic metrics](https://github.com/PNNL-CompBio/coderdata/blob/main/build/utils/calc_pdx_metrics.py).
+
+Otherwise the steps for building an experiment file are similar:
+1. Build a python script that maps the drug information and sample
+information to the DOSE and GROWTH values, then calls the appropriate
+curve fitting tool described above.
+2. Create a `build_exp.sh` script that takes as its first argument
+the samples file and the second argument the drug file.
+3. Test the `build_exp.sh` script with the drug and samples files.
+4. Validate the files generated with the [linkML validation tool](https://linkml.io/linkml/cli/validate.html) and our
+ [schema file](https://github.com/PNNL-CompBio/coderdata/blob/main/schema/coderdata.yaml).
+
+
+### Dockerize and test
+
+All scripts described above go into a single directory with the name
+of the dataset under the [build](http://github.com/pnnl-compbio/coderdata/tree/main/build) directory, with instructions to add everything in the [docker](http://github.com/pnnl-compbio/coderdata/tree/main/build/docker)
+directory. Make sure to include any requirements for building in the
+folder and docker image as well.
+
+Once the Dockerfile builds and runs, you can modify the
+`build_dataset.py` script so that it runs and validates.
+
+Check out examples! We have numerous Docker files in our
+[Dockerfile
+directory](http://github.com/pnnl-compbio/coderdata/tree/main/build/docker),
+and multiple datasets in our [build
+directory](http://github.com/pnnl-compbio/coderdata/tree/main/build).
+
+
+---
+Your contributions are essential to the growth and improvement of CoderData. We look forward to collaborating with you!
+
+
diff --git a/docs/build/html/_sources/contribution_guide.rst.txt b/docs/build/html/_sources/contribution_guide.rst.txt
new file mode 100644
index 00000000..b6eb4103
--- /dev/null
+++ b/docs/build/html/_sources/contribution_guide.rst.txt
@@ -0,0 +1,9 @@
+
+Contribution
+============
+
+.. include:: contribution.md
+ :parser: myst_parser.sphinx_
+
+.. include:: add_code_guide.md
+ :parser: myst_parser.sphinx_
\ No newline at end of file
diff --git a/docs/build/html/_sources/datasets_included.rst.txt b/docs/build/html/_sources/datasets_included.rst.txt
new file mode 100644
index 00000000..872eca49
--- /dev/null
+++ b/docs/build/html/_sources/datasets_included.rst.txt
@@ -0,0 +1,123 @@
+Datasets Included
+=================
+
+This page provides an overview of the datasets included in CoderData version 2.2.0. This package collects 18 diverse sets of paired molecular datasets with corresponding drug sensitivity data. All data here is reprocessed and standardized so it can be easily used as a benchmark dataset for drug response prediction machine learning models.
+
+The dataset files are in csv format and are available at the link below:
+
+Figshare record: https://api.figshare.com/v2/articles/28823159
+
+Version: 2.2.0
+
+---------------------------
+Dataset Overview
+---------------------------
+.. csv-table:: Datasets and Modalities
+ :header: "Dataset", "References", "Sample", "Drug", "Drug Descriptor", "Experiments", "Transcriptomics", "Proteomics", "Mutations", "Copy Number"
+ :widths: 14, 12, 6, 8, 15, 12, 12, 12, 12, 12
+
+ "BeatAML", "[1]_, [2]_", "1022", "164", "X", "X", "X", "X", "X", ""
+ "Bladder", "[3]_", "134", "50", "X", "X", "X", "", "X", "X"
+ "CCLE", "[4]_", "502", "24", "X", "X", "X", "X", "X", "X"
+ "Colorectal ", "[18]_", "61", "10", "X", "", "X", "", "X", "X"
+ "CPTAC", "[5]_", "1139", "", "", "", "X", "X", "X", "X"
+ "CTRPv2", "[6]_, [7]_, [8]_", "846", "459", "X", "X", "X", "", "X", "X"
+ "FIMM", "[9]_, [10]_", "52", "52", "X", "X", "X", "", "", ""
+ "GDSC v1", "[23]_, [24]_, [25]_", "984", "294", "X", "", "X", "X", "X", "X"
+ "GDSC v2", "[23]_, [24]_, [25]_", "806", "171", "X", "", "X", "X", "X", "X"
+ "gCSI", "[21]_, [22]_", "569", "44", "X", "", "X", "X", "X", "X"
+ "HCMI", "[11]_", "886", "", "", "", "X", "", "X", "X"
+ "Liver", "[19]_", "62", "76", "X", "", "X", "", "X", "X"
+ "MPNST", "[12]_", "50", "30", "X", "X", "X", "X", "X", "X"
+ "NCI60", "[13]_", "83", "55157", "X", "X", "X", "X", "X", ""
+ "Novartis", "[20]_", "386", "25", "X", "", "X", "", "X", "X"
+ "Pancreatic", "[14]_", "70", "25", "X", "X", "X", "", "X", "X"
+ "PRISM", "[15]_, [16]_", "478", "1419", "X", "X", "X", "", "", ""
+ "Sarcoma", "[17]_", "36", "34", "X", "X", "X", "", "X", ""
+
+
+The table above lists the datasets included in CoderData version 2.2.0, along with references to their original publications, counts of samples and drugs, and the types of data available for each dataset.
+
+CoderData includes the following data:
+
+- Sample - cell lines, patient-derived samples, or patient-derived organoids
+- Drug - compounds tested for sensitivity
+- Drug Descriptor - molecular descriptors for each drug (computed using RDKit)
+- Experiments - dose-response experiments (various metrics such as AUC, IC50, etc.)
+- Transcriptomics - gene expression (in transcripts per million, TPM)
+- Proteomics - protein expression (in log2 ratio to reference)
+- Mutations - gene mutations (variant calls)
+- Copy Number - gene copy number variations (number of copies of each gene, 2 being diploid)
+
+An "X" indicates the presence of a particular data type for the corresponding dataset. Each sample in the datasets corresponds to either a cancer cell line, a patient-derived xenograft, or a patient-derived organoid, depending on the specific dataset.
+
+
+---------------------------
+Dataset Summary Statistics
+---------------------------
+The following table summarizes combination counts for each dataset. This includes the number of experimental sample-drug pairs, with different molecular data types. Each column represents the number of unique combinations of samples and drugs with the specified molecular data types available.
+For example, the "Sample-Drug-Transcriptomics-Mutations" column indicates the number of unique sample-drug pairs that have both transcriptomics and mutation data available. These counts let you estimate how much paired data is available for tasks like building predictive models with transcriptomics and drug response.
+
+ .. csv-table:: Dataset Summary Statistics
+ :file: _static/dataset_summary_statistics.csv
+ :header-rows: 0
+
+
+---------------------------------
+Drug Curve Metrics Collected
+---------------------------------
+The following table summarizes the number of drugs associated with each dose-response metric across the datasets.
+
+ .. csv-table:: Drug Curve Metrics Summary
+ :file: _static/dataset_curve_metrics_wide.csv
+ :header-rows: 0
+
+Types of dose-response metrics collected include:
+
+- AAC - Area above the response curve; the complement value of AUC.
+- ABC - Area between curves, the difference between the AUC of the control and the treated cells.
+- AUC - Area under the fitted hill slope curve across all doses present. Lower AUC signifies lower levels of growth.
+- DSS - A multiparametric dose response value that takes into account control and treated cells.
+- fit_auc - Area under the fitted hill slope curve across the common interval of −log10[M], where the molar concentration ranges from 10⁻⁴ to 10⁻¹⁰.
+- fit_ec50 - The fitted curve prediction of the −log10M concentration at which 50% of the maximal effect is observed.
+- fit_ec50se - Standard error of the Fit_EC50 estimate.
+- fit_einf - The fraction of cells that are unaffected even at an infinite dose concentration. Calculated as the lower asymptote of the hill slope function.
+- fit_hs - The estimated hill slope binding cooperativity, calculated as the slope of the sigmoidal hill curve.
+- fit_ic50 - The fitted curve prediction of the −log10M concentration required to reduce tumor growth by 50%.
+- fit_r2 - Coefficient of determination between observed growth and the fitted hill slope curve, indicating goodness of fit.
+- lmm - The resulting “time and treatment interaction” in a linear mixed model with fixed effects as time and treatment and patient as a random effect. Indicates how much the treatment changes the slope of log(volume) over time compared to the control.
+- mRESCIST - Disease status classified into PD (progressive disease), SD (stable disease), PR (partial response), and CR (complete response), based on percent volume change and cumulative average response.
+- published_auc - Published Area Under the Curve
+- TG - Tumor growth inhibition between the control and treatment time-volume curves.
+
+
+
+---------------------------
+References
+---------------------------
+
+.. [1] Bottomly D, Long N, Schultz AR, et al. *Integrative analysis of drug response and clinical outcome in acute myeloid leukemia.* Cancer Cell. 2022;40(8):850-864.e9. doi:`10.1016/j.ccell.2022.07.002
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-