diff --git a/Pretaitement_des_donnes_de_mapping.py b/Pretaitement_des_donnes_de_mapping.py index f744e10ba68fd0298191342df9707a4a9839a735..4290d506b052ec145411e3078dca73da0049630f 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 @@ -40,11 +50,11 @@ def recup_1_Pathways (input_fill, Dossier_sortie) : excel_file1.close() -def recup_tout_les_pathways (Dossier, input_fill_name_without_num, output_fill, nombre_de_fichier): +def recup_tout_les_pathways (Dossier, input_fill_name_without_num, output_fill, nombre_de_fichier,num_colonne_t_or_f=5): tout_les_pathways=[] for indice_fichier in range (1,nombre_de_fichier+1): - nom_fichier=Dossier+input_fill_name_without_num+str(indice_fichier)+".xlsx" + nom_fichier=Dossier+input_fill_name_without_num+str(indice_fichier)+").xlsx" fichier_en_cour_de_traitement= Workbook(nom_fichier) # chargement du fichier excel collection_entree = fichier_en_cour_de_traitement.getWorksheets() @@ -54,10 +64,10 @@ def recup_tout_les_pathways (Dossier, input_fill_name_without_num, output_fill, Pathways_et_ces_metabolites.append(Nom_Pathway) feuille_Metabolites=collection_entree.get(3) - lignes = feuille_Metabolites.getCells().getMaxDataRow() + lignes = feuille_Metabolites.getCells().getMaxDataRow()+1 # la valeur s'arrete à l'avant derniére lignes si on ne met pas le +1 for indice in range(lignes): - valeur = feuille_Metabolites.getCells().get(indice, 5).getValue() + valeur = feuille_Metabolites.getCells().get(indice, num_colonne_t_or_f).getValue() # mettre a jour le numéro de la colonne de présence dans le mapping (-1 car commence a 0) if (valeur=="true" and feuille_Metabolites.getCells().get(indice, 0).getValue() not in Pathways_et_ces_metabolites ): Pathways_et_ces_metabolites.append(feuille_Metabolites.getCells().get(indice, 0).getValue()) @@ -70,7 +80,7 @@ def recup_tout_les_pathways (Dossier, input_fill_name_without_num, output_fill, tout_les_pathways.to_excel(excel_sortie) excel_sortie.close() -#recup_tout_les_pathways ("C:\\Users\\mumec\\Desktop\\fichier_en_cours_dutilisation\\", "ExportExcel_4311-", "C:\\Users\\mumec\\Desktop\\fichier_en_cours_dutilisation\\MetExplore_R22_L100_Pathways_avec_metabolites.xlsx", 59) +#recup_tout_les_pathways ("C:\\Users\\mumec\\Desktop\\fichier_en_cours_dutilisation\\", "ExportExcel_4311-", "C:\\Users\\mumec\\Desktop\\fichier_en_cours_dutilisation\\MetExplore_R22_L100_Pathways_avec_metabolites.xlsx", 59,nombre_de_fichier,num_colonne_t_or_f=5) @@ -123,54 +133,60 @@ 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]) + 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") - 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))) + if (pathways_IDs=="oui") : + 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: + 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] - 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)) - if (pathways_IDs=="oui") : - Ensemble=[Tout_les_Pathways,IDs_Tout_les_Pathways, 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 = 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() - Ensemble = pd.DataFrame(Ensemble ,dtype=object) - excel_file_Ensemble = pd.ExcelWriter(output_file_lists) - Ensemble.to_excel(excel_file_Ensemble) - excel_file_Ensemble.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