diff --git a/Pretaitement_des_donnes_de_mapping.py b/Pretaitement_des_donnes_de_mapping.py index f744e10ba68fd0298191342df9707a4a9839a735..089a7f7e2df1c96f578c17a6214ccff282499435 100644 --- a/Pretaitement_des_donnes_de_mapping.py +++ b/Pretaitement_des_donnes_de_mapping.py @@ -3,12 +3,22 @@ import pandas as pd import openpyxl as xls import jpype import asposecells +import csv jpype.startJVM() from asposecells.api import * input_fill="C:\\Users\\mumec\\Desktop\\fichier_en_cours_dutilisation\\ExportExcel_4311-1.xlsx" Dossier_sortie="C:\\Users\\mumec\\Desktop\\fichier_en_cours_dutilisation\\" +def recuperation_de_colonne(file, n, sep=";"): + with open(file,"r") as f: + r=csv.reader(f, delimiter = sep) + lignes=list(r) # variable interne non utilisable + res=[] + if (n < len(lignes[0])) and (n >= -len(lignes[0])): + for l in lignes : + res.append(l[n].strip()) + return res def recup_1_Pathways (input_fill, Dossier_sortie) : fichier_entree = Workbook(input_fill) # chargement du fichier excel @@ -123,54 +133,59 @@ def mise_en_forme_CPDB_mapping (Results_fill, correspondance_fill, output_fill): excel_file_sortie.close() -def pretraitement_resultats_Ramp (Resultas_Ramp, output_file_lists,output_file_table, pathways_IDs='oui'): +def pretraitement_resultats_Ramp (Resultas_Ramp, output_file, pathways_IDs='oui'): colonne_Pathways_Name=recuperation_de_colonne(Resultas_Ramp, 0) colonne_input_IDs=recuperation_de_colonne(Resultas_Ramp, 3) colonne_input_common_Name=recuperation_de_colonne(Resultas_Ramp, 4) if (pathways_IDs=="oui") : - print('Salut') colonne_Pathways_IDs=recuperation_de_colonne(Resultas_Ramp, 2) IDs_Tout_les_Pathways=[] IDs_Tout_les_metabolites_mappes=[] Name_Tout_les_metabolites_mappes=[] Tout_les_Pathways=[] + metabolites_ID_associe_au_pathway=[] + metabolites_name_associe_au_pathway=[] for numero in range (1,len(colonne_Pathways_IDs)): if (colonne_Pathways_Name[numero] not in Tout_les_Pathways): Tout_les_Pathways.append(colonne_Pathways_Name[numero]) + metabolites_ID_associe_au_pathway.append([colonne_input_IDs[numero]]) + metabolites_name_associe_au_pathway.append([colonne_input_common_Name[numero]]) if (pathways_IDs=="oui") : IDs_Tout_les_Pathways.append(colonne_Pathways_IDs[numero]) + else: + metabolites_ID_associe_au_pathway[Tout_les_Pathways.index(colonne_Pathways_Name[numero])].append(colonne_input_IDs[numero]) + metabolites_name_associe_au_pathway[Tout_les_Pathways.index(colonne_Pathways_Name[numero])].append(colonne_input_common_Name[numero]) if colonne_input_IDs[numero] not in IDs_Tout_les_metabolites_mappes : IDs_Tout_les_metabolites_mappes.append(colonne_input_IDs[numero]) Name_Tout_les_metabolites_mappes.append(colonne_input_common_Name[numero]) - - print(len(Tout_les_Pathways)) - print(len(IDs_Tout_les_Pathways)) - print(len(Name_Tout_les_metabolites_mappes)) - print(len(IDs_Tout_les_metabolites_mappes)) - - tableau_des_pathways=np.zeros((len(Name_Tout_les_metabolites_mappes),len(Tout_les_Pathways))) - - for iteration in range (1,len(colonne_input_IDs)): - tableau_des_pathways[IDs_Tout_les_metabolites_mappes.index(colonne_input_IDs[iteration]),Tout_les_Pathways.index(colonne_Pathways_Name[iteration])]+=1 - - print(np.sum(tableau_des_pathways)) + Tout_les_Pathways.insert(0,"Noms_voies_metaboliques") + IDs_Tout_les_Pathways.insert(0,"ID_voies _metaboliques") + Name_Tout_les_metabolites_mappes.insert(0,"Noms_metabolites_mappes") + IDs_Tout_les_metabolites_mappes.insert(0,"ID_metabolites_mappes") + metabolites_ID_associe_au_pathway.insert(0,"ID_metabolites_associés") + metabolites_name_associe_au_pathway.insert(0,"Noms_metabolites_associés") if (pathways_IDs=="oui") : - Ensemble=[Tout_les_Pathways,IDs_Tout_les_Pathways, Name_Tout_les_metabolites_mappes,IDs_Tout_les_metabolites_mappes] + Total=[Tout_les_Pathways,IDs_Tout_les_Pathways,metabolites_ID_associe_au_pathway,metabolites_name_associe_au_pathway, Name_Tout_les_metabolites_mappes,IDs_Tout_les_metabolites_mappes] else: - Ensemble=[Tout_les_Pathways,Name_Tout_les_metabolites_mappes,IDs_Tout_les_metabolites_mappes] + Total=[Tout_les_Pathways,metabolites_ID_associe_au_pathway,metabolites_name_associe_au_pathway,Name_Tout_les_metabolites_mappes,IDs_Tout_les_metabolites_mappes] + P_et_M=[Tout_les_Pathways,metabolites_ID_associe_au_pathway,metabolites_name_associe_au_pathway] + P_et_M_name=[Tout_les_Pathways,metabolites_name_associe_au_pathway] + + - Ensemble = pd.DataFrame(Ensemble ,dtype=object) - excel_file_Ensemble = pd.ExcelWriter(output_file_lists) - Ensemble.to_excel(excel_file_Ensemble) - excel_file_Ensemble.close() + Total = pd.DataFrame(Total ,dtype=object) + P_et_M= pd.DataFrame(P_et_M ,dtype=object) + P_et_M_name= pd.DataFrame(P_et_M_name ,dtype=object) + excel_file = pd.ExcelWriter(output_file) + Total.to_excel(excel_file,sheet_name="global") + P_et_M.to_excel(excel_file,sheet_name="Pathways_et_les_metas") + P_et_M_name.to_excel(excel_file,sheet_name="Pathways_et_les_metas_name") + excel_file.close() - tableau_des_pathways = pd.DataFrame(tableau_des_pathways ,dtype=object) - excel_file_table = pd.ExcelWriter(output_file_table) - tableau_des_pathways.to_excel(excel_file_table) - excel_file_table.close() +pretraitement_resultats_Ramp ("C:\\Users\\mumec\\Desktop\\Mini_codes\\results_LTest_V0_ramp_pathways.csv", "C:\\Users\\mumec\\Desktop\\Mini_codes\\results_LTest_V0_ramp_pathways_listes.xlsx", pathways_IDs='oui') \ No newline at end of file diff --git a/Visualisation_des_donnes_de_mapping.py b/Visualisation_des_donnes_de_mapping.py index 411c93aa468bc4ef214fb0dff688ccd3804a897a..87533bd70c5e1fc42c427b1efe39a2ef0a5c226e 100644 --- a/Visualisation_des_donnes_de_mapping.py +++ b/Visualisation_des_donnes_de_mapping.py @@ -49,7 +49,7 @@ def Distance_matrix_clustering (input_file,val_infini=50): ##### Traitement de la matrice de distance nombre_de_clusters=7 - clustering = AgglomerativeClustering(n_clusters = nombre_de_clusters, metric = "precomputed",linkage="complete").fit(matrice_pour_traitement) + clustering = AgglomerativeClustering(n_clusters = nombre_de_clusters, metric = "precomputed",linkage="average").fit(matrice_pour_traitement) #results_clustering=pd.DataFrame ({'in': [clustering.labels_] }) results_clustering=clustering.labels_ print(results_clustering) @@ -86,7 +86,7 @@ def Distance_matrix_clustering (input_file,val_infini=50): plt.suptitle('les differents cluster') plt.show() -#Distance_matrix_clustering("C:\\Users\\mumec\\Desktop\\Mini_codes\\DistanceMatrix_compose_interet.xlsx") +Distance_matrix_clustering("C:\\Users\\mumec\\Desktop\\Mini_codes\\DistanceMatrix_compose_interet.xlsx") @@ -105,7 +105,7 @@ def visualisation_recouvrement (File, titre_du_graphique="Recouvrement moyen des p1.tick_params(axis='x', rotation=90, size=1) #rotation des ticklabels plt.show() -#visualisation_recouvrement ("C:\\Users\\mumec\\Desktop\\Mini_codes\\fichier_pour_tests_graph.xlsx",titre_du_graphique="Recouvrement moyen des différentes voies métaboliques de la liste constructeurs sur KEGG") +visualisation_recouvrement ("C:\\Users\\mumec\\Desktop\\Mini_codes\\fichier_pour_tests_graph.xlsx",titre_du_graphique="Recouvrement moyen des différentes voies métaboliques de la liste constructeurs sur KEGG") @@ -122,7 +122,7 @@ def boite_a_moustache(File_of_data, titre_de_la_boite="boite a moustache des mes # plt.savefig('SimpleBoxPlot.png') plt.show() -#☻boite_a_moustache("C:\\Users\\mumec\\Desktop\\Mini_codes\\fichier_pour_test_moustache.xlsx", titre_de_la_boite="boite a moustache des mes données") +boite_a_moustache("C:\\Users\\mumec\\Desktop\\Mini_codes\\fichier_pour_test_moustache.xlsx", titre_de_la_boite="boite a moustache des mes données") @@ -161,7 +161,7 @@ def Camenbert(File_of_data, titre_de_la_boite="boite a moustache des mes donnée plt.show() - +Camenbert("C:\\Users\\mumec\\Desktop\\Mini_codes\\fichier_pour_test_moustache.xlsx", titre_de_la_boite="boite a moustache des mes données",valeur_filtrage=1)