pip instala deepmg Copiați instrucțiunile PIP

pentru rula

Lansat: 15 aprilie 2020

Un pachet python pentru a vizualiza/antrena/prezice date folosind algoritmi de învățare automată/profundă

Navigare

Link-uri de proiect

Statistici

Vizualizați statistici pentru acest proiect prin Libraries.io sau utilizând setul nostru de date publice de pe Google BigQuery

Licență: Licență publică generală GNU (GPL) (GPLv3 +)

Întreținători

Clasificatoare

  • Licență
    • Aprobat OSI: GNU General Public License (GPL)
  • Sistem de operare
    • OS Independent
  • Limbaj de programare
    • Python: 3

Descrierea proiectului

Met2Img (deepmg) este un cadru de calcul pentru analiza metagenomică folosind algoritmi de învățare profundă și de învățare clasică: python3 din 26 aprilie 2019 (începând cu versiunea 1.0.0)

Vă rugăm să citați Met2Img (deepmg) în publicațiile dvs. dacă v-a ajutat cercetarea. Mulțumesc foarte mult!

Condiții prealabile

  • Vă rugăm să instalați dacă nu aveți: python3.6
  • Pentru a utiliza pachetele pentru explicații despre rețeaua instruită, vă rugăm să descărcați și să instalați:

Instalați sau descărcați pachetul Met2Img

Pentru a instala pachetul

Pentru a descărca pachetul

Cum se folosește Met2Img

Intrare:

  • obligatoriu: fișiere CSV care conțin date (* _x.csv) și etichete (* _y.csv)
  • opțional: dacă utilizați set de validare extern: date (* z_x.csv) și etichete (* z_y.csv)) introduse în date modificabile cu parametri - folder_data_orginal).

Pentru exemple, cirphy_x.csv și cirphy_y.csv pentru setul de date Cirroză din [MetAML] (https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1004977) NUMAI pentru validări interne; și ibdtrainHS_UCr_x.csv ibdtrainHS_UCr_y.csv ibdtrainHS_UCrz_x.csv ibdtrainHS_UCrz_y.csv pentru un set de date din [Sokol's] (https://www.ncbi.nlm.nih.gov/pubation/2.

Ieșire:

imagini: Met2Img va genera imagini și le va stoca în [images/name_dataset_parameters_to_generate_image /] (images /) (modificabile cu parametri --parent_folder_img)

rezultate: informații despre performanță/instruire/testare a fiecărei folduri și rezultate sumare introduse în [results/name_dataset_parameters_to_generate_image /] (results /) (modificabil cu parametri --parent_folder_results), include mai mult de 5 fișiere:

* file_sum.txt: parametri utilizați pentru a rula, performanță la fiecare fold. Ultimele rânduri arată performanța de antrenament/testare în ACC, AUC, timpul de execuție și alte valori ale experimentului. Când experimentul se termină, un sufix „_ok” (modificabil cu parametri --suff_fini) atașat la numele fișierului care marchează finalizarea experimentului.

* file_eachfold.txt (dacă --save_folds = y): rezultatele fiecărei folduri cu precizie, auc, mcc, pierderea antrenamentului și testarea.

* file_mean_acc.txt (dacă --save_avg_run = y): dacă experimentul include n rulări repetate independent, astfel fișierul include performanțe medii pe k-fold-uri ale fiecărei rulări măsurate de precizie și execuția timpului la antrenament/testare la început, antrenament/testare la finalizare.

* file_mean_auc.txt (dacă --save_avg_run = y): dacă experimentul include n rulări repetate independent, deci fișierul include performanțe medii pe k-folduri ale fiecărei rulări măsurate de ASC la antrenament/testare la început, antrenament/testare la terminare.

Dacă --save_para = y: fișier de configurare pentru a repeta experimentul

Dacă folosiți --salvați_w = y (salvați greutățile rețelelor instruite) și/sau --save_entire_w = y, --save_d = y, atunci vor fi create 2 dosare:

results/name_dataset_parameters_to_generate_image/models /: include * weightmodel * .json conține structura modelului * weightmodel * .h5 stochează greutăți.

results/name_dataset_parameters_to_generate_image/details/* weight _ *. txt: conține acuratețea și pierderea antrenamentului și testarea la fiecare epocă --save_d = y. Dacă --save_rf = y, atunci vom avea scoruri importante generate de RF pentru fiecare rulare.

Obțineți ajutor pentru a vedea parametrii din pachet:

Câteva exemple ca mai jos:

Seturi de date disponibile

Cadrul, în mod implicit, rulează de 10 ori cu validare încrucișată cu 10 straturi

  1. Selectați rulați pe GPU, setați cudaid în (0,1,2,3) (id-ul GPU-ului pe mașină, înseamnă utilizarea cpu-ului). Notă: nodurile dvs. de calcul trebuie să fie acceptate cu GPU și GPU Tensorflow instalat.
  2. Selectați setul de date cu parametrul „-i”, de ex. „-i cirphy” (set de date de ciroză filogenetică)
  3. Selectați modelul cu parametrul „--model”, de ex. '--model model_cnn'. Implicit: modelul cu un model de strat complet conectat (FC)
  4. Alți parametri, se poate consulta la funcția para_cmd ()

Cod pentru a rula experimentul (pentru date brute)

Parametri: -n: numărul de straturi convoluționale, -f: numărul de filtre, -t: tipul de încorporări (suport pentru raw-1D și imagini 2D precum fillup, t-sne, isomap, lda.)

Cod pentru a rula experimentul (pentru completarea cu imagini gri)

utilizați QTF (cu eqw binning)

Cod pentru a rula experimentul (pentru completarea cu imagini color)

Cod pentru a rula experimentul cu vizualizări pe baza învățării multiple, de exemplu, t-sne (a schimbat parametrul „-t” în „tsne”)

De asemenea, putem testa și alte încorporări, cum ar fi izomap, lle. Folosim imagini de 24x24 (--fig_size 24) și rata transparentă (alpha_v = 0,5)

Scripturi (* .sh) în detalii furnizate în utils/scripturi cu:

Scripturile sunt utilizate în cea mai mare parte pentru seturile de date din grupa A (dacă nu este specificat), inclusiv prezicerea cirozei, colorectal, IBD, obezitate, T2D (și set de date WT2D). Partea de antet a fiecărui fișier constă din informații despre memorie, numărul de nuclee, walltime, email etc. care se utilizează în programatorii de locuri de muncă. Acești parametri ar trebui modificați în funcție de resursele disponibile. Fiecare fișier rulează numeroase modele pentru un set de date.

Scripturi pentru 6 seturi de date (fișiere: cirphy_ * (cirphy_x.csv pentru date și cirphy_y.csv pentru etichete, pentru a rula instruirea pe acest set de date setați parametrul -i, de ex. "-I cirphy"), colphy_ *, ibdphy_ *, obephy_ *, t2dphy_ *, wt2dphy_ *) în grupul A [MetAML] (https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1004977):

  • 1d: scripturi pentru rularea modelelor cu date 1D
  • manifold_iso: antrenarea abundenței speciilor folosind vizualizări bazate pe Isomap.
  • manifold_mds: antrenarea abundenței speciilor folosind vizualizări bazate pe MDS.
  • manifold_nmf: antrenarea abundenței speciilor folosind vizualizări bazate pe NMF.
  • manifold_pca: antrenarea abundenței speciilor folosind vizualizări bazate pe PCA.
  • manifold_lda1,2,3,4,5,6: antrenarea abundenței speciilor folosind vizualizări bazate pe LDA (supravegheate) cu etichete folosind diferite niveluri de OTU (1: Regatul, 2: Phylum, 3: Clasa, 4: Ordinea, 5: Familia și 6: gen).
  • phy0_24_cmap_r: investigați o gamă largă de colormaps (viridis, curcubeu, jet.)
  • phyfill0_vgg: investigați diferiți parametri ai arhitecturilor VGG.
  • fill0cnn: executați experimente folosind Fill-up cu diferiți hiper-parametri CNN.
  • phyfill0_rnd: experimentele folosind Fill-up cu ordonare aleatorie a caracteristicilor

Seturi de date pentru instruirea scripturilor pentru alte grupuri:

  • gene_fill: instruirea abundenței familiilor de gene (nume: cirgenă, colgene, ibdgene, obegene, t2dgene, wt2dgene) cu Fill-up și machine_learning_gene: instruirea abundenței familiilor de gene cu algoritmi de învățare standard (SVM, RF).
  • phyfill0_CRC: experimente pe seturi de date (yu, feng, zeller, vogtmann, crc) în lucrarea Analiza multi-cohortă a metagenomului cancerului colorectal a identificat bacterii modificate între populații și bacterii universale
  • phyfill0_phcnn: experimente pe seturi de date (fișiere: ibdtrainHS_CDf, ibdtrainHS_CDr, ibdtrainHS_iCDf, ibdtrainHS_iCDr, ibdtrainHS_UCf, ibdtrainHS_UCr) în lucrarea Convolu filogenetic
  • balance_phyfill0 (pentru imagini color) și balance_phygrayfill0 (pentru imagini gri): experimente pe seturi de date (VIH, crohn) în hârtie Balances: a New Perspective for Microbiome Analysis

Vizualizați modelele prin ASCII

Doar adăugați „-v 1” pentru a vizualiza rețeaua. Pentru a utiliza această caracteristică, vă rugăm să instalați „keras_sequential_ascii”

Jupyter: Vizualizarea reprezentărilor

Vă rugăm să vă mutați la ./ utils/jupyter / pentru a vizualiza reprezentări bazate pe imagini:

  • compare_manifolds.ipynb: vizualizări generate din învățarea multiplă, cum ar fi t-SNE, LDA, Isomap
  • plot_distribution_taxa_levels_colormaps.ipynb: arată cum funcționează completarea și vizualizează caracteristici importante folosind completarea
  • visual_fillup_colormaps.ipynb: ilustrează diferite colormaps
  • vis_explanations_cnn_LIME_GRAD.ipynb: expuneți explicații de Saliency, LIME și Grad-Cam

Unele instrumente sunt disponibile în acest proiect (./utils/read_results) asistență pentru colectarea datelor, filtrarea rezultatelor și ștergerea experimentelor nefinalizate