Analiza rețelei de coexpresie genetică ponderată (WGCNA ) , cunoscută și sub denumirea de analiză a rețelei de corelație ponderată , este o metodă de extragere a datelor bazată pe corelații perechi între variabile [2] . Metoda poate fi utilizată pentru a analiza o gamă largă de seturi de date multivariate, dar este utilizată cel mai pe scară largă în genomică [3] . Metoda face posibilă determinarea modulelor (clustere de gene co -exprimate), hub-uri inter-module și noduri de rețea în ceea ce privește apartenența la un modul, studierea relațiilor dintre modulele co-exprimate și compararea topologiilor diferitelor rețele. WGCNA poate fi utilizat ca metodă de reducere a dimensionalității datelor (asociată cu analiza factorială indirectă ), ca metodă de grupare , ca metodă de selecție a caracteristicilor (de exemplu, pentru screening-ul genelor) [3] .
Metoda WGCNA a fost dezvoltată de profesorul Steve Horvath în special Peter Langfelder, Bin Zhangomi și Jun Dong) și publicată în 2005. O mare parte a metodei a apărut în cursul cercetării aplicate. În special, rețele de corelație ponderată au fost dezvoltate în discuții de colaborare cu cercetătorii de cancer Paul Michel, Stanley F. Nelson și neurologii Daniel Geschwind și Michael Oldham [2] . În 2008, a fost publicată o implementare software a algoritmului [1] .
Datele inițiale sunt o matrice a expresiei genelor în mai multe probe , unde este numărul de gene, este numărul de probe. Pentru a construi o rețea de co-expresie pentru fiecare pereche de gene , se calculează parametrul de similaritate, , care trebuie să se afle în . implicit la valoarea absolută a coeficientului de corelație al lui Pearson :
,
unde profilurile de co-expresie ale genelor și constau în expresia genelor i și j într-un set de mostre. Pentru a obține o mai mare robustețe față de valori aberante, poate fi utilizat un coeficient de , iar pentru a păstra semnul coeficientului, poate fi utilizată o transformare simplă de corelație:corelație „trunchiat” Rezultă matricea de similaritate [2] .
Pentru a calcula matricea de adiacență a rețelei din matricea de similaritate, aveți nevoie de o funcție de adiacență care mapează un interval la un interval . Funcția tradițională de adiacență este funcția signum cu prag dur :
O astfel de filtrare strictă de margine este utilizată atunci când se construiesc rețele neponderate, iar rezultatul este în concordanță cu o înțelegere intuitivă a conceptului de rețea (conectivitatea unui nod este aceeași cu numărul de vecini asociat cu acesta). Cu toate acestea, această abordare duce adesea la o pierdere de informații: de exemplu, dacă setați , atunci nu va exista nicio conexiune între nodurile cu un parametru de similaritate de 0,79. Astfel, astfel de rețele sunt foarte sensibile la alegerea hiperparametrului [2] .
Rețelele ponderate nu au acest dezavantaj. Algoritmul WGCNA folosește o funcție de putere ca funcție de adiacență :
Valoarea este determinată folosind criteriul de rețea fără scară topologică pentru valori întregi . Pentru diferite valori întregi , se construiește un model liniar al dependenței logaritmului proporției vârfurilor rețelei cu un grad de logaritmul gradului . Se alege cea mai mică valoare , la care coeficientul de determinare al modelului liniar corespunzător depășește 0,8 [2] .
Matricea de adiacență „soft” permite doar clasarea nodurilor rețelei în funcție de puterea conexiunii lor cu nodul în cauză. Dacă este necesar să se determine o listă limitată de vecini, se introduce un prag de puterea conexiunii. Această metodă de filtrare „soft” a marginilor rețelei se numește ponderare a rețelei [2] .
Pentru a determina modulele rețelei și pentru a elimina zgomotul, se efectuează operația de netezire a rețelei. În primul rând, se calculează matricea de similaritate topologică (măsura de suprapunere topologică ) :
,
unde este un element al matricei de adiacentă, , .
este egal cu , dacă nodul cu mai puțini vecini este conectat la nodul cu mai mulți vecini și toți vecinii nodului sunt vecini ai nodului . este egal cu , dacă nodurile și nu sunt conectate și nu au vecini comuni. De când , atunci și . Asemănarea topologică a două noduri reflectă intraconectivitatea lor relativă [2] .
Pe baza matricei de similaritate topologică, se construiește o matrice de diferențe :
.
Modulele de rețea sunt alocate conform matricei de disimilaritate [2] .
Gruparea ierarhică a matricei de disimilaritate [2] este utilizată pentru a selecta modulele de rețea . Modulele genelor sunt ramuri ale dendrogramei rezultate . Pentru a izola modulele, ramurile dendrogramei sunt tăiate. Metoda de tăiere statică, care extrage ramuri sub un anumit prag ca un cluster separat, produce module care sunt ușor de distins vizual, dar nu îndeplinesc definiția strictă a conceptului de „modul” [1] .
WGCNA utilizează metoda Dynamic Tree Cut [4] , care este un proces iterativ adaptiv de împărțire și combinare a modulelor și se oprește atunci când numărul de module rămâne stabil. Setul inițial de module sunt module mari definite într-un mod static. Apoi, există o partițiune recursivă în submodule bazată pe prezența unui model de fluctuații în lungimea ramurilor în cadrul unui modul sursă. Modulele mici sunt combinate cu cele învecinate pentru a evita fragmentarea excesivă [2] .
Versiunile ulterioare ale algoritmului folosesc o abordare hibridă dinamică , care permite detectarea cu succes a valorii aberante în fiecare cluster [2] . Ramurile care îndeplinesc următoarele criterii sunt folosite ca început de module:
După determinarea unor astfel de module rudimentare, toate celelalte obiecte care nu au fost incluse în module la prima etapă, dacă este posibil, sunt incluse în modulele formate prin metoda celor mai apropiate medoide . Este posibil ca obiectele din același modul final să nu fie situate unul lângă celălalt pe dendrogramă, dar această inconsecvență este înșelătoare și rezultă din limitările afișării datelor reale sub forma unei dendrograme [5] .
Pentru validarea modulelor, analiza bootstrap este utilizată pe mostre incomplete de eșantioane [2] . Numai acele module care au fost găsite într-un număr mare de replici bootstrap [6] sunt supuse analizei ulterioare .
Modulul de coexpresie este reprezentat de propria sa genă ( ing. eigengen ) , care este vectorul singular drept corespunzător celei mai mari valori singulare drepte din descompunerea singulară a matricei de expresie genică a acestui modul [7] .
Pentru a determina semnificația influenței expresiei unei gene asupra expresiei unei trăsături , se poate folosi modulul coeficientului de corelație sau al valorii p a analizei de corelație sau regresie corespunzătoare . Pentru a determina semnificația influenței expresiei genei modulului , sunt utilizate diferite valori:
Cu cât valoarea semnificației este mai mare, cu atât gena sau modulul de genă dat este mai semnificativ pentru manifestarea acestei trăsături [2] .
Pentru a evalua interacțiunea (co-expresia) modulelor, atât corelațiile perechi între propriile gene ale modulelor, cât și construirea unei meta-rețele bazate pe matricea de co-expresie a genelor proprii ale modulelor și izolarea meta-modulelor în sunt utilizate aceste meta-rețele, inclusiv utilizarea informațiilor despre manifestarea trăsăturilor pentru determinarea importanței modulelor [1] .
Unul dintre punctele cheie în analiza rețelei construite este selecția nodurilor centrale (hub-uri) - gene care sunt foarte corelate cu multe alte gene de rețea. Metrici de conectivitate a două noduri: standard și topologică — pot fi calculate atât pe întreaga rețea (conectivitate la rețea completă, ing. conectivitate la rețea întreagă ), cât și numai pentru genele aceluiași modul (conectivitate intramodulară, conectivitate intramodulară ing . ). Rețeaua completă standard și topologică și conectivitatea intramodală sunt notate ca , , și , respectiv.
Utilizarea conectivității intra-modul (normalizată la valoarea maximă a conectivității într-un modul) este de preferat conectivitate de rețea completă atunci când se compară gene din module diferite, deoarece o genă puternic conectată dintr-un modul mic, dar important poate avea o valoare mult mai mică de conectivitate completă la rețea în comparație cu o genă care are un grad mediu de conectivitate de la un modul mare, dar nu foarte important.
La rândul său, conectivitatea intra-modul a unei gene reflectă cât de conectată sau co-exprimată este gena în cauză în relație cu genele acestui modul. Această măsurătoare poate fi interpretată ca o măsură a apartenenței la modul.
Există, de asemenea, metrici și . O valoare medie ridicată pentru genele modulului (chiar mai mare decât valoarea medie ) poate însemna că acest modul este nucleul rețelei și important din punct de vedere biologic în condițiile studiate. O valoare mare , dimpotrivă, înseamnă că conectivitatea totală este mai mare decât conectivitatea din cadrul modulului, adică genele care alcătuiesc acest modul sunt stabile și își schimbă ușor expresia în condițiile studiate [1] .
O măsură binară a apartenenței la modul poate să nu fie cea mai potrivită măsură pentru unele aplicații, astfel încât o măsură continuă a apartenenței la modul poate fi utilizată ca măsură a apartenenței unei gene la un modul . Ca o astfel de măsură, se poate folosi fie o măsură de conectivitate bazată pe vectorii proprii ai modulelor, . Acesta din urmă este definit ca corelația dintre gena și gena proprie a modulului : . O valoare mare (aproape de sau ) indică o relație puternică între genă și modul , o valoare apropiată de indică faptul că gena nu aparține modulului . Metrici și sunt interconectate: hub-urile intramodale tind să aibă o valoare ridicată pentru modulul corespunzător [1] .
O rețea de corelație ponderată poate fi considerată ca un caz special de rețea ponderată , o rețea de dependență sau o rețea de corelare [2] . Analiza rețelelor de corelație ponderată are următoarele avantaje față de rețelele neponderate:
WGCNA este utilizat pe scară largă pentru a analiza datele despre expresia genelor, de exemplu, pentru a căuta hub-uri intermodulare [12] [13] .
Această tehnică este adesea folosită ca pas de reducere a dimensionalității datelor atunci când este aplicată geneticii sistemelor, unde modulele sunt reprezentate de autogene [14] [15] . Genele proprii ale modulelor pot fi folosite pentru a calcula corelații cu datele experimentale [1] .
WGCNA este utilizat pe scară largă în neuroștiință [16] [17] și pentru analiza datelor genomice, inclusiv microarrays [18] , date ARN-Seq cu o singură celulă [19] [20] date de metilare ADN , [21] miARN , numărarea peptidelor [ 22] și date de microbiotă ( secvențierea genei ARNr 16S ) [23] . Alte aplicații includ datele imagistice ale creierului , cum ar fi datele RMN funcționale [24] , analiza datelor despre cancer , cum ar fi subclasificarea gliomelor și biomarkerii lor asociați [25] și datele de performanță a cililor [26] .
WGCNA poate fi utilizat pentru meta-analiză a datelor obținute din diferite surse [27] [28] .
Pachetul software WGCNA R [1] oferă funcții pentru efectuarea tuturor elementelor de analiză ponderată a rețelei (construcția modulelor, selecția genelor hub, statisticile conservatorismului modulelor, analiza rețelei diferențiale, statisticile rețelei). Pachetul WGCNA este disponibil de la CRAN , depozitul standard de pachete suplimentare pentru R, dar WGCNA necesită pachete disponibile din depozitul Bioconductor [29] pentru a funcționa . Pachetului este dedicat un site separat, unde sunt publicate scurte tutoriale cu o demonstrație a capabilităților pachetului [29] , și există și un blog al unuia dintre autorii metodei, în care articole tematice, manuale și știri ale pachetele sunt publicate [30] .
Pachetul conține funcții pentru vizualizarea rețelelor rezultate în VisANT și Cytoscape [31] . Pachetul anRichment a fost de asemenea dezvoltat pentru adnotarea funcțională extinsă a genelor în modulele alocate de WGCNA [32] .
Există o extensie la pachetul de bază R numită iterativeWGCNA implementată în Python . Extensia face posibilă îmbunătățirea stabilității modulelor detectate și reducerea pierderii de informații. Pentru a face acest lucru, genele care nu se încadrează în module, precum și genele cu o valoare slabă a conectivității la modulele lor, sunt din nou supuse analizei WGCNA și modulele sunt redefinite pentru acestea [33] .
Analiza rețelelor de co-expresie pentru seturi de date cu un număr mare de probe la scară la nivel de genom este o sarcină dificilă din punct de vedere computațional, care necesită o cantitate mare de RAM și timp de calcul. Datorită faptului că în procesul de construire a unei rețele se calculează coeficientul de corelație între noduri, atunci analiza unei rețele cu noduri necesită RAM și timp de calcul [1] . Există două strategii pentru a rezolva această problemă [34] .
Analiza unui set limitat de geneEste posibil să se reducă numărul de gene analizate la 4000-5000, care au cea mai mare valoare a oricărui parametru: valoarea varianței profilului de expresie a genei în matricea de date [35] [36] , valoarea p a testul nivelului de expresie genică între diferite grupuri de probe [37] , proporția de probe în care este detectată expresia genică [37] și altele. Principalele dezavantaje ale acestei abordări sunt pierderea informațiilor despre genele rămase, prejudecățile incorectă a genelor în funcție de funcție 38] .
Metode euristice pentru determinarea modulelorO abordare este de a extrage mai întâi module dintr-un subeșantion de gene și apoi de a adăuga genele rămase la modulele selectate pe baza unei metrici : pentru fiecare genă, se calculează cu care dintre module se corelează cel mai mult. Dar dacă o anumită genă nu se corelează cu niciun modul peste un anumit prag, atunci nu este inclusă în niciun modul [34] .
O altă abordare este aceea că, în stadiul inițial, genele sunt împărțite în blocuri de o dimensiune predeterminată folosind metoda k-nearest neighbors , iar alocarea ulterioară a modulelor este efectuată în cadrul acestor blocuri. Modulele rezultate fuzionează și se corelează între ele în funcție de corelarea propriilor gene. Această abordare este implementată în pachetul WGCNA și necesită RAM și calcule pentru blocuri de dimensiune [1] .