Een abonnement op JoVE is vereist om deze inhoud te bekijken. Log in of start vandaag met uw gratis proefperiode.

Methodenartikel

Modellen bouwen en visualiseren met behulp van Mime-based Machine-learning Framework

3.8K weergaven

DOI:

10.3791/68553

22 juli 2025

* These authors contributed equally

In dit artikel

Samenvatting

Mime is een flexibel computationeel framework om een op machine learning gebaseerd integratiemodel met elegante prestaties te bouwen. Hier bieden we een gedetailleerde stapsgewijze procedure voor het ontwikkelen van voorspellende modellen met hoge nauwkeurigheid, waarbij gebruik wordt gemaakt van complexe datasets om kritieke genen te identificeren die verband houden met ziekteprogressie, patiëntresultaten en therapeutische respons.

Samenvatting

De wijdverbreide high-throughput sequencing-technologie heeft ons begrip van biologie en heterogeniteit van kanker aanzienlijk verbeterd. Machine learning-algoritmen op transcriptionele gegevens zijn van vitaal belang geworden voor het voorspellen van de prognose van patiënten en klinische reacties. Ondanks de vooruitgang in machine learning-algoritmen, blijft een open-sourceplatform dat de meest geavanceerde machine learning-algoritmen op transcriptionele gegevens bevat, afwezig. Om deze kloof te dichten, hebben we Mime ontwikkeld, een veelzijdig raamwerk voor machine learning om de constructie en visualisatie van voorspellende modellen voor klinische kenmerken en gensignaturen te verbeteren. Door diverse datasets te integreren en gebruik te maken van de meest geavanceerde technieken voor functieselectie, pakt Mime kritieke uitdagingen in klinische voorspellingen aan. Het biedt drie hoofdfuncties, waaronder modelconstructie, functieselectie en gegevensvisualisatie. Modelconstructie omvat een reeks machine learning-algoritmen, inclusief maar niet beperkt tot beslissingsbomen, ondersteunende vectormachines en ensemblemethoden, waardoor onderzoekers de best passende aanpak voor hun specifieke analyse kunnen selecteren. Functieselectie maakt gebruik van geavanceerde algoritmen zoals recursieve functie-eliminatie en LASSO-regressie om de dataset te stroomlijnen en zich te concentreren op de meest informatieve functies. Het framework ondersteunt aanpasbare parameterafstemming door middel van kruisvalidatiemethoden, waardoor de modelprestaties worden geoptimaliseerd en de risico's van overfitting worden beperkt. Visualisatietools die in Mime zijn geïntegreerd, stellen onderzoekers in staat om modelresultaten effectief te interpreteren, met grafische weergaven van het belang van functies en voorspellende prestatiestatistieken. In dit manuscript geven we een gedetailleerde tutorial over de stapsgewijze procedures van dit veelzijdige machine-learningframework.

Inleiding

De wijdverbreide acceptatie van high-throughput sequencing-technologieën heeft ons begrip van biologie en kankerheterogeniteit aanzienlijk beïnvloed1. Deze baanbrekende vooruitgang in de biotechnologie heeft niet alleen onze wetenschappelijke kennis verdiept, maar heeft ook een revolutie teweeggebracht op het gebied van medisch onderzoek. Door wetenschappers in staat te stellen grote hoeveelheden genetisch materiaal snel en nauwkeurig te sequencen, heeft high-throughput sequencing de ontdekking van nieuwe genen, mutaties en biologische routes versneld. Een groeiend aantal onderzoeken heeft specifieke moleculaire handtekeningen afgebakend die verband houden met ziekteprogressie, patiëntprognose en therapeutische respons op basis van sequentiegegevens 2,3,4. Deze specifieke handtekeningen bieden een uitgebreid landschap van begrip van het transcriptionele regulerende netwerk dat ten grondslag ligt aan tumorbiologie, inclusief tumoroorsprong, differentiatie, migratie en behandelingsresistentie5. Deze kenmerken zijn vaak divers en gevarieerd en omvatten meerdere facetten in plaats van beperkt te zijn tot een enkele tentoonstelling. Dit maakt het moeilijk om specifieke genen te screenen en te identificeren die sterk geassocieerd zijn met de ziekte. Er is dus dringend behoefte aan verstandige computationele strategieën om cruciale genen die betrokken zijn bij ziekte te screenen.

Machine learning (ML) is een tak van kunstmatige intelligentie die zich richt op het bouwen van systemen die kunnen leren van complexe datasets, patronen kunnen identificeren en een voorspellend model met hoge nauwkeurigheid kunnen ontwikkelen om een referentie te bieden voor het nemen van beslissingen6. Onlangs is de ontwikkeling van op machine learning gebaseerde modellen op basis van transcriptoomgegevens om patiëntresultaten te voorspellen of ziekten te diagnosticeren snel gevorderd bij een verscheidenheid aan ziekten 7,8,9,10. De prestaties van deze modellen variëren vaak sterk vanwege de verschillende datasets en algoritmen die voor training worden gebruikt. Het selecteren van het optimale model voor latere experimenten en klinische toepassingen is een dringende uitdaging gebleken. Een haalbare aanpak omvat het vergelijken van de prestaties van verschillende modellen en het selecteren van de meest veelbelovende voor verder gebruik 7,11. Bovendien vormt de diversiteit in parameters en resultaatformaten die in verschillende computerframeworks worden ondersteund, aanzienlijke uitdagingen voor vergelijkende analyse. Er is momenteel echter geen software die geavanceerde machine learning-algoritmen integreert om de sterke en zwakke punten van verschillende modellen te vergelijken en het parameterselectieproces te vereenvoudigen, waardoor het voor gebruikers gemakkelijker toegankelijk wordt. Er is dus behoefte aan de ontwikkeling van gebruiksvriendelijke software die de integratie van transcriptionele gegevens met diverse machine learning-algoritmen kan vergemakkelijken, terwijl ook de huidige beperkingen van biomarkerselectie en modelinterpretatie worden aangepakt. Dergelijke ontwikkelingen zullen ons vermogen om waardevolle inzichten te verschaffen in de huidige onderzoeksgebieden aanzienlijk vergroten en uiteindelijk de patiëntresultaten verbeteren.

In deze studie hebben we een open-source R-pakket ontwikkeld met de naam Mime12, dat robuuste prestaties laat zien in alle datasets en tot doel heeft de integratie van transcriptoomdatasets met verschillende machine learning-algoritmen te stroomlijnen, waardoor de bijbehorende processen worden vereenvoudigd. Om potentiële kandidaten te identificeren op basis van grootschalige transcriptoomgegevens en optimale modellen te ontwikkelen, biedt Mime vier toepassingsfuncties: een optimaal prognosemodel dat is geconstrueerd door 10 machine learning-algoritmen te integreren; een binair responsmodel dat is geconstrueerd met behulp van zeven machine learning-algoritmen; kernkenmerken met betrekking tot prognose geïdentificeerd met behulp van acht machine learning-algoritmen; en visualisatie van de prestaties van elk model.

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Protocol

OPMERKING: De tutorials voor deze studie worden allemaal uitgevoerd op het Linux-platform met behulp van R-software. De versie van het R-pakket die in dit protocol wordt gebruikt, wordt vermeld in de Materiaaltabel. Elke stap die nodig is voor analyse wordt hieronder weergegeven en een gedetailleerd protocol kan ook worden verkregen op GitHub (https://github.com/l-magnificence/Mime). Gebruikers die problemen ondervinden met Mime, kunnen naar de GitHub-probleempagina (https://github.com/l-magnificence/Mime/issues) gaan om feedback te geven.

1. Voorbereiding van Mime en voorbeeld dataset

  1. Installeer de ontwikkelversie van Mime van GitHub met behulp van de onderstaande code:
    devtools::install_github("l-magnificence/Mime")
  2. Bereid meerdere cohorten voor met transcriptionele sequencinggegevens met informatie over overleving of klinische respons op therapie. Hier zijn twee voorbeeldgegevens (Example.cohort en Example.ici) gebruikt voor het uitvoeren van Mime. Example.cohort bevat twee glioomgegevenssets; elk selecteerde willekeurig 100 monsters uit respectievelijk de TCGA- en CGGA-database. Terwijl Example.ici willekeurig geselecteerde 100 monsters voor de behandeling bevat met immuuncheckpointremmers uit eerdere studie12. Alle voorbeeldgegevens kunnen worden verkregen uit GitHub (https://github.com/l-magnificence/Mime/tree/main/External%20data)
    1. Neem meerdere gegevenssets op om voorspellende modellen voor prognose te maken in Example.cohort. De eerste kolom-ID in elke dataset is de voorbeeld-ID, de tweede en derde kolom OS.time en OS in elke dataset zijn de overlevingstijd en status van patiënten; Andere kolommen in elke dataset zijn het genexpressieniveau geschaald met Log2(x+1). Dataset1 is de trainingsdataset, terwijl andere datasets ter validatie zijn. Gebruik de volgende indeling voor Example.cohort:
      load ("./Example.cohort.Rdata" )
      list_train_vali_Data [["Dataset1" ]][1:5,1:5]
      #> ID OS.time OS MT-CO1 MT-CO3
      #> TCGA.DH.A66B.01 1281.65322 0 13.77340 13.67931
      #> TCGA.HT.7607.01 96.19915 1 14.96535 14.31857
      #> TCGA.DB.A64Q.01 182.37755 0 13.90659 13.65321
      #> TCGA.DU.8167.01 471.97707 0 14.90695 14.59776
      #> TCGA.HT.7610.01 1709.53901 0 15.22784 14.62756
    2. Voeg meerdere gegevenssets toe om voorspellende modellen te maken voor de reactie in Example.ici. De eerste kolom-ID in elke dataset is de voorbeeld-ID, de tweede kolom Var in elke dataset is de therapeutische respons van patiënten (N: Geen respons; Y: respons), en de andere kolommen in elke gegevensset zijn het genexpressieniveau geschaald met log2(x+1). Training is de trainingsdataset, terwijl andere datasets ter validatie zijn. Gebruik de volgende indeling voor Example.ici:
      load("./Example.ici.Rdata")
      list_train_vali_Data[["training"]][1:5,1:5]

      #> ID Var FTH1 EEF1A1 ACTB
      #> SAMf2ce197162ce N 10.114846 4.817746 11.230180
      #> ERR2208915 Y 2.044180 5.038854 3.977902
      #> G138701_RCCBMS Y 5.406008 5.341635 5.366668
      #> SAMe41b1e773582 N 9.215794 4.707360 11.412721
      #> SAM5ffd7e4cd794 N 9.003710 3.908884 10.440559
  3. Bereid een genenset voor. Hier werd een genenset (genelist) geassocieerd met Wnt/β-catenine-signalering van MSigDB gebruikt voor het uitvoeren van Mime. Gebruik het volgende formaat voor genelist:
    load ("./genelist.Rdata" )
    #> [1] "MYC" "CTNNB1" "JAG2" "NOTCH1" "DLL1" "AXIN2" "PSEN2" "FZD1" "NOTCH4" "LEF1" "AXIN1" "NKD1" "WNT5B"
    #>[14] "CUL1" "JAG1" "MAML1" "KAT2A" "GNAI1" "WNT6" "PTCH1" "NCOR2" "DKK4" "HDAC2" "DKK1" "TCF7" "WNT1"
    #>[27] "NUMB" "ADAM17" "DVL2" "PPARD" "NCSTN" "HDAC5" "CCND2" "FRAT1" "CSNK1E" "RBPJ" "FZD8" "TP53" "SKP2"
    #>[40] "HEY2" "HEY1" "HDAC11"

2. Voorspellende modellen bouwen voor prognose

  1. Gebruik de functie ML.Dev.Prog.Sig() in Mime op basis van Example.cohort en genelist om voorspellende modellen voor prognose te maken. Gebruik de volgende codes:
    library (Mime1)
    load ("./Example.cohort.Rdata" )
    load ("./genelist.Rdata" )
    res <- ML.Dev.Prog.Sig (train_data = list_train_vali_Data $Dataset1,
    list_train_vali_Data = list_train_vali_Data,
    unicox.filter.for.candi = T,
    unicox_p_cutoff = 0.05,
    candidate_genes = genelist,
    mode = 'all',nodesize =5,seed = 5201314 )
  2. Gebruik de functie cindex_dis_all() in Mime om de C-index van elk model uit te zetten en het optimale model met de hoogste C-index te selecteren. Gebruik de volgende codes:
    cindex_dis_all (res,validate_set = names (list_train_vali_Data )[-1 ],
    order =names (list_train_vali_Data ),width = 0.35 )
  3. Bereken de overlevingscurve van patiënten op basis van risicoscore met behulp van een specifiek model uit verschillende datasets en verwerk dat in Mime. Gebruik de volgende codes:
    survplot <- vector ("list",2 )
    for (i in c (1:2)) {
    print (survplot [[i ]]<-rs_sur (res,
    model_name = "StepCox[forward] + plsRcox",
    dataset = names (list_train_vali_Data )[i ],
    median.line = "hv",
    cutoff = 0.5,
    conf.int = T,
    xlab ="Day",pval.coord =c (1000,0.9 )))
    }
    aplot ::plot_list (gglist =survplot,ncol =2 )
  4. Gebruik vervolgens de functie cal_AUC_ml_res() in Mime om de tijdsafhankelijke AUC te berekenen die wordt voorspeld door de geconstrueerde modellen. Gebruik de volgende codes:
    all.auc.1y <- cal_AUC_ml_res (res.by.ML.Dev.Prog.Sig =res,
    train_data = list_train_vali_Data [["Dataset1" ]],
    inputmatrix.list =list_train_vali_Data,
    mode = 'all',AUC_time = 1,
    auc_cal_method ="KM" )
  5. Gebruik de functie auc_dis_all() in Mime om de tijdsafhankelijke AUC te plotten die door elk model wordt voorspeld. Gebruik de volgende codes:
    auc_dis_all(all.auc.1y,
    dataset = names(list_train_vali_Data),
    validate_set=names(list_train_vali_Data)[-1],
    order= names(list_train_vali_Data),
    width = 0.35,
    year=1)
  6. Verwerk de tijdsafhankelijke ROC-curve van een specifiek model tussen verschillende datasets in Mime. Gebruik de volgende codes:
    roc_vis(all.auc.1y,
    model_name = "StepCox[forward] + plsRcox",
    dataset = names(list_train_vali_Data),
    order= names(list_train_vali_Data),
    anno_position=c(0.65,0.55),
    year=1)

3. Voorspellende modellen voor respons construeren

  1. Gebruik een andere functie ML.Dev.Pred.Category.Sig() in Mime op basis van Example.ici en genelist om voorspellende modellen voor therapeutische respons te construeren. Gebruik de volgende codes:
    load("./Example.ici.Rdata")
    load("./genelist.Rdata")
    res.ici <- ML.Dev.Pred.Category.Sig(
    train_data = list_train_vali_Data$training,
    list_train_vali_Data = list_train_vali_Data,
    candidate_genes = genelist,
    methods = c('nb','svmRadialWeights','rf',
    'kknn','adaboost','LogitBoost',
    'cancerclass'),
    seed = 5201314,
    cores_for_parallel = 60
    )
  2. Gebruik de functie auc_vis_category_all() in Mime om de AUC uit te zetten die door elk model wordt voorspeld. Gebruik de volgende codes:
    auc_vis_category_all(res.ici,dataset = c("training","validation"),
    order= c("training","validation"))
  3. Verwerk de ROC-curve van een specifiek model tussen verschillende datasets in Mime. Gebruik de volgende codes:
    plot_list<-list()
    methods <- c('nb','svmRadialWeights','rf','kknn', 'adaboost','LogitBoost','cancerclass')
    for (i in methods) {
    plot_list[[i]]<-roc_vis_category(res.ici,model_name = i,
    dataset = c("training","validation"),
    order= c("training","validation"),
    anno_position=c(0.4,0.25))
    }
    aplot::plot_list(gglist=plot_list,ncol=3)

4. Selectie van kernfuncties

  1. Gebruik de functie ML.Corefeature.Prog.Screen() in Mime op basis van Example.cohort en genelist om kritieke genen te identificeren. Gebruik de volgende codes:
    load("./Example.cohort.Rdata")
    load("./genelist.Rdata")
    res.feature.all <- ML.Corefeature.Prog.Screen(
    InputMatrix = list_train_vali_Data$Dataset1,
    candidate_genes = genelist,
    mode = "all",nodesize =5,seed = 5201314 )
  2. De outputgenen zijn nauw verbonden met de uitkomst van de patiënt en een hogere frequentie van gescreende variabelen betekent dat dit kernkenmerken zijn (de meest gefilterde variabelen worden gedefinieerd als kernkenmerken). Gebruik de functie core_feature_rank() in Mime om de rang van genen uit te zetten die met verschillende methoden zijn gefilterd. Gebruik de volgende codes:
    core_feature_rank(res.feature.all, top=20)

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Resultaten

De genelist en het Example.cohort, waaronder één trainingscohort en één validatiecohort, werden gebruikt om prognostische modellen te construeren door 10 machine learning-algoritmen in Mime te integreren. Van de 117 prognosemodellen die door Mime zijn gebouwd, had het gecombineerde model StepCox [forward] + plsRcox (SPCOM) de hoogste C-index van alle cohorten, wat wijst op uitstekende prestaties (Figuur 1A). Patiënten werden verder onderverdeeld in groepen m...

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Discussie

In dit onderzoek geven we een gedetailleerde beschrijving van hoe het Mime-pakket kan worden gebruikt om robuuste en krachtige machine-learning voorspellende modellen voor transcriptomische gegevens te ontwikkelen. In eerdere studies worstelden onderzoekers vaak met het selecteren van het juiste voorspellende modelalgoritme op basis van de specifieke kenmerken van hun sequentiegegevens13,14. Bovendien is er voor onderzoekers zond...

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Openbaarmakingen

Geen belangenconflicten verklaard.

Dankbetuigingen

We bedanken alle deelnemers en onderzoekers die betrokken zijn bij de productie van gegevens.

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Materialen

Lijst van materialen gebruikt in dit artikel
NaamBedrijfCatalogusnummerOpmerkingen
PakketnaamVersieSoftware
aplot0.1.10R studio
BART2.9.4R studio
Boruta8.0.0R studio
cancerclass1.38.0R studio
caret6.0-89R studio
Ckmeans.1d.dp4.3.5R studio
compareC1.3.2R studio
ComplexHeatmap2.15.1R studio
compositions2.0-4R studio
data.table1.14.0R studio
doParallel1.0.16R studio
dplyr1.1.3R studio
e10711.7-7R studio
forestploter1.1.0R studio
future1.21.0R studio
gbm2.1.8.1R studio
ggbreak0.1.1R studio
ggplot23.4.1R studio
ggpubr0.4.0R studio
ggsci2.9R studio
glmnet4.1-2R studio
grid4.1.3R studio
gridExtra2.3R studio
GSEABase1.54.0R studio
GSVA1.40.1R studio
Hmisc5.1-1R studio
kknn1.3.1R studio
knitr1.42R studio
magrittr2.7.2R studio
Matrix1.5-4R studio
meta5.2-0R studio
miscTools0.6-28R studio
mixOmics6.18.1R studio
mixtools1.2.0R studio
pbapply1.4-3R studio
plsRcox1.7.7R studio
pROC1.18.0R studio
R4.1.3R studio
randomForestSRC4.6-14R studio
readr1.4.0R studio
recipes0.1.17R studio
reshape21.4.4R studio
rmarkdown2.8R studio
ROCit2.1.1R studio
ROCR1.0-11R studio
scales1.2.1R studio
sparrow1.0.3R studio
stringr1.5.0R studio
superpc1.12R studio
survival3.3-1R studio
survivalROC1.0.3R studio
survivalsvm0.0.5R studio
sva3.40.0R studio
testthat3.1.0R studio
tibble3.2.1R studio
tidyr1.3.0R studio
tidyverse1.3.1R studio
UpSetR1.4.0R studio
viridis0.6.1R studio

Referenties

  1. Reuter, J. A., Spacek, D. V., Snyder, M. P. High-throughput sequencing technologies. Mol Cell. 58 (4), 586-597 (2015).
  2. Adam, G., et al. Machine learning approaches to drug response prediction: challenges and recent progress. NPJ Precision Oncol. 4, 19(2020).
  3. Ding, L., et al. Perspective on Oncogenic Processes at the End of the Beginning of Cancer Genomics. Cell. 173 (2), 305-320.e10 (2018).
  4. Liu, H., et al. A potassium-chloride co-transporter with altered genome architecture functions as a suppressor in glioma. J Cell Mol Med. 28 (9), e18352(2024).
  5. Hanahan, D. Hallmarks of Cancer: New Dimensions. Cancer Disc. 12 (1), 31-46 (2022).
  6. Kourou, K., et al. Machine learning applications in cancer prognosis and prediction. Comp Str Biotechnol J. 13, 8-17 (2015).
  7. Liu, Z., et al. Machine learning-based integration develops an immune-derived lncRNA signature for improving outcomes in colorectal cancer. Nat Comm. 13 (1), 816(2022).
  8. Sundar, R., et al. Machine-learning model derived gene signature predictive of paclitaxel survival benefit in gastric cancer: results from the randomised phase III SAMIT trial. Gut. 71 (4), 676-685 (2022).
  9. Zhang, W., et al. Machine learning-based investigation of regulated cell death for predicting prognosis and immunotherapy response in glioma patients. Sci Rep. 14 (1), 4173(2024).
  10. Zhang, W., et al. Pan-cancer evaluation of regulated cell death to predict overall survival and immune checkpoint inhibitor response. NPJ Precision Oncol. 8 (1), 77(2024).
  11. Hindocha, S., et al. A comparison of machine learning methods for predicting recurrence and death after curative-intent radiotherapy for non-small cell lung cancer: Development and validation of multivariable clinical prediction models. EBioMedicine. 77, 103911(2022).
  12. Liu, H., et al. Mime: A flexible machine-learning framework to construct and visualize models for clinical characteristics prediction and feature selection. Comput Str Biotechnol J. 23, 2798-2810 (2024).
  13. Hwang, H., et al. Big data and deep learning for RNA biology. Exp Mol Med. 56 (6), 1293-1321 (2024).
  14. Sharma, A., et al. Advances in AI and machine learning for predictive medicine. J Hum Genet. 69 (10), 487-497 (2024).
  15. Greener, J. G., et al. A guide to machine learning for biologists. Nat Rev Mol Cell Biol. 23 (1), 40-55 (2022).

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Herprints en machtigingen

Tags

Constructie van voorspellende modellenkenmerkselectiedatavisualisatietranscriptionele sequentieanalyseprognostische modelleringvoorspelling van therapeutische responsoverlevingsanalyseidentificatie van kerngenenprestatiegegevens van modellen