From d3058e862145a44cfddca970496ba3dbb29e177f Mon Sep 17 00:00:00 2001 From: Jake Crawford Date: Tue, 29 Aug 2023 13:37:47 -0400 Subject: [PATCH 1/7] add header for background section --- content/10.background_header.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 content/10.background_header.md diff --git a/content/10.background_header.md b/content/10.background_header.md new file mode 100644 index 0000000..2e9955c --- /dev/null +++ b/content/10.background_header.md @@ -0,0 +1,8 @@ +## Chapter 1: Background + +This chapter was formatted for this dissertation to provide background information and context for the following chapters. Some elements of the second subsection on machine learning modeling techniques were previously published in the _Current Opinion in Biotechnology_ journal as "Incorporating biological structure into machine learning models in biomedicine" (https://doi.org/10.1016/j.copbio.2019.12.021). + +**Contributions:** +For the unpublished parts of this chapter, I was the sole author. +For the published parts of this chapter, I wrote the original draft of the review paper, which was edited based on feedback from Casey S. Greene and anonymous reviewers. + From 5f5af70837c663eb3ca11f38b1ece4a4fdba9711 Mon Sep 17 00:00:00 2001 From: Jake Crawford Date: Thu, 31 Aug 2023 13:34:33 -0400 Subject: [PATCH 2/7] add intro to background chapter --- content/11.introduction.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 content/11.introduction.md diff --git a/content/11.introduction.md b/content/11.introduction.md new file mode 100644 index 0000000..92b838b --- /dev/null +++ b/content/11.introduction.md @@ -0,0 +1,28 @@ +### Introduction + +Precision oncology, or the selection of cancer treatments based on molecular or cellular features of patients' tumors, has become a fundamental part of the standard of care for some cancers [@doi:10.1093/annonc/mdx707]. +Although each tumor is unique, the successes of precision oncology reinforce the idea that there are commonalities that can be understood and therapeutically targeted. +Targeted therapies that have been successfully applied across cancer types and patient subsets include _HER2_ (_ERBB2_) inhibitors in breast and stomach cancer [@doi:10.1093/jnci/djp341], BTK inhibitors in various hematological malignancies [@doi:10.1186/s13045-022-01353-w], and _EGFR_ inhibitors across a variety of carcinomas [@doi:10.1186/s13045-022-01311-6]. +The genes and mutations that drive cancer are often specific to a given cancer type or subtype, but they tend to converge on a few pathways [@doi:10.1016/j.cell.2018.03.035; @doi:10.1016/j.cell.2020.11.045], making more general targeted treatments possible. + +The past decade has seen an expansion in the size and diversity of cancer genomics datasets, both publicly available and otherwise. +The Cancer Genome Atlas (TCGA) Pan-Cancer Atlas [@pancanatlas] is a large, public human tumor sample dataset, containing >10,000 samples from 33 different cancer types, each profiled for varying -omics types with associated clinical information. +There are also public datasets containing model system data, including the Cancer Cell Line Encyclopedia (CCLE) containing -omics data from human-derived cancer cell lines [@doi:10.1038/s41586-019-1186-3], and the Genomics of Drug Sensitivity in Cancer (GDSC) dataset containing drug sensitivity data for thousands of the same cell lines across hundreds of drugs [@doi:10.1093/nar/gks1111]. +These datasets exhibit heterogeneity on multiple levels. +Overall, they vary in size, with TCGA having about an order of magnitude more tumor samples than the number of cell lines in CCLE. +Going a level deeper, the cancer types within them vary in size as well: TCGA has 1,218 breast cancer samples with gene expression data, but only 265 soft tissue sarcoma samples, and only 45 cholangiocarcinoma samples. + +In modern machine learning research using text and images, there is a trend toward bigger models capable of solving broader arrays of tasks. +Foundation models, trained on large datasets to generalize to new tasks with no or minimal task-specific fine-tuning, are in many cases competitive with task-specific models [@arxiv:2205.09911], although they are not without unique caveats [@arxiv:2108.07258]. +Similarly, in genomics, early examples of foundation models are beginning to appear [@arxiv:2306.15794; @doi:10.1101/2023.04.30.538439; @doi:10.1101/2023.05.29.542705]. +Training foundation models on pan-cancer, pan-omics data would be a natural extension of these ideas, which could improve power to detect correlations between biomarkers and phenotypes of interest, or to identify drug susceptibilities in patient sub-populations. + +As a whole, this dissertation explores ways in which the structure of large, public pan-cancer datasets can present unexpected challenges and caveats for machine learning. +TCGA and CCLE both contain data from various -omics types (feature groups) and samples from diverse cancer types/tissues of origin (sample groups). +There are additional, less obvious forms of structure in these data such as patient sub-populations and sample collection locations, which we will not address directly in this dissertation but which can affect model training and performance as well. + +This chapter, Chapter 1, describes existing work at the intersection of cancer -omics and machine learning, which will provide context for the following chapters. +In Chapter 2, we show that the choice of optimization method can affect model selection and tuning, for prediction from cancer transcriptomic data. +Chapter 3 explores the relative information content of -omics types/feature groups in TCGA, showing that gene expression tends to contain the most information relative to cancer driver mutations, but most -omics types can serve as effective, and likely somewhat redundant, readouts. +In Chapter 4, we test generalization across cancer types in TCGA and across datasets (CCLE to TCGA and vice-versa), showing that smaller models do not tend to generalize better across contexts, and cross-validation performance is in most cases a sufficient model selection criterion. +Finally, in Chapter 5, we conclude by summarizing the implications of these results and discussing future directions. From df65102eef52a6a2bf73be106920fc1543774390 Mon Sep 17 00:00:00 2001 From: Jake Crawford Date: Thu, 31 Aug 2023 14:00:29 -0400 Subject: [PATCH 3/7] add biopriors text, may want to pare it down --- content/13.models_review.md | 150 + content/images/biopriors/all_models.svg | 2295 ++++++ .../images/biopriors/all_models_revised.svg | 6193 +++++++++++++++++ content/images/biopriors/network_models.svg | 1105 +++ .../biopriors/network_models_revised.svg | 2834 ++++++++ content/images/biopriors/ontology_models.svg | 982 +++ .../biopriors/ontology_models_revised.svg | 2098 ++++++ content/images/biopriors/ontology_simple.png | Bin 0 -> 65092 bytes content/images/biopriors/ontology_simple.svg | 709 ++ .../images/biopriors/sequence_features.svg | 680 ++ .../biopriors/sequence_features_revised.svg | 1523 ++++ content/images/biopriors/sequence_models.svg | 459 ++ 12 files changed, 19028 insertions(+) create mode 100644 content/13.models_review.md create mode 100644 content/images/biopriors/all_models.svg create mode 100644 content/images/biopriors/all_models_revised.svg create mode 100644 content/images/biopriors/network_models.svg create mode 100644 content/images/biopriors/network_models_revised.svg create mode 100644 content/images/biopriors/ontology_models.svg create mode 100644 content/images/biopriors/ontology_models_revised.svg create mode 100644 content/images/biopriors/ontology_simple.png create mode 100644 content/images/biopriors/ontology_simple.svg create mode 100644 content/images/biopriors/sequence_features.svg create mode 100644 content/images/biopriors/sequence_features_revised.svg create mode 100644 content/images/biopriors/sequence_models.svg diff --git a/content/13.models_review.md b/content/13.models_review.md new file mode 100644 index 0000000..8ef95a6 --- /dev/null +++ b/content/13.models_review.md @@ -0,0 +1,150 @@ +## Machine learning modeling strategies for -omics data + +It can be challenging to distinguish signal from noise in biomedical datasets, and machine learning methods are particularly hampered when the amount of available training data is small. +Incorporating biomedical knowledge into machine learning models can reveal patterns in noisy data [@doi:10.1038/nrg.2017.38] and aid model interpretation [@doi:10.1016/j.cell.2018.05.056]. +Biological knowledge can take many forms, including genomic sequences, pathway databases, gene interaction networks, and knowledge hierarchies such as the Gene Ontology [@doi:10.1093/nar/gky1055]. +However, there is often no canonical way to encode these structures as real-valued predictors. +Modelers must creatively decide how to encode biological knowledge that they expect will be relevant to the task. + +Biomedical datasets often contain more input predictors than data samples [@doi:10.1109/JPROC.2015.2494198; @arxiv:1611.09340]. +A genetic study may genotype millions of single nucleotide polymorphisms (SNPs) in thousands of individuals, or a gene expression study may profile the expression of thousands of genes in tens of samples. +Thus, it can be useful to include prior information describing relationships between predictors to inform the representation learned by the model. +This contrasts with non-biological applications of machine learning, where one might fit a model on millions of images [@doi:10.1109/CVPR.2009.5206848] or tens of thousands of documents [@url:https://www.aclweb.org/anthology/P11-1015/], making inclusion of prior information unnecessary. +There are many complementary ways to incorporate heterogeneous sources of biomedical data into the learning process, which have been covered in review papers elsewhere [@doi:10.3389/fgene.2019.00381; @doi:10.1016/j.inffus.2018.09.012]. +These include feature extraction or representation learning prior to modeling and/or other data integration methods that do not necessarily involve customizing the model itself. + +### Sequence models + +Early neural network models primarily used hand-engineered sequence features as input to a fully connected neural network [@doi:10.1093/nar/gku1058; @doi:10.1126/science.1254806] (Figure {@fig:sequence_features}). +As convolutional neural network (CNN) approaches matured for image processing and computer vision, researchers leveraged biological sequence proximity similarly. +CNNs are a neural network variant that groups input data by spatial context to extract features for prediction. + +The definition of "spatial context" is specific to the input: one might group image pixels that are nearby in 2D space, or genomic base pairs that are nearby in the linear genome. +In this way, CNNs consider context without making strong assumptions about exactly how much context is needed or how it should be encoded; the data informs the encoding. +A detailed description of how CNNs are applied to sequences can be found in Angermueller et al. [@doi:10.15252/msb.20156651]. + +![ + Contrasting approaches to extracting features from DNA or RNA sequence data. + Early models defined features of interest by hand based on prior knowledge about the prediction or clustering problem of interest, such as GC content or sequence melting point, as depicted in the left branch in the figure. + Convolutional models, depicted in the right branch, use sequence convolutions to derive features directly from sequence proximity, without requiring quantities of interest to be identified before the model is trained. + Red or blue emphasis denotes inputs to the predictive model (either the hand-defined numeric features on the left or the outputs of convolutional filters on the right). +](images/biopriors/sequence_features_revised.svg){#fig:sequence_features .white} + +#### Applications in regulatory biology + +Many early applications of deep learning to biological sequences were in regulatory biology. +Early CNNs for sequence data predicted binding protein sequence specificity from DNA or RNA sequence [@doi:10.1038/nbt.3300], variant effects from noncoding DNA sequence [@doi:10.1038/nmeth.3547], and chromatin accessibility from DNA sequence [@doi:10.1101/gr.200535.115]. + +Recent sequence models take advantage of hardware advances and methodological innovation to incorporate more sequence context and rely on fewer modeling assumptions. +BPNet, a CNN that predicts transcription factor binding profiles from DNA sequences, accurately mapped known locations of binding motifs in mouse embryonic stem cells [@doi:10.1101/737981]. +BPNet considers 1000 base pairs of context around each position when predicting binding probabilities with a technique called dilated convolutions [@arxiv:1511.07122], which is particularly important because motif spacing and periodicity can influence binding. +cDeepbind [@doi:10.1101/345140] combines RNA sequences with information about secondary structure to predict RNA binding protein affinities. +Its convolutional model acts on a feature vector combining sequence and structural information, using context for both to inform predictions. +APARENT [@doi:10.1016/j.cell.2019.04.046] is a CNN that predicts alternative polyadenylation (APA) from a training set of over 3 million synthetic APA reporter sequences. +These diverse applications underscore the power of modern deep learning models to synthesize large sequence datasets. + +Models that consider sequence context have also been applied to epigenetic data. +DeepSignal [@doi:10.1093/bioinformatics/btz276] is a CNN that uses contextual electrical signals from Oxford Nanopore single-molecule sequencing data to predict 5mC or 6mA DNA methylation status. +MRCNN [@doi:10.1186/s12864-019-5488-5] uses sequences of length 400, centered at CpG sites, to predict 5mC methylation status. +Deep learning models have also been used to predict gene expression from histone modifications [@doi:10.1101/329334; @doi:10.1093/bioinformatics/bty612]. +Here, a neural network model consisting of long short-term memory (LSTM) units was used to encode the long-distance interactions of histone marks in both the 3' and 5' genomic directions. +In each of these cases, proximity in the linear genome helped model the complex interactions between DNA sequence and epigenome. + +#### Applications in variant calling and mutation detection + +Identification of genetic variants also benefits from models that include sequence context. +DeepVariant [@doi:10.1038/nbt.4235] applies a CNN to images of sequence read pileups, using read data around each candidate variant to accurately distinguish true variants from sequencing errors. +CNNs have also been applied to single molecule (PacBio and Oxford Nanopore) sequencing data [@doi:10.1038/s41467-019-09025-z], using a different sequence encoding that results in better performance than DeepVariant on single molecule data. +However, many variant calling models still use hand-engineered sequence features as input to a classifier, including current state-of-the-art approaches to insertion/deletion calling [@doi:10.1101/601450; @doi:10.1101/628222]. +Detection of somatic mutations is a distinct but related challenge to detection of germline variants, and has also recently benefitted from use of CNNs [@doi:10.1038/s41467-019-09027-x]. + +### Network- and pathway-based models + +Rather than operating on sequences, many machine learning models in biomedicine operate on inputs that lack intrinsic order. +Models may make use of gene expression data matrices from RNA sequencing or microarray experiments in which rows represent samples and columns represent genes. +To account for relationships between genes, one might incorporate known interactions or correlations when making predictions or generating a low-dimensional representation of the data (Figure {@fig:network_models}). +This is comparable to the manner in which sequence context pushes models to consider nearby base pairs similarly. + +![ + The relationships between genes provide structure that can be incorporated into machine learning models. + One common approach is to use a network or collection of gene sets to embed the data in a lower-dimensional space, in which genes that are in the same gene sets or that are well-connected in the network have a similar representation in the lower-dimensional space. + The embedded data can then be used for classification or clustering tasks. + The "x" values in the data table represent gene expression measurements. +](images/biopriors/network_models_revised.svg){#fig:network_models .white} + +#### Applications in transcriptomics + +Models built from gene expression data can benefit from incorporating gene-level relationships. +One form that this knowledge commonly takes is a database of gene sets, which may represent biological pathways or gene signatures for a biological state of interest. +PLIER [@doi:10.1038/s41592-019-0456-1] uses gene set information from MSigDB [@doi:10.1073/pnas.0506580102] and cell type markers to extract a representation of gene expression data that corresponds to biological processes and reduces technical noise. +The resulting gene set-aligned representation accurately decomposed cell type mixtures. +MultiPLIER [@doi:10.1016/j.cels.2019.04.003] applied PLIER to the recount2 gene expression compendium [@doi:10.1038/nbt.3838] to develop a model that shares information across multiple tissues and diseases, including rare diseases with limited sample sizes. +PASNet [@doi:10.1186/s12859-018-2500-z] uses MSigDB to inform the structure of a neural network for predicting patient outcomes in glioblastoma multiforme (GBM) from gene expression data. +This approach aids interpretation, as pathway nodes in the network with high weights can be inferred to correspond to certain pathways in GBM outcome prediction. + +Gene-level relationships can also be represented with networks. +Network nodes typically represent genes and real-valued edges may represent interactions or correlations between genes, often in a tissue or cell type context of interest. +Network-based stratification [@doi:10.1038/nmeth.2651] is an early example of a method for utilizing gene interaction network data in this manner, applied to improve subtyping across several cancer types. +More recently, netNMF-sc [@doi:10.1101/544346] incorporates coexpression networks [@doi:10.1093/nar/gkw868] as a smoothing term for dimension reduction and dropout imputation in single-cell gene expression data. +The coexpression network improves performance for identifying cell types and cell cycle marker genes, as compared to using raw gene expression or other single-cell dimension reduction methods. +Combining gene expression data with a network-derived smoothing term also improved prediction of patient drug response in acute myeloid leukemia [@arxiv:1906.10670] and detection of mutated cancer genes [@doi:10.1038/s41598-017-03141-w]. +PIMKL [@doi:10.1038/s41540-019-0086-3] combines network and pathway data to predict disease-free survival from breast cancer cohorts. +This method takes as input both RNA-seq gene expression data and copy number alteration data, but can also be applied to gene expression data alone. + +Gene regulatory networks can also augment models for gene expression data. +These networks describe how the expression of genes is modulated by biological regulators such as transcription factors, microRNAs, or small molecules. +creNET [@doi:10.1038/s41598-018-19635-0] integrates a gene regulatory network, derived from STRING [@doi:10.1093/nar/gku1003], with a sparse logistic regression model to predict phenotypic response in clinical trials for ulcerative colitis and acute kidney rejection. +The gene regulatory information allows the model to identify the biological regulators associated with the response, potentially giving mechanistic insight into differential clinical trial response. +GRRANN [@doi:10.1186/s12859-017-1984-2], which was applied to the same data as creNET, uses a gene regulatory network to inform the structure of a neural network. +Several other methods [@doi:10.1093/nar/gkx681; @doi:10.1093/bioinformatics/bty945] have also used gene regulatory network structure to constrain the structure of a neural network, reducing the number of parameters to be fit and facilitating interpretation. + +#### Applications in genetics + +Approaches that incorporate gene set or network structure into genetic studies have a long history [@doi:10.1093/biostatistics/kxl007; @doi:10.1093/bioinformatics/btn081]. +Recent applications include expression quantitative trait loci (eQTL) mapping studies, which aim to identify associations between genetic variants and gene expression. +netReg [@doi:10.1093/bioinformatics/btx677] implements a graph-regularized dual LASSO algorithm for eQTL mapping [@doi:10.1093/bioinformatics/btu293] in a publicly available R package. +This model smooths regression coefficients simultaneously based on networks describing associations between genes (target variables in the eQTL regression model) and between variants (predictors in the eQTL regression model). +eQTL information is also used in conjunction with genetic variant information to predict phenotypes, in an approach known as Mendelian randomization (MR). +In [@doi:10.1111/biom.13072], a smoothing term derived from a gene regulatory network is used in an MR model. +The model with the network smoothing term, applied to a human liver dataset, more robustly identifies genes that influence enzyme activity than a network-agnostic model. +As genetic datasets grow, we expect that researchers will continue to develop models that leverage gene set and network databases. + +### Other models incorporating biological structure + +Knowledge about biological entities is often organized in an ontology, which is a directed graph that encodes relationships between entities (see Figure {@fig:ontology_models} for a visual example). +The Gene Ontology (GO) [@doi:10.1093/nar/gky1055] describes the relationships between cellular subsystems and other attributes describing proteins or genes. +DCell [@doi:10.1038/nmeth.4627] uses GO to inform the connectivity of a neural network predicting the effects of gene deletions on yeast growth. +DCell performs comparably to an unconstrained neural network for this task. +Additionally, it is easier to interpret: a cellular subsystem with high neuron outputs under a particular gene deletion can be inferred to be strongly affected by the gene deletion, providing a putative genotype-phenotype association. +DeepGO [@doi:10.1093/bioinformatics/btx624] uses a similar approach to predict protein function from amino acid sequence with a neural network constrained by the dependencies of GO. +However, a follow-up paper by the same authors [@doi:10.1093/bioinformatics/btz595] showed that this hierarchy-aware approach can be outperformed by a hierarchy-naive CNN, which uses only amino acid sequence and similarity to labeled training set proteins. +This suggests a tradeoff between interpretability and predictive accuracy for protein function prediction. + +![ + Directed graph-structured data, such as an ontology or phylogenetic tree, can be incorporated into machine learning models. + Here, the connections in the neural network used to predict a set of labels parallel those in the tree graph. + This type of constraint can also be useful in model interpretation: for example, if the nodes in the right tree branch have high neuron outputs for a given sample, then the subsystem encoded in the right branch of the tree graph is most likely important in making predictions for that sample. + The "x" values in the data table represent gene expression measurements. +](images/biopriors/ontology_models_revised.svg){#fig:ontology_models .white} + +Phylogenetic trees, or hierarchies describing the evolutionary relationships between species, can be useful for a similar purpose. +glmmTree [@doi:10.3389/fmicb.2018.01391] uses a phylogenetic tree describing the relationship between microorganisms to improve predictions of age based on gut microbiome data. +The same authors combine a similar phylogeny smoothing strategy with sparse regression to model caffeine intake and smoking status based on microbiome data [@doi:10.3389/fmicb.2018.03112]. +Phylogenetic trees can also describe the relationships between subclones of a tumor, which are fundamental to understanding cancer evolution and development. +Using a tumor phylogeny inferred from copy number aberration (CNA) sequencing data as a smoothing term for deconvolving tumor subclones provided more robust predictions than a phylogeny-free model [@doi:10.1007/978-3-030-17083-7_11]. +The tree structure of the phylogeny and the subclone mixture model are fit jointly to the CNA data. + +Depending on the application, other forms of structure or prior knowledge can inform predictions and interpretation of the model's output. +CYCLOPS [@doi:10.1073/pnas.1619320114] uses a circular node autoencoder [@doi:10.1162/neco.1996.8.2.390] to order periodic gene expression data and estimate circadian rhythms. +The authors validated the method by correctly ordering samples without temporal labels and identifying genes with known circadian expression. +They then applied it to compare gene expression in normal and cancerous liver biopsies, identifying drug targets with circadian expression as candidates for chronotherapy. +NetBiTE [@arxiv:1808.06603] uses drug-gene interaction information from GDSC [@doi:10.1093/nar/gks1111], in addition to protein interaction data, to build a tree ensemble model with splits that are biased toward high-confidence drug-gene interactions. +The model predicts sensitivity to drugs that inhibit critical signaling pathways in cancer, showing improved predictive performance compared to random forests, another commonly used tree ensemble model. + +### Conclusions + +As the quantity and richness of biomedical data has increased, sequence repositories and interaction databases have expanded and become more robust. +This raises opportunities to integrate these resources into the structure of machine learning models. +There have been several past attempts to benchmark and compare approaches to integrating structured data into predictive models in biomedicine, including the evaluation in [@doi:10.1371/journal.pone.0034796] and more recent studies in [@arxiv:1905.02295] and [@arxiv:1910.09600]. +Extending and broadening benchmarking efforts such as these will be vital, improving our understanding of the suitability of problem domains and datasets for the classes of methods described in this review. +In the future, we foresee that incorporating structured biomedical data will become commonplace for improving model interpretability and boosting performance when sample size is limited. diff --git a/content/images/biopriors/all_models.svg b/content/images/biopriors/all_models.svg new file mode 100644 index 0000000..10db649 --- /dev/null +++ b/content/images/biopriors/all_models.svg @@ -0,0 +1,2295 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + A T A G C G AT A T C G C T + + + + + + + + + + + + + + + + s1 + s2 + s3 + s4 + s6 + s5 + s7 + s8 + + 1 + 0 + 0 + 1 + 0 + 0 + 1 + 0 + + Sequence data + Labels orclusterassignments + + g4 + g5 + Gene sets, networks, etc. + + + g1 + g2 + g3 + g4 + g5 + s1 + s2 + s3 + s4 + s6 + s5 + s7 + s8 + + + + + + + + g1 + g2 + g3 + + + g1 + g2 + g3 + g4 + g5 + s1 + s2 + s3 + s4 + s6 + s5 + s7 + s8 + + + + + + + + x + x + x + x + x + x + x + x + + g1 + g2 + g3 + g4 + g5 + + + s1 + s2 + s3 + s4 + s6 + s5 + s7 + s8 + + 1 + 0 + 0 + 1 + 0 + 0 + 1 + 0 + Tabular data + Labels orcluster assignments + + + + + g1 + g2 + g3 + g4 + g5 + s1 + s2 + s3 + s4 + s6 + s5 + s7 + s8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + s1 + s2 + s3 + s4 + s6 + s5 + s7 + s8 + + 1 + 0 + 0 + 1 + 0 + 0 + 1 + 0 + + Structure ofontology,phylogeny, etc. + Labels orcluster assignments + Tabular data + + + + + diff --git a/content/images/biopriors/all_models_revised.svg b/content/images/biopriors/all_models_revised.svg new file mode 100644 index 0000000..8b45668 --- /dev/null +++ b/content/images/biopriors/all_models_revised.svg @@ -0,0 +1,6193 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/images/biopriors/network_models.svg b/content/images/biopriors/network_models.svg new file mode 100644 index 0000000..4e5c8d7 --- /dev/null +++ b/content/images/biopriors/network_models.svg @@ -0,0 +1,1105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + g1 + g2 + g3 + g4 + g5 + s1 + s2 + s3 + s4 + s6 + s5 + s7 + s8 + + + + + + + + g1 + g2 + g3 + g4 + g5 + + + g1 + g2 + g3 + g4 + g5 + s1 + s2 + s3 + s4 + s6 + s5 + s7 + s8 + + + + + + + + x + x + x + x + x + x + x + x + + g1 + g2 + g3 + g4 + g5 + + + s1 + s2 + s3 + s4 + s6 + s5 + s7 + s8 + + 1 + 0 + 0 + 1 + 0 + 0 + 1 + 0 + + Tabular data + Gene sets, networks, etc. + Labels orcluster assignments + + diff --git a/content/images/biopriors/network_models_revised.svg b/content/images/biopriors/network_models_revised.svg new file mode 100644 index 0000000..d513508 --- /dev/null +++ b/content/images/biopriors/network_models_revised.svg @@ -0,0 +1,2834 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/images/biopriors/ontology_models.svg b/content/images/biopriors/ontology_models.svg new file mode 100644 index 0000000..5a0c7bc --- /dev/null +++ b/content/images/biopriors/ontology_models.svg @@ -0,0 +1,982 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + g1 + g2 + g3 + g4 + g5 + s1 + s2 + s3 + s4 + s6 + s5 + s7 + s8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + s1 + s2 + s3 + s4 + s6 + s5 + s7 + s8 + + 1 + 0 + 0 + 1 + 0 + 0 + 1 + 0 + + Structure ofontology,phylogeny, etc. + Labels orcluster assignments + Tabular data + + diff --git a/content/images/biopriors/ontology_models_revised.svg b/content/images/biopriors/ontology_models_revised.svg new file mode 100644 index 0000000..3fe5795 --- /dev/null +++ b/content/images/biopriors/ontology_models_revised.svg @@ -0,0 +1,2098 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/images/biopriors/ontology_simple.png b/content/images/biopriors/ontology_simple.png new file mode 100644 index 0000000000000000000000000000000000000000..24e16acda5e115fbd2de9b310ef84261acb5903e GIT binary patch literal 65092 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

Co-7t`0-Sr=Kl8<7)p#A{9pylKky&Yen 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 literal 0 HcmV?d00001 diff --git a/content/images/biopriors/ontology_simple.svg b/content/images/biopriors/ontology_simple.svg new file mode 100644 index 0000000..2835f63 --- /dev/null +++ b/content/images/biopriors/ontology_simple.svg @@ -0,0 +1,709 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + s1 + s2 + s3 + s4 + s6 + s5 + s7 + s8 + + 1 + 0 + 0 + 1 + 0 + 0 + 1 + 0 + + + + + diff --git a/content/images/biopriors/sequence_features.svg b/content/images/biopriors/sequence_features.svg new file mode 100644 index 0000000..2f6fb2a --- /dev/null +++ b/content/images/biopriors/sequence_features.svg @@ -0,0 +1,680 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + A T A G C G AT A T C G C T + Sequence data + + + Tabular features defined by hand + A T A G C G AT A T C G C T + Sequence convolutions + + + #A + #G + GC content + Melting pt + s1 + s2 + s3 + s4 + s6 + s5 + s7 + s8 + + + + + + + + + + + + + + + + + + + s1 + s2 + s3 + s4 + s6 + s5 + s7 + s8 + + 1 + 0 + 0 + 1 + 0 + 0 + 1 + 0 + + Labels orclusterassignments + + diff --git a/content/images/biopriors/sequence_features_revised.svg b/content/images/biopriors/sequence_features_revised.svg new file mode 100644 index 0000000..45e3111 --- /dev/null +++ b/content/images/biopriors/sequence_features_revised.svg @@ -0,0 +1,1523 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/images/biopriors/sequence_models.svg b/content/images/biopriors/sequence_models.svg new file mode 100644 index 0000000..3f8fc56 --- /dev/null +++ b/content/images/biopriors/sequence_models.svg @@ -0,0 +1,459 @@ + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + A T A G C G AT A T C G C T + + + + + + + + + + + + + + + + s1 + s2 + s3 + s4 + s6 + s5 + s7 + s8 + + 1 + 0 + 0 + 1 + 0 + 0 + 1 + 0 + + Sequence data + Labels orclusterassignments + + From 50d9c5bd9f597093f28383f19eaa30c44a7ffc1f Mon Sep 17 00:00:00 2001 From: Jake Crawford Date: Fri, 1 Sep 2023 10:10:08 -0400 Subject: [PATCH 4/7] outline of cancer data/applications section --- content/12.data_review.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 content/12.data_review.md diff --git a/content/12.data_review.md b/content/12.data_review.md new file mode 100644 index 0000000..3d1231f --- /dev/null +++ b/content/12.data_review.md @@ -0,0 +1,26 @@ +## Cancer -omics data and applications + +### Publicly available cancer -omics data resources + +TCGA/ICGC, CCLE, DepMap/Pediatric DepMap, CMap/LINCS, GDSC/PRISM, PCAWG, AACR Genie, PDX Encyclopedia?, others? + - separate into human sample datasets (TCGA, ICGC, PCAWG, AACR) and cell line/model system datasets + +### Applications of machine learning in cancer genomics + +Cancer type/subtype prediction + - As a toy problem for method development, or as CUP prediction which is clinically relevant + +Driver gene prediction + +Mutation status/MSI/DDR/synthetic lethality prediction (can probably lump these all together) + +Survival/prognosis prediction, patient stratification + +Drug response prediction + - CCLE papers + - Immunotherapy papers (some in clinical cohorts) + +Metastasis/metastatic potential prediction + +Others? + From 17e7ec9476212de2f0ecc0974a05ec3c187d0571 Mon Sep 17 00:00:00 2001 From: Jake Crawford Date: Fri, 1 Sep 2023 11:48:11 -0400 Subject: [PATCH 5/7] cancer data resources section --- content/12.data_review.md | 17 +++++++++++++++-- content/manual-references.json | 19 +++++++++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/content/12.data_review.md b/content/12.data_review.md index 3d1231f..f2d2729 100644 --- a/content/12.data_review.md +++ b/content/12.data_review.md @@ -2,8 +2,21 @@ ### Publicly available cancer -omics data resources -TCGA/ICGC, CCLE, DepMap/Pediatric DepMap, CMap/LINCS, GDSC/PRISM, PCAWG, AACR Genie, PDX Encyclopedia?, others? - - separate into human sample datasets (TCGA, ICGC, PCAWG, AACR) and cell line/model system datasets +A wealth of public cancer genomics and multi-omics human sample resources have been generated in the past decade. +As mentioned in the introduction, the TCGA Pan-Cancer Atlas [@pancanatlas] contains data spanning 33 cancer types and multiple -omics data types, including mutation, CNV, gene expression, miRNA, DNA methylation, reverse phase protein array (RPPA) proteomics data, and clinical outcome data [@doi:10.1016/j.cell.2018.02.052]. +The International Cancer Genome Consortium (ICGC) data portal is an initiative to unite and harmonize data from many worldwide cancer projects including TCGA, mostly focused on DNA/somatic mutation data but containing some gene expression and other -omics data [@doi:10.1038/s41587-019-0055-9]. +The Pan-Cancer Analysis of Whole Genomes (PCAWG) project attempts to expand from the whole-exome sequencing provided by TCGA to whole-genome sequencing, providing data and analysis for 2,658 whole genome cancer samples [@doi:10.1038/s41586-020-1969-6] +The American Association for Cancer Research (AACR)'s Project GENIE (Genomics, Evidence, Neoplasia, Information, Exchange) is another large-scale initiative to share genomic data, with the intention of complementing TCGA and allowing for external validation of methods and biological findings [@doi:10.1158/2159-8290.CD-17-0151]. +Unlike TCGA, which contains whole-exome sequencing data, the GENIE dataset is primarily comprised of targeted sequencing panels of a subset of cancer-relevant genes. + +In addition to samples derived from human tumors or neoplasms, data from model systems such as cancer cell lines and mouse models are an important element of therapeutic development. +The Cancer Cell Line Encyclopedia (CCLE) contains a variety of uniformly processed -omics data across more than 1000 human-derived cell lines, including somatic mutations, CNV data, gene fusion information, and gene expression [@doi:10.1038/s41586-019-1186-3]. +The Cancer Dependency Map (DepMap) complements CCLE with information about cancer cell line vulnerabilities, derived from CRISPR and RNAi knockout screens [@doi:10.1038/s41467-021-21898-7; @doi:10.1038/s41588-021-00819-w]. +The Connectivity Map (CMap) and LINCS L1000 project aims to catalog the responses of cell lines to both genetic and pharmacological perturbations, identifying the changes to gene expression and protein expression that result [@doi:10.1016/j.cell.2017.10.049]. +The GDSC and PRISM drug screening datasets provide cell viability dose-response readings for many of the cell lines in CCLE, after perturbation with small molecules [@doi:10.1093/nar/gks1111; @doi:10.1038/s43018-019-0018-6]. +Aside from cell lines, the PDX Encyclopedia is a dataset of patient-derived xenograft (PDX) mouse model data, including more than 1000 models with mutation, CNV, and gene expression data for each [@doi:10.1038/nm.3954]. +Organoid dataset? +The National Cancer Institute's Patient-Derived Models Repository (PDMR) also contains mutation and gene expression profiles for mouse models and patient-derived organoids (PDOs) [@doi:10.1038/s41467-021-25177-3; @pdmr], although it is still under development. ### Applications of machine learning in cancer genomics diff --git a/content/manual-references.json b/content/manual-references.json index 75bffea..f355f95 100644 --- a/content/manual-references.json +++ b/content/manual-references.json @@ -206,6 +206,25 @@ } ] }, +{ + "id": "pdmr", + "type": "webpage", + "URL": "https://pdmr.cancer.gov/", + "title": "NCI Patient-Derived Models Repository", + "container-title": "Webpage", + "issued": { + "date-parts": [ + [ + 2023 + ] + ] + }, + "author": [ + { + "literal": "National Cancer Institute (NCI), National Institutes of Health" + } + ] +}, { "id": "mut_sigs", "type": "webpage", From 36512830ff37541e21c862e33bfc4877d5319526 Mon Sep 17 00:00:00 2001 From: Jake Crawford Date: Mon, 4 Sep 2023 11:17:26 -0400 Subject: [PATCH 6/7] ML in cancer -omics section --- content/12.data_review.md | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/content/12.data_review.md b/content/12.data_review.md index f2d2729..e8093df 100644 --- a/content/12.data_review.md +++ b/content/12.data_review.md @@ -20,20 +20,24 @@ The National Cancer Institute's Patient-Derived Models Repository (PDMR) also co ### Applications of machine learning in cancer genomics -Cancer type/subtype prediction - - As a toy problem for method development, or as CUP prediction which is clinically relevant - -Driver gene prediction - -Mutation status/MSI/DDR/synthetic lethality prediction (can probably lump these all together) - -Survival/prognosis prediction, patient stratification - -Drug response prediction - - CCLE papers - - Immunotherapy papers (some in clinical cohorts) - -Metastasis/metastatic potential prediction - -Others? - +Historically, one common use of -omics data in cancer has been to define subtypes, or clinically relevant patient subsets that may have similar prognosis or respond similarly to therapy. +Many studies have sought to distinguish tumor samples from control/normal samples, to identify subtypes of a particular cancer type, or to distinguish samples of a particular cancer type/tissue of origin from samples of other cancer types (e.g. [@doi:10.1186/s12920-020-0677-2; @doi:10.3389/fbioe.2020.00737; @doi:10.1109/TBME.2012.2225622; @doi:10.1186/s13073-023-01176-5]). +External validation is difficult, however, since samples in TCGA were taken from patients who had already been clinically diagnosed with a particular cancer type or subtype, i.e. without using machine learning. +Potentially a more clinically relevant way to frame the problem is to classify cancers of unknown primary (CUP), which are metastatic cancers where the primary site cannot be identified in the clinic. +Machine learning approaches have identified cell lineages and developmental trajectories for CUP samples [@doi:10.1158/2159-8290.CD-21-1443] and integrated electronic health record (EHR) data and genomic data to suggest targeted therapies for CUP patients [@doi:10.1038/s41591-023-02482-6]. +Relatedly, distinguishing primary samples from metastatic samples, or predicting metastatic potential of primary samples, is another classification problem which -omics data has been applied to [@doi:10.1038/s41467-019-13825-8; @doi:10.1101/2020.09.07.286583; @doi:10.1371/journal.pcbi.1009956] + +Prediction of drug response from genomic data, often combined with clinical features or other metadata, is a machine learning problem with clear clinical applications. +Given the availability and uniformity of the cell line data in CCLE, and drug response data in GDSC, PRISM and other cell line datasets, many method development efforts have centered on these data sources. +Examples include prediction of drug response from integrated multi-omics data [@doi:10.1093/bioinformatics/btz318], prediction of drug response using perturbation modeling via CMap as an intermediate step [@doi:10.1093/bioinformatics/btz158], and prediction of drug response via single-cell transcriptomic data [@doi:10.1101/2022.01.11.475728], among many others (reviewed in [@doi:10.1093/bib/bbab294; @doi:10.1038/s41467-022-34277-7; @doi:10.1038/s41598-023-39179-2]). +Large datasets of human-derived genomic data with associated drug response annotations are more difficult to find. +Still, there have been attempts to develop and/or validate models on human data, including for prediction of immunotherapy response which benefits from applications across a wide range of cancer types [@doi:10.1038/s41587-021-01070-8; @doi:10.1016/j.ccell.2023.06.006; @doi:10.1101/2020.09.03.260265]. +Prognosis or patient survival prediction from multi-omics data is another area of modeling that leverages widely available clinical metadata, reviewed in detail in many existing papers [@doi:10.1186/1471-2288-12-102; @doi:10.1093/bib/bbu003; @doi:10.1186/s12885-021-08796-3; @doi:10.1016/j.csbj.2014.11.005]. + +Much of our work, described later in this thesis, stems from the idea of predicting the mutation status in key driver genes of cancer samples, based on functional readouts such as gene expression [@doi:10.1158/1078-0432.CCR-13-1943; @doi:10.1016/j.celrep.2018.03.046; @doi:10.1186/s13059-020-02021-3; @doi:10.1371/journal.pone.0241514]. +At first consideration, an accurate mutation status classifier may not seem particularly useful, since for a patient sample a clinician could simply sequence the genome, or select genes in the genome, to determine driver mutation status. +One application of accurate mutation status classifiers, however, could be to identify samples with a similar phenotype to those with a driver mutation, but _without_ the mutation being present in DNA sequencing data. +Observed examples of this phenomenon include the "BRCAness" phenotype in samples without _BRCA1_/_BRCA2_ mutations [@doi:10.1038/nrc.2015.21], and the "Ph-like" leukemia phenotype in samples without the Philadelphia chromosome fusion [@doi:10.1182/asheducation-2016.1.561], among others. +Following this line of reasoning, algorithms have been developed to identify mutations that "phenocopy" known cancer drivers [@doi:10.1142/9789811215636_0031; @doi:10.1101/2022.07.28.501874], and to integrate this information into drug response prediction pipelines to define larger and more accurate patient subgroups [@doi:10.1038/s41525-022-00328-7]. +Related machine learning approaches to genomic prediction/phenotype identification include methods for identifying DNA damage repair deficiencies based on genomic data [@doi:10.1038/nm.4292; @doi:10.1038/s43018-022-00474-y] and for identifying synthetic lethal relationships for use in targeted therapy selection [@doi:10.1016/j.cell.2021.03.030]. +(something about applications to basket clinical trials, etc) From a7976177badf6fe04e827f3c0faf50ae88220c34 Mon Sep 17 00:00:00 2001 From: Jake Crawford Date: Mon, 4 Sep 2023 12:39:12 -0400 Subject: [PATCH 7/7] some edits to ML section --- content/12.data_review.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/content/12.data_review.md b/content/12.data_review.md index e8093df..2211108 100644 --- a/content/12.data_review.md +++ b/content/12.data_review.md @@ -15,8 +15,7 @@ The Cancer Dependency Map (DepMap) complements CCLE with information about cance The Connectivity Map (CMap) and LINCS L1000 project aims to catalog the responses of cell lines to both genetic and pharmacological perturbations, identifying the changes to gene expression and protein expression that result [@doi:10.1016/j.cell.2017.10.049]. The GDSC and PRISM drug screening datasets provide cell viability dose-response readings for many of the cell lines in CCLE, after perturbation with small molecules [@doi:10.1093/nar/gks1111; @doi:10.1038/s43018-019-0018-6]. Aside from cell lines, the PDX Encyclopedia is a dataset of patient-derived xenograft (PDX) mouse model data, including more than 1000 models with mutation, CNV, and gene expression data for each [@doi:10.1038/nm.3954]. -Organoid dataset? -The National Cancer Institute's Patient-Derived Models Repository (PDMR) also contains mutation and gene expression profiles for mouse models and patient-derived organoids (PDOs) [@doi:10.1038/s41467-021-25177-3; @pdmr], although it is still under development. +The National Cancer Institute's Patient-Derived Models Repository (PDMR) also contains mutation and gene expression profiles for mouse models and patient-derived tumor organoids, or tumoroids [@doi:10.1038/s41467-021-25177-3; @pdmr], although it is still under development. ### Applications of machine learning in cancer genomics @@ -25,19 +24,20 @@ Many studies have sought to distinguish tumor samples from control/normal sample External validation is difficult, however, since samples in TCGA were taken from patients who had already been clinically diagnosed with a particular cancer type or subtype, i.e. without using machine learning. Potentially a more clinically relevant way to frame the problem is to classify cancers of unknown primary (CUP), which are metastatic cancers where the primary site cannot be identified in the clinic. Machine learning approaches have identified cell lineages and developmental trajectories for CUP samples [@doi:10.1158/2159-8290.CD-21-1443] and integrated electronic health record (EHR) data and genomic data to suggest targeted therapies for CUP patients [@doi:10.1038/s41591-023-02482-6]. -Relatedly, distinguishing primary samples from metastatic samples, or predicting metastatic potential of primary samples, is another classification problem which -omics data has been applied to [@doi:10.1038/s41467-019-13825-8; @doi:10.1101/2020.09.07.286583; @doi:10.1371/journal.pcbi.1009956] +Relatedly, distinguishing primary samples from metastatic samples, or predicting metastatic potential of primary samples, is another classification problem which -omics data has been used for [@doi:10.1038/s41467-019-13825-8; @doi:10.1101/2020.09.07.286583; @doi:10.1371/journal.pcbi.1009956] Prediction of drug response from genomic data, often combined with clinical features or other metadata, is a machine learning problem with clear clinical applications. Given the availability and uniformity of the cell line data in CCLE, and drug response data in GDSC, PRISM and other cell line datasets, many method development efforts have centered on these data sources. -Examples include prediction of drug response from integrated multi-omics data [@doi:10.1093/bioinformatics/btz318], prediction of drug response using perturbation modeling via CMap as an intermediate step [@doi:10.1093/bioinformatics/btz158], and prediction of drug response via single-cell transcriptomic data [@doi:10.1101/2022.01.11.475728], among many others (reviewed in [@doi:10.1093/bib/bbab294; @doi:10.1038/s41467-022-34277-7; @doi:10.1038/s41598-023-39179-2]). +Examples include prediction of drug response from integrated multi-omics data [@doi:10.1093/bioinformatics/btz318], prediction of drug response using perturbation modeling via CMap as an intermediate step [@doi:10.1093/bioinformatics/btz158], and prediction of drug response via single-cell transcriptomic data [@doi:10.1101/2022.01.11.475728], among many others reviewed in [@doi:10.1093/bib/bbab294; @doi:10.1038/s41467-022-34277-7; @doi:10.1038/s41598-023-39179-2]. Large datasets of human-derived genomic data with associated drug response annotations are more difficult to find. Still, there have been attempts to develop and/or validate models on human data, including for prediction of immunotherapy response which benefits from applications across a wide range of cancer types [@doi:10.1038/s41587-021-01070-8; @doi:10.1016/j.ccell.2023.06.006; @doi:10.1101/2020.09.03.260265]. Prognosis or patient survival prediction from multi-omics data is another area of modeling that leverages widely available clinical metadata, reviewed in detail in many existing papers [@doi:10.1186/1471-2288-12-102; @doi:10.1093/bib/bbu003; @doi:10.1186/s12885-021-08796-3; @doi:10.1016/j.csbj.2014.11.005]. Much of our work, described later in this thesis, stems from the idea of predicting the mutation status in key driver genes of cancer samples, based on functional readouts such as gene expression [@doi:10.1158/1078-0432.CCR-13-1943; @doi:10.1016/j.celrep.2018.03.046; @doi:10.1186/s13059-020-02021-3; @doi:10.1371/journal.pone.0241514]. At first consideration, an accurate mutation status classifier may not seem particularly useful, since for a patient sample a clinician could simply sequence the genome, or select genes in the genome, to determine driver mutation status. -One application of accurate mutation status classifiers, however, could be to identify samples with a similar phenotype to those with a driver mutation, but _without_ the mutation being present in DNA sequencing data. -Observed examples of this phenomenon include the "BRCAness" phenotype in samples without _BRCA1_/_BRCA2_ mutations [@doi:10.1038/nrc.2015.21], and the "Ph-like" leukemia phenotype in samples without the Philadelphia chromosome fusion [@doi:10.1182/asheducation-2016.1.561], among others. +One application of accurate mutation status classifiers, however, is to identify samples with a similar phenotype to those with a driver mutation, but _without_ the mutation being present in DNA sequencing data. +Observed examples of this phenomenon include the "BRCAness" phenotype in tumors without observed _BRCA1_/_BRCA2_ mutations [@doi:10.1038/nrc.2015.21], and the "Ph-like" leukemia phenotype in the absence of the Philadelphia chromosome fusion [@doi:10.1182/asheducation-2016.1.561], among others. Following this line of reasoning, algorithms have been developed to identify mutations that "phenocopy" known cancer drivers [@doi:10.1142/9789811215636_0031; @doi:10.1101/2022.07.28.501874], and to integrate this information into drug response prediction pipelines to define larger and more accurate patient subgroups [@doi:10.1038/s41525-022-00328-7]. Related machine learning approaches to genomic prediction/phenotype identification include methods for identifying DNA damage repair deficiencies based on genomic data [@doi:10.1038/nm.4292; @doi:10.1038/s43018-022-00474-y] and for identifying synthetic lethal relationships for use in targeted therapy selection [@doi:10.1016/j.cell.2021.03.030]. -(something about applications to basket clinical trials, etc) +Such methods could be useful for defining broader and more representative patient groups than would be possible based solely on somatic mutation status, that may exhibit similar tumor phenotypes or respond to similar therapies. +For example, in "basket" clinical trials where patients are included across cancer types based on the presence or absence of individual molecular markers [@doi:10.1200/jco.2014.58.2007], including "phenocopies" could improve efficacy for some targeted therapies.