callahantiff / PheKnowLator

PheKnowLator: Heterogeneous Biomedical Knowledge Graphs and Benchmarks Constructed Under Alternative Semantic Models
https://github.com/callahantiff/PheKnowLator/wiki
Apache License 2.0
157 stars 29 forks source link

Disappearing edges when creating KG #140

Closed GuarinoValentina closed 9 months ago

GuarinoValentina commented 9 months ago

Hi Tiffany, sorry to bother you! I'm using PheKnowLator to construct a KG. At first, I succeeded to construct an initial KG with edges: gene-disease (that I further splitted in gene-diseaseInhib and gene-diseaseProm, due to different relations), gene-cell and protein-disease. However, I have some troubles when trying to add relations of type chemical-disease or chemical-protein. In particular, I have 2 different chemical databases: for the first one I have PubChem ID as chemical identifiers (which I defined as subclass of CHEBI_50846 "immunomodulator" in the subclass_construction_map.pkl file) while for the other one I have a direct mapping on the ChEBI ontology. The Master_Edge_List_Dict file correctly contains all the considered edges but, when the building KG step is performed, I lose some edges. I think that the problem is related to the chemicalPC-protein and the chemicalChebi-protein edges: when I delete them I can create the KG with all the remaining edges, but if there's even only one of that chemical-protein edge some other edge will disappear. For example, in the output of Building KG step that I'm attaching to you (using all the complete list of edges), 2 edges are lost: chemicalChebi-protein and chemicalPC-disease. I tried to swap positions in edge_source_list file, I checked for any special characters in the .txt files that could cause this issue, but I can't understand why this happen. I checked the .txt files, the resource_info and the edge_source_list files, and they seem correct to me. Can you help me? Looking forward to hearing from you, thank you Valentina

BuildingKG_output

chemicals_protein_CHEBI_map.txt chemicals_protein_PC_map.txt edge_source_list.txt ontology_source_list.txt resource_info.txt Master_Edge_List_Dict-2.json

callahantiff commented 9 months ago

Hey @GuarinoValentina!

Thanks so much for using PheKnowLator and for reaching out. I reviewed your message and believe that I know where the problem is. I think it will be easier (and certainly more fun) if we set-up a virtual meeting to discuss. I will reach out to you via email to set something up.

callahantiff commented 9 months ago

Everything should be fixed with the latest release v3.1.2. Thank you again for brining this to my attention, I hope it didn't cause you too much trouble. I am going to close this issue. Please feel free to re-open or make a new issue if you encounter anything else. Thanks so much!

sanyabt commented 5 months ago

Hi @callahantiff, not sure if this is the right place but I was tracking this issue while updating to v3.1.2 and after updating, owltools is throwing exceptions in the Ontology_Cleaning.ipynb notebook. I checked on command line and the owltools package in pkt_kg/ seems to be throwing errors as well. I can open a new issue if you'd like but thought might be relevant here. Thanks!

callahantiff commented 5 months ago

Hi @callahantiff, not sure if this is the right place but I was tracking this issue while updating to v3.1.2 and after updating, owltools is throwing exceptions in the Ontology_Cleaning.ipynb notebook. I checked on command line and the owltools package in pkt_kg/ seems to be throwing errors as well. I can open a new issue if you'd like but thought might be relevant here. Thanks!

Hey @sanyabt - thanks for your message. It's odd that owltools is acting up. Nothing that was changed related to the original issue filed above touched owltools. So, I am wondering if it's a dependencies thing. I did see owlnets throwing warnings a while ago but it had no impact on the code running.

Could you please provide the error message you are getting and what you ran that triggered it?

For the sake of completeness, would you by chance be willing to try replacing your current version of owltools with one from a prior release? You can access the file from the zipped source_code (here, for example).

callahantiff commented 5 months ago

Hey @sanyabt -- just an update. I had a chance to run the Ontology_Cleaning.ipynb notebook today and was able to run it from start to finish without any issues.

This is good news overall; I was worried that it is was going to be something scary that required replacing owltools (which would be a big job given how much it's used in pkt). That said, I want to help you get things running on your end if I can!

Keep me posted!

sanyabt commented 5 months ago

Thank you for letting me know! It might just be an owl tools or dependency issue on my environment then in which case I'm sorry for worrying you! I'll try running the notebook again with the new and old version of owl tools and let you know. Was planning to do it today but didn't get the time. Thanks again for checking!!