diff --git a/src/it/resources/enhance-edge-tests/ATP1A3_ncatstranslator_233.tsv b/src/it/resources/enhance-edge-tests/ATP1A3_ncatstranslator_233.tsv new file mode 100644 index 00000000..5c7c9cd4 --- /dev/null +++ b/src/it/resources/enhance-edge-tests/ATP1A3_ncatstranslator_233.tsv @@ -0,0 +1 @@ +NCBIGene:478 biolink:related_to biolink:NamedThing diff --git a/src/it/resources/enhance-edge-tests/edges_44679.tsv b/src/it/resources/enhance-edge-tests/edges_44679.tsv new file mode 100644 index 00000000..91237053 --- /dev/null +++ b/src/it/resources/enhance-edge-tests/edges_44679.tsv @@ -0,0 +1,127 @@ +MONDO:0009061 biolink:has_normalized_google_distance_with CHEMBL.COMPOUND:CHEMBL2010601 +CHEBI:17685 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEBI:22563 biolink:has_normalized_google_distance_with UniProtKB:P13569 +CHEBI:26369 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEBI:35660 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEBI:35703 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1064 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1072 biolink:has_normalized_google_distance_with UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL1078442 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1079119 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL108 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1081779 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1109 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1161632 biolink:has_normalized_google_distance_with UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL1188 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1200492 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1201391 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1201486 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1230989 biolink:has_normalized_google_distance_with UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL1237210 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1272 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1298 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1344 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1371 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1389133 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1400945 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL145403 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1471 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1487 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1503 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL157101 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1573 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1623871 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL163 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1631217 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL17157 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1717 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1735 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1741 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL1771 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL177991 biolink:has_normalized_google_distance_with UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL193 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:has_normalized_google_distance_with UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL2074876 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL2074878 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL2103760 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL2103870 biolink:has_normalized_google_distance_with UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL2107465 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL2108102 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL2108184 biolink:has_normalized_google_distance_with UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL223228 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL256997 biolink:has_normalized_google_distance_with UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL269732 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL283196 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL296035 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL296480 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL316966 biolink:has_normalized_google_distance_with UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL3527071 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL3544914 biolink:has_normalized_google_distance_with UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL374478 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL405845 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL4101487 biolink:has_normalized_google_distance_with UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL4297849 biolink:has_normalized_google_distance_with UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL4298128 biolink:has_normalized_google_distance_with UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL472 biolink:has_normalized_google_distance_with UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL497411 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL52440 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL532 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL564085 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL584 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL638 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL646 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL655 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL661 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL814 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL861 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.TARGET:CHEMBL2364702 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.TARGET:CHEMBL340 biolink:has_normalized_google_distance_with UniProtKB:P08684 +CHEMBL.TARGET:CHEMBL348 biolink:has_normalized_google_distance_with UniProtKB:P13569 +DRUGBANK:DB14547 biolink:has_normalized_google_distance_with UniProtKB:P13569 +MESH:C117725 biolink:has_normalized_google_distance_with UniProtKB:P08684 +MESH:D001571 biolink:has_normalized_google_distance_with UniProtKB:P08684 +MESH:D005091 biolink:has_normalized_google_distance_with UniProtKB:P13569 +MESH:D006915 biolink:has_normalized_google_distance_with UniProtKB:P08684 +MESH:D007438 biolink:has_normalized_google_distance_with UniProtKB:P13569 +MESH:D014362 biolink:has_normalized_google_distance_with UniProtKB:P13569 +MESH:D014453 biolink:has_normalized_google_distance_with UniProtKB:P08684 +UMLS:C0360363 biolink:has_normalized_google_distance_with UniProtKB:P08684 +UMLS:C4744447 biolink:has_normalized_google_distance_with UniProtKB:P08684 +UniProtKB:O75795 biolink:has_normalized_google_distance_with UniProtKB:P08684 +UniProtKB:P07900 biolink:has_normalized_google_distance_with UniProtKB:P13569 +UniProtKB:P16662 biolink:has_normalized_google_distance_with UniProtKB:P08684 +UniProtKB:P19224 biolink:has_normalized_google_distance_with UniProtKB:P08684 +UniProtKB:P22310 biolink:has_normalized_google_distance_with UniProtKB:P08684 +UniProtKB:P24462 biolink:has_normalized_google_distance_with UniProtKB:P08684 +UniProtKB:P51589 biolink:has_normalized_google_distance_with UniProtKB:P08684 +UniProtKB:P54855 biolink:has_normalized_google_distance_with UniProtKB:P08684 +UniProtKB:Q9HB55 biolink:has_normalized_google_distance_with UniProtKB:P08684 +UniProtKB:Q9HBW0 biolink:has_normalized_google_distance_with UniProtKB:P13569 +UniProtKB:Q9NPD5 biolink:has_normalized_google_distance_with UniProtKB:P08684 +VANDF:4021891 biolink:has_normalized_google_distance_with UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:activity_increased_by UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:affects UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:affects_activity_of UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:correlated_with UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:correlated_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:entity_negatively_regulates_entity UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:entity_positively_regulates_entity UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:entity_positively_regulates_entity UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:increases_activity_of UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:increases_transport_of UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:increases_transport_of UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:interacts_with UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:molecularly_interacts_with UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:molecularly_interacts_with UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:physically_interacts_with UniProtKB:P13569 +MONDO:0009061 biolink:has_real_world_evidence_of_association_with CHEMBL.COMPOUND:CHEMBL2010601 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:decreases_activity_of UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:decreases_activity_of UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:increases_activity_of UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:increases_activity_of UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:affects UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:entity_positively_regulates_entity UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:increases_activity_of UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:related_to UniProtKB:P08684 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:related_to UniProtKB:P13569 +CHEMBL.COMPOUND:CHEMBL2010601 biolink:molecularly_interacts_with UniProtKB:P13569 diff --git a/src/it/resources/enhance-edge-tests/edges_52713.tsv b/src/it/resources/enhance-edge-tests/edges_52713.tsv new file mode 100644 index 00000000..60ec044c --- /dev/null +++ b/src/it/resources/enhance-edge-tests/edges_52713.tsv @@ -0,0 +1,367 @@ +UniProtKB:P56856 biolink:has_fisher_exact_test_p_value_with CHEMBL.COMPOUND:CHEMBL1201129 +UniProtKB:P82251 biolink:has_fisher_exact_test_p_value_with CHEMBL.COMPOUND:CHEMBL3559671 +CHEMBL.TARGET:CHEMBL1926496 biolink:has_fisher_exact_test_p_value_with CHEMBL.COMPOUND:CHEMBL3559671 +UniProtKB:Q9NZQ3 biolink:has_fisher_exact_test_p_value_with CHEMBL.COMPOUND:CHEMBL742 +CHEMBL.TARGET:CHEMBL5332 biolink:has_fisher_exact_test_p_value_with CHEMBL.COMPOUND:CHEMBL71595 +CHEMBL.TARGET:CHEMBL4884 biolink:has_fisher_exact_test_p_value_with CHEMBL.COMPOUND:CHEMBL71595 +CHEMBL.TARGET:CHEMBL1926496 biolink:has_fisher_exact_test_p_value_with CHEMBL.COMPOUND:CHEMBL71595 +UniProtKB:Q16651 biolink:has_fisher_exact_test_p_value_with CHEMBL.COMPOUND:CHEMBL71595 +UniProtKB:Q16651 biolink:has_fisher_exact_test_p_value_with CHEMBL.COMPOUND:CHEMBL521 +UniProtKB:P82251 biolink:has_fisher_exact_test_p_value_with CHEMBL.COMPOUND:CHEMBL1222152 +CHEMBL.TARGET:CHEMBL5332 biolink:has_fisher_exact_test_p_value_with CHEMBL.COMPOUND:CHEMBL53463 +UniProtKB:Q07837 biolink:has_fisher_exact_test_p_value_with CHEMBL.COMPOUND:CHEMBL1201129 +CHEMBL.TARGET:CHEMBL4884 biolink:has_fisher_exact_test_p_value_with CHEMBL.COMPOUND:CHEMBL53463 +UniProtKB:Q16651 biolink:has_fisher_exact_test_p_value_with CHEMBL.COMPOUND:CHEMBL1201129 +MESH:D048308 biolink:has_fisher_exact_test_p_value_with CHEMBL.COMPOUND:CHEMBL539 +UniProtKB:P56856 biolink:has_fisher_exact_test_p_value_with CHEMBL.COMPOUND:CHEMBL539 +UniProtKB:P82251 biolink:has_fisher_exact_test_p_value_with CHEMBL.COMPOUND:CHEMBL539 +UniProtKB:P56856 biolink:has_fisher_exact_test_p_value_with CHEMBL.COMPOUND:CHEMBL3559671 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with MONDO:0043875 +CHEMBL.COMPOUND:CHEMBL742 biolink:has_fisher_exact_test_p_value_with MONDO:0001208 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with MONDO:0005970 +CHEMBL.COMPOUND:CHEMBL742 biolink:has_fisher_exact_test_p_value_with MONDO:0005970 +CHEMBL.COMPOUND:CHEMBL539 biolink:has_fisher_exact_test_p_value_with MONDO:0004795 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_fisher_exact_test_p_value_with MONDO:0004795 +CHEMBL.COMPOUND:CHEMBL539 biolink:has_fisher_exact_test_p_value_with MONDO:0021666 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_fisher_exact_test_p_value_with MONDO:0021666 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with MONDO:0001853 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_fisher_exact_test_p_value_with MONDO:0005229 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with MONDO:0005229 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_fisher_exact_test_p_value_with MONDO:0043875 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_fisher_exact_test_p_value_with MONDO:0003127 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_fisher_exact_test_p_value_with MONDO:0003127 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_fisher_exact_test_p_value_with MONDO:0001639 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with MONDO:0001639 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with MESH:D012769 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_fisher_exact_test_p_value_with MESH:D012769 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with OMIM:MTHU050767 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_fisher_exact_test_p_value_with OMIM:MTHU050767 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_fisher_exact_test_p_value_with MONDO:0001475 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_fisher_exact_test_p_value_with OMIM:MTHU016228 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with OMIM:MTHU016228 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_fisher_exact_test_p_value_with OMIM:MTHU016228 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with MESH:D012770 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_fisher_exact_test_p_value_with MESH:D012770 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with UMLS:C0340753 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_fisher_exact_test_p_value_with UMLS:C0340753 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with MONDO:0001475 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with OMIM:MTHU037331 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_fisher_exact_test_p_value_with OMIM:MTHU037331 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with UMLS:C0546817 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_fisher_exact_test_p_value_with UMLS:C0546817 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with OMIM:MTHU037872 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with OMIM:MTHU054076 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_fisher_exact_test_p_value_with OMIM:MTHU054076 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_fisher_exact_test_p_value_with MONDO:0001475 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_fisher_exact_test_p_value_with UMLS:C0021092 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_fisher_exact_test_p_value_with OMIM:MTHU042079 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with OMIM:MTHU042079 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with UMLS:C0425251 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_fisher_exact_test_p_value_with UMLS:C0425251 +CHEMBL.COMPOUND:CHEMBL539 biolink:has_fisher_exact_test_p_value_with MESH:D004433 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_fisher_exact_test_p_value_with MESH:D004433 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with UMLS:C0398353 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_fisher_exact_test_p_value_with UMLS:C1384485 +CHEMBL.COMPOUND:CHEMBL521 biolink:has_fisher_exact_test_p_value_with UMLS:C1384485 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_fisher_exact_test_p_value_with UBERON:0000175 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with UBERON:0000175 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_fisher_exact_test_p_value_with UBERON:0000175 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_fisher_exact_test_p_value_with UMLS:C2364164 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with UMLS:C2364164 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_fisher_exact_test_p_value_with UMLS:C1704431 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_fisher_exact_test_p_value_with UMLS:C1704431 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with UMLS:C1704431 +CHEMBL.COMPOUND:CHEMBL742 biolink:has_fisher_exact_test_p_value_with UMLS:C0398353 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_fisher_exact_test_p_value_with UMLS:C1704431 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_fisher_exact_test_p_value_with UMLS:C1292123 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_fisher_exact_test_p_value_with UMLS:C1292123 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_fisher_exact_test_p_value_with OMIM:MTHU025803 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_fisher_exact_test_p_value_with OMIM:MTHU025803 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_fisher_exact_test_p_value_with MONDO:0001208 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_fisher_exact_test_p_value_with MONDO:0001208 +UBERON:0002048 biolink:has_normalized_google_distance_with UniProtKB:Q16651 +UBERON:0002107 biolink:has_normalized_google_distance_with UniProtKB:P82251 +UBERON:0002108 biolink:has_normalized_google_distance_with UniProtKB:Q07837 +UBERON:0000955 biolink:has_normalized_google_distance_with CHEMBL.TARGET:CHEMBL4884 +UBERON:0002107 biolink:has_normalized_google_distance_with CHEMBL.TARGET:CHEMBL4884 +UBERON:0002107 biolink:has_normalized_google_distance_with UniProtKB:Q16651 +UBERON:0000955 biolink:has_normalized_google_distance_with CHEMBL.TARGET:CHEMBL1926496 +UBERON:0002108 biolink:has_normalized_google_distance_with UniProtKB:P82251 +UBERON:0001264 biolink:has_normalized_google_distance_with CHEMBL.TARGET:CHEMBL1926496 +UBERON:0001264 biolink:has_normalized_google_distance_with UniProtKB:Q07837 +UBERON:0000948 biolink:has_normalized_google_distance_with CHEMBL.TARGET:CHEMBL1926496 +UBERON:0000948 biolink:has_normalized_google_distance_with MESH:D048308 +UBERON:0002113 biolink:has_normalized_google_distance_with UniProtKB:P82251 +UBERON:0001264 biolink:has_normalized_google_distance_with UniProtKB:Q16651 +UBERON:0001134 biolink:has_normalized_google_distance_with CHEMBL.TARGET:CHEMBL4884 +UBERON:0001134 biolink:has_normalized_google_distance_with MESH:D048308 +UBERON:0002048 biolink:has_normalized_google_distance_with CHEMBL.TARGET:CHEMBL5332 +UBERON:0002113 biolink:has_normalized_google_distance_with UniProtKB:Q9NZQ3 +UBERON:0002113 biolink:has_normalized_google_distance_with CHEMBL.TARGET:CHEMBL1926496 +UBERON:0002113 biolink:has_normalized_google_distance_with UniProtKB:Q07837 +UBERON:0001264 biolink:has_normalized_google_distance_with MESH:D048308 +UBERON:0001199 biolink:has_normalized_google_distance_with UniProtKB:P56856 +UBERON:0000948 biolink:has_normalized_google_distance_with UniProtKB:Q9NZQ3 +UBERON:0000948 biolink:has_normalized_google_distance_with CHEMBL.TARGET:CHEMBL5332 +UBERON:0002113 biolink:has_normalized_google_distance_with UniProtKB:Q16651 +UBERON:0002107 biolink:has_normalized_google_distance_with CHEMBL.TARGET:CHEMBL1926496 +UBERON:0002048 biolink:has_normalized_google_distance_with UniProtKB:P56856 +UBERON:0001134 biolink:has_normalized_google_distance_with UniProtKB:Q9NZQ3 +UBERON:0000955 biolink:has_normalized_google_distance_with UniProtKB:Q9NZQ3 +UBERON:0001134 biolink:has_normalized_google_distance_with CHEMBL.TARGET:CHEMBL5332 +UBERON:0002107 biolink:has_normalized_google_distance_with UniProtKB:Q9NZQ3 +UBERON:0000955 biolink:has_normalized_google_distance_with MESH:D048308 +UBERON:0000483 biolink:has_normalized_google_distance_with UniProtKB:P56856 +UBERON:0002048 biolink:has_normalized_google_distance_with CHEMBL.TARGET:CHEMBL1926496 +UBERON:0002113 biolink:has_normalized_google_distance_with CHEMBL.TARGET:CHEMBL5332 +UBERON:0002108 biolink:has_normalized_google_distance_with CHEMBL.TARGET:CHEMBL1926496 +UniProtKB:P82251 biolink:has_normalized_google_distance_with CHEMBL.COMPOUND:CHEMBL539 +UniProtKB:P82251 biolink:has_normalized_google_distance_with CHEMBL.COMPOUND:CHEMBL1222152 +UniProtKB:P56856 biolink:has_normalized_google_distance_with CHEMBL.COMPOUND:CHEMBL1201129 +CHEMBL.TARGET:CHEMBL5332 biolink:has_normalized_google_distance_with CHEMBL.COMPOUND:CHEMBL53463 +UniProtKB:Q16651 biolink:has_normalized_google_distance_with CHEMBL.COMPOUND:CHEMBL71595 +CHEMBL.TARGET:CHEMBL4884 biolink:has_normalized_google_distance_with CHEMBL.COMPOUND:CHEMBL53463 +UniProtKB:Q9NZQ3 biolink:has_normalized_google_distance_with CHEMBL.COMPOUND:CHEMBL742 +CHEMBL.TARGET:CHEMBL1926496 biolink:has_normalized_google_distance_with CHEMBL.COMPOUND:CHEMBL3559671 +UniProtKB:Q16651 biolink:has_normalized_google_distance_with CHEMBL.COMPOUND:CHEMBL1201129 +UniProtKB:P56856 biolink:has_normalized_google_distance_with CHEMBL.COMPOUND:CHEMBL539 +UniProtKB:P82251 biolink:has_normalized_google_distance_with CHEMBL.COMPOUND:CHEMBL3559671 +UniProtKB:P56856 biolink:has_normalized_google_distance_with CHEMBL.COMPOUND:CHEMBL3559671 +CHEMBL.TARGET:CHEMBL5332 biolink:has_normalized_google_distance_with CHEMBL.COMPOUND:CHEMBL71595 +UniProtKB:Q07837 biolink:has_normalized_google_distance_with CHEMBL.COMPOUND:CHEMBL1201129 +UniProtKB:Q16651 biolink:has_normalized_google_distance_with CHEMBL.COMPOUND:CHEMBL521 +CHEMBL.TARGET:CHEMBL4884 biolink:has_normalized_google_distance_with CHEMBL.COMPOUND:CHEMBL71595 +CHEMBL.TARGET:CHEMBL1926496 biolink:has_normalized_google_distance_with CHEMBL.COMPOUND:CHEMBL71595 +MESH:D048308 biolink:has_normalized_google_distance_with CHEMBL.COMPOUND:CHEMBL539 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with MONDO:0005229 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_normalized_google_distance_with UMLS:C0340753 +CHEMBL.COMPOUND:CHEMBL742 biolink:has_normalized_google_distance_with MONDO:0005970 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_normalized_google_distance_with UMLS:C0546817 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with OMIM:MTHU037872 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_normalized_google_distance_with UMLS:C0425251 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_normalized_google_distance_with MONDO:0001475 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_normalized_google_distance_with UMLS:C1704431 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_normalized_google_distance_with OMIM:MTHU016228 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_normalized_google_distance_with OMIM:MTHU016228 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with OMIM:MTHU042079 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with MESH:D012770 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_normalized_google_distance_with UMLS:C2364164 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_normalized_google_distance_with MESH:D012770 +CHEMBL.COMPOUND:CHEMBL742 biolink:has_normalized_google_distance_with UMLS:C0398353 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with UMLS:C0546817 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with MONDO:0001853 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_normalized_google_distance_with OMIM:MTHU050767 +CHEMBL.COMPOUND:CHEMBL742 biolink:has_normalized_google_distance_with MONDO:0001208 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_normalized_google_distance_with MESH:D004433 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with UMLS:C0340753 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_normalized_google_distance_with OMIM:MTHU054076 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_normalized_google_distance_with MONDO:0001208 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_normalized_google_distance_with OMIM:MTHU025803 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_normalized_google_distance_with MONDO:0005229 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_normalized_google_distance_with OMIM:MTHU037331 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_normalized_google_distance_with MONDO:0021666 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with UMLS:C0425251 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_normalized_google_distance_with UMLS:C1704431 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_normalized_google_distance_with MONDO:0004795 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with UMLS:C2364164 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_normalized_google_distance_with OMIM:MTHU042079 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with OMIM:MTHU016228 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with MONDO:0001639 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_normalized_google_distance_with UMLS:C1384485 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with MONDO:0001208 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_normalized_google_distance_with UMLS:C0021092 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_normalized_google_distance_with UMLS:C1704431 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with MONDO:0043875 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_normalized_google_distance_with MONDO:0003127 +CHEMBL.COMPOUND:CHEMBL539 biolink:has_normalized_google_distance_with MONDO:0004795 +CHEMBL.COMPOUND:CHEMBL539 biolink:has_normalized_google_distance_with MONDO:0021666 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with UMLS:C0398353 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with MONDO:0005970 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_normalized_google_distance_with MONDO:0003127 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with MESH:D012769 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_normalized_google_distance_with MONDO:0001475 +CHEMBL.COMPOUND:CHEMBL539 biolink:has_normalized_google_distance_with MESH:D004433 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_normalized_google_distance_with UBERON:0000175 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_normalized_google_distance_with UMLS:C1292123 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_normalized_google_distance_with UBERON:0000175 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_normalized_google_distance_with MONDO:0043875 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with UMLS:C1704431 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with OMIM:MTHU050767 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_normalized_google_distance_with MONDO:0001639 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_normalized_google_distance_with MESH:D012769 +CHEMBL.COMPOUND:CHEMBL521 biolink:has_normalized_google_distance_with UMLS:C1384485 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_normalized_google_distance_with UMLS:C1292123 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with UBERON:0000175 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with OMIM:MTHU037331 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_normalized_google_distance_with OMIM:MTHU025803 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with MONDO:0001475 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_normalized_google_distance_with OMIM:MTHU054076 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with MONDO:0001475 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with OMIM:MTHU054076 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with MONDO:0001208 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with OMIM:MTHU050767 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with UMLS:C0546817 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with UMLS:C0340753 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with MESH:D012770 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with MESH:D012769 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with OMIM:MTHU037331 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with MONDO:0001853 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with MONDO:0005970 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with MONDO:0043875 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with UMLS:C0398353 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with UMLS:C0425251 +CHEMBL.COMPOUND:CHEMBL539 biolink:entity_positively_regulates_entity UniProtKB:P56856 +CHEMBL.COMPOUND:CHEMBL539 biolink:entity_negatively_regulates_entity MESH:D048308 +CHEMBL.COMPOUND:CHEMBL539 biolink:entity_positively_regulates_entity UniProtKB:P82251 +CHEMBL.COMPOUND:CHEMBL539 biolink:has_real_world_evidence_of_association_with MESH:D004433 +CHEMBL.COMPOUND:CHEMBL539 biolink:has_real_world_evidence_of_association_with MONDO:0004795 +CHEMBL.COMPOUND:CHEMBL539 biolink:has_real_world_evidence_of_association_with MONDO:0021666 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_real_world_evidence_of_association_with OMIM:MTHU054076 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_real_world_evidence_of_association_with MONDO:0001208 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_real_world_evidence_of_association_with OMIM:MTHU050767 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_real_world_evidence_of_association_with UMLS:C0546817 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_real_world_evidence_of_association_with UMLS:C0340753 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_real_world_evidence_of_association_with MESH:D012770 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_real_world_evidence_of_association_with MESH:D012769 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_real_world_evidence_of_association_with OMIM:MTHU037331 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_real_world_evidence_of_association_with UMLS:C0425251 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:has_real_world_evidence_of_association_with UMLS:C1384485 +CHEMBL.COMPOUND:CHEMBL53463 biolink:entity_negatively_regulates_entity CHEMBL.TARGET:CHEMBL5332 +CHEMBL.COMPOUND:CHEMBL53463 biolink:entity_positively_regulates_entity CHEMBL.TARGET:CHEMBL4884 +CHEMBL.COMPOUND:CHEMBL53463 biolink:entity_positively_regulates_entity CHEMBL.TARGET:CHEMBL5332 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_real_world_evidence_of_association_with MONDO:0001475 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_real_world_evidence_of_association_with OMIM:MTHU016228 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_real_world_evidence_of_association_with MONDO:0043875 +CHEMBL.COMPOUND:CHEMBL521 biolink:entity_negatively_regulates_entity UniProtKB:Q16651 +CHEMBL.COMPOUND:CHEMBL521 biolink:entity_positively_regulates_entity UniProtKB:Q16651 +CHEMBL.COMPOUND:CHEMBL521 biolink:has_real_world_evidence_of_association_with UMLS:C1384485 +CHEMBL.COMPOUND:CHEMBL742 biolink:entity_negatively_regulates_entity UniProtKB:Q9NZQ3 +CHEMBL.COMPOUND:CHEMBL742 biolink:entity_positively_regulates_entity UniProtKB:Q9NZQ3 +CHEMBL.COMPOUND:CHEMBL742 biolink:has_real_world_evidence_of_association_with MONDO:0001208 +CHEMBL.COMPOUND:CHEMBL742 biolink:has_real_world_evidence_of_association_with MONDO:0001208 +CHEMBL.COMPOUND:CHEMBL742 biolink:has_real_world_evidence_of_association_with MONDO:0001208 +CHEMBL.COMPOUND:CHEMBL742 biolink:has_real_world_evidence_of_association_with MONDO:0005970 +CHEMBL.COMPOUND:CHEMBL742 biolink:has_real_world_evidence_of_association_with UMLS:C0398353 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_real_world_evidence_of_association_with OMIM:MTHU016228 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_real_world_evidence_of_association_with UBERON:0000175 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_real_world_evidence_of_association_with UMLS:C1704431 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_real_world_evidence_of_association_with OMIM:MTHU025803 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_real_world_evidence_of_association_with MONDO:0003127 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_real_world_evidence_of_association_with UMLS:C1292123 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:entity_negatively_regulates_entity UniProtKB:P56856 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:entity_negatively_regulates_entity UniProtKB:Q16651 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:entity_positively_regulates_entity UniProtKB:P56856 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:entity_positively_regulates_entity UniProtKB:Q16651 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:entity_positively_regulates_entity UniProtKB:Q07837 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_real_world_evidence_of_association_with MONDO:0001475 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_real_world_evidence_of_association_with OMIM:MTHU016228 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_real_world_evidence_of_association_with UBERON:0000175 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_real_world_evidence_of_association_with OMIM:MTHU042079 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_real_world_evidence_of_association_with UMLS:C1704431 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_real_world_evidence_of_association_with UMLS:C2364164 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_real_world_evidence_of_association_with OMIM:MTHU025803 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_real_world_evidence_of_association_with MONDO:0005229 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_real_world_evidence_of_association_with MONDO:0001475 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_real_world_evidence_of_association_with MONDO:0003127 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_real_world_evidence_of_association_with UMLS:C1292123 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:entity_negatively_regulates_entity UniProtKB:P82251 +CHEMBL.COMPOUND:CHEMBL1222152 biolink:entity_positively_regulates_entity UniProtKB:P82251 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:entity_negatively_regulates_entity UniProtKB:P82251 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:entity_negatively_regulates_entity UniProtKB:P56856 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:entity_negatively_regulates_entity CHEMBL.TARGET:CHEMBL1926496 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:entity_positively_regulates_entity UniProtKB:P56856 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:entity_positively_regulates_entity CHEMBL.TARGET:CHEMBL1926496 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with OMIM:MTHU016228 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with MONDO:0001208 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with UBERON:0000175 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with OMIM:MTHU042079 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with OMIM:MTHU037872 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with UMLS:C1704431 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with OMIM:MTHU050767 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with UMLS:C2364164 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with MESH:D012769 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with MONDO:0005229 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with MONDO:0001208 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with MONDO:0005229 +CHEMBL.COMPOUND:CHEMBL71595 biolink:entity_positively_regulates_entity UniProtKB:Q16651 +CHEMBL.COMPOUND:CHEMBL71595 biolink:entity_positively_regulates_entity CHEMBL.TARGET:CHEMBL4884 +CHEMBL.COMPOUND:CHEMBL71595 biolink:entity_positively_regulates_entity CHEMBL.TARGET:CHEMBL5332 +CHEMBL.COMPOUND:CHEMBL71595 biolink:entity_positively_regulates_entity CHEMBL.TARGET:CHEMBL1926496 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_real_world_evidence_of_association_with UMLS:C1704431 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_real_world_evidence_of_association_with MESH:D004433 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_real_world_evidence_of_association_with UMLS:C0021092 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_real_world_evidence_of_association_with MONDO:0001639 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_real_world_evidence_of_association_with MONDO:0004795 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_real_world_evidence_of_association_with MONDO:0021666 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_real_world_evidence_of_association_with MONDO:0001475 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_real_world_evidence_of_association_with OMIM:MTHU016228 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_real_world_evidence_of_association_with MONDO:0001475 +CHEMBL.COMPOUND:CHEMBL1201129 biolink:has_real_world_evidence_of_association_with MONDO:0003127 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with MONDO:0001639 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with MONDO:0001853 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_real_world_evidence_of_association_with UBERON:0000175 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_real_world_evidence_of_association_with MONDO:0003127 +CHEMBL.COMPOUND:CHEMBL521 biolink:has_real_world_evidence_of_association_with UMLS:C1384485 +CHEMBL.COMPOUND:CHEMBL53463 biolink:has_real_world_evidence_of_association_with MONDO:0043875 +CHEMBL.COMPOUND:CHEMBL539 biolink:has_real_world_evidence_of_association_with MONDO:0004795 +CHEMBL.COMPOUND:CHEMBL539 biolink:has_real_world_evidence_of_association_with MONDO:0021666 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with MONDO:0001208 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with UMLS:C1704431 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with UMLS:C2364164 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with MESH:D012769 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with MONDO:0005229 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with MONDO:0001208 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:has_real_world_evidence_of_association_with MONDO:0005229 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_real_world_evidence_of_association_with MESH:D004433 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_real_world_evidence_of_association_with UMLS:C0021092 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_real_world_evidence_of_association_with MONDO:0004795 +CHEMBL.COMPOUND:CHEMBL71595 biolink:has_real_world_evidence_of_association_with MONDO:0021666 +CHEMBL.COMPOUND:CHEMBL742 biolink:has_real_world_evidence_of_association_with MONDO:0001208 +CHEMBL.COMPOUND:CHEMBL742 biolink:has_real_world_evidence_of_association_with MONDO:0001208 +CHEMBL.COMPOUND:CHEMBL742 biolink:has_real_world_evidence_of_association_with MONDO:0005970 +CHEMBL.COMPOUND:CHEMBL742 biolink:has_real_world_evidence_of_association_with UMLS:C0398353 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:entity_negatively_regulates_entity CHEMBL.TARGET:CHEMBL1926496 +CHEMBL.COMPOUND:CHEMBL3559671 biolink:entity_positively_regulates_entity CHEMBL.TARGET:CHEMBL1926496 +CHEMBL.COMPOUND:CHEMBL521 biolink:entity_positively_regulates_entity UniProtKB:Q16651 +CHEMBL.COMPOUND:CHEMBL53463 biolink:entity_negatively_regulates_entity CHEMBL.TARGET:CHEMBL5332 +CHEMBL.COMPOUND:CHEMBL53463 biolink:entity_positively_regulates_entity CHEMBL.TARGET:CHEMBL4884 +CHEMBL.COMPOUND:CHEMBL53463 biolink:entity_positively_regulates_entity CHEMBL.TARGET:CHEMBL5332 +CHEMBL.COMPOUND:CHEMBL539 biolink:entity_negatively_regulates_entity MESH:D048308 +CHEMBL.COMPOUND:CHEMBL71595 biolink:entity_positively_regulates_entity CHEMBL.TARGET:CHEMBL4884 +CHEMBL.COMPOUND:CHEMBL71595 biolink:entity_positively_regulates_entity CHEMBL.TARGET:CHEMBL5332 +CHEMBL.TARGET:CHEMBL1926496 biolink:expressed_in UBERON:0000948 +CHEMBL.TARGET:CHEMBL1926496 biolink:expressed_in UBERON:0000955 +CHEMBL.TARGET:CHEMBL1926496 biolink:expressed_in UBERON:0001264 +CHEMBL.TARGET:CHEMBL1926496 biolink:expressed_in UBERON:0002048 +CHEMBL.TARGET:CHEMBL1926496 biolink:expressed_in UBERON:0002107 +CHEMBL.TARGET:CHEMBL1926496 biolink:expressed_in UBERON:0002108 +CHEMBL.TARGET:CHEMBL1926496 biolink:expressed_in UBERON:0002113 +CHEMBL.TARGET:CHEMBL4884 biolink:expressed_in UBERON:0000955 +CHEMBL.TARGET:CHEMBL4884 biolink:expressed_in UBERON:0001134 +CHEMBL.TARGET:CHEMBL4884 biolink:expressed_in UBERON:0002107 +CHEMBL.TARGET:CHEMBL5332 biolink:expressed_in UBERON:0000948 +CHEMBL.TARGET:CHEMBL5332 biolink:expressed_in UBERON:0001134 +CHEMBL.TARGET:CHEMBL5332 biolink:expressed_in UBERON:0002048 +CHEMBL.TARGET:CHEMBL5332 biolink:expressed_in UBERON:0002113 +MESH:D048308 biolink:expressed_in UBERON:0000948 +MESH:D048308 biolink:expressed_in UBERON:0000955 +MESH:D048308 biolink:expressed_in UBERON:0001134 +MESH:D048308 biolink:expressed_in UBERON:0001264 +UniProtKB:P56856 biolink:expressed_in UBERON:0000483 +UniProtKB:P56856 biolink:expressed_in UBERON:0001199 +UniProtKB:P56856 biolink:expressed_in UBERON:0002048 +UniProtKB:P82251 biolink:expressed_in UBERON:0002107 +UniProtKB:P82251 biolink:expressed_in UBERON:0002108 +UniProtKB:P82251 biolink:expressed_in UBERON:0002113 +UniProtKB:Q07837 biolink:expressed_in UBERON:0001264 +UniProtKB:Q07837 biolink:expressed_in UBERON:0002108 +UniProtKB:Q07837 biolink:expressed_in UBERON:0002113 +UniProtKB:Q16651 biolink:expressed_in UBERON:0001264 +UniProtKB:Q16651 biolink:expressed_in UBERON:0002048 +UniProtKB:Q16651 biolink:expressed_in UBERON:0002107 +UniProtKB:Q16651 biolink:expressed_in UBERON:0002113 +UniProtKB:Q9NZQ3 biolink:expressed_in UBERON:0000948 +UniProtKB:Q9NZQ3 biolink:expressed_in UBERON:0000955 +UniProtKB:Q9NZQ3 biolink:expressed_in UBERON:0001134 +UniProtKB:Q9NZQ3 biolink:expressed_in UBERON:0002107 +UniProtKB:Q9NZQ3 biolink:expressed_in UBERON:0002113 diff --git a/src/it/scala/org/renci/cam/it/EnhanceEdgesTest.scala b/src/it/scala/org/renci/cam/it/EnhanceEdgesTest.scala new file mode 100644 index 00000000..ffd779c1 --- /dev/null +++ b/src/it/scala/org/renci/cam/it/EnhanceEdgesTest.scala @@ -0,0 +1,289 @@ +package org.renci.cam.it + +import com.typesafe.scalalogging.LazyLogging +import io.circe._ +import io.circe.generic.auto._ +import io.circe.generic.semiauto._ +import io.circe.parser._ +import io.circe.syntax.{EncoderOps, _} +import org.http4s._ +import org.http4s.circe.jsonDecoder +import org.http4s.headers.{`Content-Type`, Accept} +import org.http4s.implicits._ +import org.renci.cam.Biolink.biolinkData +import org.renci.cam.HttpClient.HttpClient +import org.renci.cam.domain.{BiolinkClass, BiolinkPredicate, IRI, MetaKnowledgeGraph, TRAPIAttribute, TRAPIMessage, TRAPIQuery, TRAPIQueryEdge, TRAPIQueryGraph, TRAPIQueryNode, TRAPIResponse} +import org.renci.cam.{AppConfig, Biolink, HttpClient, Implicits} +import zio.blocking.Blocking +import zio.config.ZConfig +import zio.config.typesafe.TypesafeConfig +import zio.interop.catz._ +import zio.test.Assertion._ +import zio.test._ +import zio.{Layer, Task, ZIO} + +import java.nio.file.{Files, Path, Paths} +import scala.io.Source +import scala.jdk.CollectionConverters._ + +object EnhanceEdgesTest extends DefaultRunnableSpec with LazyLogging { + /* Set up test environment */ + val configLayer: Layer[Throwable, ZConfig[AppConfig]] = TypesafeConfig.fromDefaultLoader(AppConfig.config) + val camkpapiLayer = Blocking.live >>> HttpClient.makeHttpClientLayer >+> Biolink.makeUtilitiesLayer + val testLayer = (configLayer ++ camkpapiLayer).mapError(TestFailure.die) + + /* Configure tests */ + val exampleDir: Path = Paths.get("src/it/resources/enhance-edge-tests") + val exampleResultsDir: Path = Paths.get("src/it/resources/example-results") + + val endpointToTest: Uri = + sys.env.get("CAM_KP_ENDPOINT") match { + case None => uri"https://cam-kp-api.renci.org/1.3.0/query" + case Some(str) => Uri.fromString(str).toOption.get + } + + val endpointMetaKG: Uri = Uri.fromString(endpointToTest.toString.replaceFirst("/query$", "/meta_knowledge_graph")).toOption.get + + val endpointNodeNorm: Uri = + sys.env.get("NODE_NORM_ENDPOINT") match { + case None => uri"https://nodenormalization-sri.renci.org/1.3/get_normalized_nodes" + case Some(str) => Uri.fromString(str).toOption.get + } + + val limit: Int = sys.env.getOrElse("CAM_KP_LIMIT", 1000).toString.toInt + + /* We will need the MetaKnowledgeGraph to normalize input nodes, so we load that here. */ + val zioRuntime = zio.Runtime.unsafeFromLayer(camkpapiLayer) + + val metaKG: MetaKnowledgeGraph = { + logger.info("Retrieving MetaKnowledgeGraph") + + // TODO: replace with ZIO I guess. + val metaKGSource = Source.fromURL(endpointMetaKG.toString()) + val metaKGString = metaKGSource.mkString + metaKGSource.close() + + zioRuntime + .unsafeRun( + for { + biolinkData <- biolinkData + + metaKG <- ZIO.fromEither( + { + implicit val decoderIRI: Decoder[IRI] = Implicits.iriDecoder(biolinkData.prefixes) + implicit val keyDecoderIRI: KeyDecoder[IRI] = Implicits.iriKeyDecoder(biolinkData.prefixes) + implicit val iriKeyDecoder: KeyDecoder[BiolinkClass] = Implicits.biolinkClassKeyDecoder(biolinkData.classes) + implicit val decoderBiolinkClass: Decoder[BiolinkClass] = Implicits.biolinkClassDecoder(biolinkData.classes) + implicit val decoderBiolinkPredicate: Decoder[BiolinkPredicate] = + Implicits.biolinkPredicateDecoder(biolinkData.predicates) + implicit lazy val decoderTRAPIAttribute: Decoder[TRAPIAttribute] = deriveDecoder[TRAPIAttribute] + implicit lazy val decoderMetaKnowledgeGraph: Decoder[MetaKnowledgeGraph] = deriveDecoder[MetaKnowledgeGraph] + + decode[MetaKnowledgeGraph](metaKGString) + } + ) + } yield metaKG + ) + } + + val acceptableIDs: Set[String] = metaKG.nodes.values.flatMap(_.id_prefixes).toSet + + def getCURIEPrefix(curie: String): String = { + val cs = curie.split(':') + if (cs.length == 0) curie + else cs(0) + } + + def getAcceptableCURIEs(curie: String): Seq[String] = { + val prefix = getCURIEPrefix(curie) + + if (acceptableIDs.contains(prefix)) { + logger.info(s"getAcceptableCURIE(${curie}): prefix ${prefix} acceptable") + Seq(curie) + } else { + logger.info(s"getAcceptableCURIE(${curie}): prefix ${prefix} not acceptable") + + case class NodeNormIdentifier( + identifier: String, + label: Option[String] + ) + + case class NodeNormResponse( + id: Option[NodeNormIdentifier], + equivalent_identifiers: List[NodeNormIdentifier], + `type`: List[BiolinkClass], + information_content: Option[Float] + ) + + // TODO: move to ZIO (I guess). + val nodeNormSource = Source.fromURL(endpointNodeNorm.+?("curie", curie).toString()) + val nodeNormString = nodeNormSource.mkString + nodeNormSource.close() + + val result = zioRuntime + .unsafeRun( + for { + biolinkData <- biolinkData + + response <- ZIO.fromEither(decode[Json](nodeNormString)) + curieResult = (response \\ curie) + result <- ZIO.fromOption(curieResult.headOption) + nnResponse <- ZIO.fromEither( + { + implicit val iriEncoder: Encoder[IRI] = Implicits.iriEncoder(biolinkData.prefixes) + implicit val iriKeyEncoder: KeyEncoder[IRI] = Implicits.iriKeyEncoder(biolinkData.prefixes) + implicit val biolinkClassEncoder: Encoder[BiolinkClass] = Implicits.biolinkClassEncoder + implicit val biolinkPredicateEncoder: Encoder[BiolinkPredicate] = + Implicits.biolinkPredicateEncoder(biolinkData.prefixes) + + implicit val decoderIRI: Decoder[IRI] = Implicits.iriDecoder(biolinkData.prefixes) + implicit val keyDecoderIRI: KeyDecoder[IRI] = Implicits.iriKeyDecoder(biolinkData.prefixes) + implicit val decoderBiolinkClass: Decoder[BiolinkClass] = Implicits.biolinkClassDecoder(biolinkData.classes) + implicit val decoderBiolinkPredicate: Decoder[BiolinkPredicate] = + Implicits.biolinkPredicateDecoder(biolinkData.predicates) + implicit lazy val decoderTRAPIAttribute: Decoder[TRAPIAttribute] = deriveDecoder[TRAPIAttribute] + + result.as[NodeNormResponse] + } + ) + } yield + if (curieResult.isEmpty) { + logger.warn(s"NodeNorm could not resolve ${curie}.") + None + } else + nnResponse.equivalent_identifiers + .filter { id => + logger.info(s"Checking to see if ${id.identifier} (prefix: ${getCURIEPrefix(id.identifier)}) is in ${acceptableIDs}") + acceptableIDs.contains(getCURIEPrefix(id.identifier)) + } + .map(_.identifier) + ) + .iterator + .toSeq + + logger.info(s"getAcceptableCURIE(${curie}): replaced with ${result}") + result + } + } + + def testEdge(subj: String, + pred: String, + obj: String): Spec[ZConfig[Biolink.BiolinkData] with HttpClient, TestFailure[Throwable], TestSuccess] = + testM(s"Testing ${subj} ${pred} ${obj}") { + for { + biolinkData <- biolinkData + httpClient <- HttpClient.client + + messageText: String = { + implicit val iriEncoder: Encoder[IRI] = Implicits.iriEncoder(biolinkData.prefixes) + implicit val iriKeyEncoder: KeyEncoder[IRI] = Implicits.iriKeyEncoder(biolinkData.prefixes) + implicit val biolinkClassEncoder: Encoder[BiolinkClass] = Implicits.biolinkClassEncoder + implicit val biolinkPredicateEncoder: Encoder[BiolinkPredicate] = + Implicits.biolinkPredicateEncoder(biolinkData.prefixes) + + val subjIRIs = getAcceptableCURIEs(subj).map(IRI(_)) + val objIRIs = getAcceptableCURIEs(obj).map(IRI(_)) + + logger.info(s"Querying CAM-KP-API with subj=${subjIRIs}, objIRI=${objIRIs}") + + val queryGraph = TRAPIQueryGraph( + nodes = Map( + "n0" -> TRAPIQueryNode(ids = Some(subjIRIs.toList), None, None, None), + "n1" -> TRAPIQueryNode(None, None, None, None), + "n2" -> TRAPIQueryNode(ids = Some(objIRIs.toList), None, None, None) + ), + edges = Map( + "e0" -> TRAPIQueryEdge( + predicates = Some(List(BiolinkPredicate("related_to"))), + subject = "n0", + `object` = "n1" + ), + "e1" -> TRAPIQueryEdge( + predicates = Some(List(BiolinkPredicate("related_to"))), + subject = "n1", + `object` = "n2" + ) + ) + ) + val message = TRAPIMessage(Some(queryGraph), None, None) + + TRAPIQuery(message = message, log_level = None).asJson.deepDropNullValues.noSpaces + } + + request = Request[Task](Method.POST, endpointToTest.withQueryParam("limit", limit.toString)) + .withHeaders(Accept(MediaType.application.json), `Content-Type`(MediaType.application.json)) + .withEntity(messageText) + response <- httpClient.expect[Json](request) + trapiResponse <- ZIO.fromEither( + { + implicit val decoderIRI: Decoder[IRI] = Implicits.iriDecoder(biolinkData.prefixes) + implicit val keyDecoderIRI: KeyDecoder[IRI] = Implicits.iriKeyDecoder(biolinkData.prefixes) + implicit val decoderBiolinkClass: Decoder[BiolinkClass] = Implicits.biolinkClassDecoder(biolinkData.classes) + implicit val decoderBiolinkPredicate: Decoder[BiolinkPredicate] = + Implicits.biolinkPredicateDecoder(biolinkData.predicates) + implicit lazy val decoderTRAPIAttribute: Decoder[TRAPIAttribute] = deriveDecoder[TRAPIAttribute] + + response.as[TRAPIResponse] + } + ) + results = trapiResponse.message.results + resultsOrEmpty = results.getOrElse(Seq()) + _ = logger.info(s"Querying CAM-KP-API with query ${messageText} results in ${resultsOrEmpty.size} results: ${resultsOrEmpty}") + } yield assert(results)(Assertion.isSome(Assertion.isNonEmpty)) + } + + // Let's test the acceptable CURIE lookup system. + val testCURIEs = suite("Test CURIEs to ensure we can convert them into acceptable IDs") { + val curiesToTest = Map( + "CHEMBL.COMPOUND:CHEMBL1201129" -> "CHEBI:50131", + "UniProtKB:P56856" -> "UniProtKB:P56856" + ) + + curiesToTest + .map { case (id, acceptableId) => + test(s"Test whether ${id} can be converted into acceptable ID ${acceptableId}") { + assert(getAcceptableCURIEs(id))(Assertion.equalTo(List(acceptableId))) + } + } + .reduce(_ + _) + } + + val testEachExampleFile = { + // List of example files to process. + val exampleFiles = Files + .walk(exampleDir) + .iterator() + .asScala + .filter(Files.isRegularFile(_)) + .filter(_.toString.toLowerCase.endsWith(".tsv")) + .toSeq + + suite("Test example files in the src/it/resources/examples directory") { + exampleFiles + .map(exampleFile => + suite(s"Testing ${exampleDir.relativize(exampleFile)}") { + val outputFile = exampleDir.resolve(exampleFile.getFileName.toString.replaceFirst(".tsv$", ".txt")) + + val exampleText = { + val source = Source.fromFile(exampleFile.toFile) + source.getLines() + } + + val tests = for { + // Read the example JSON file. + line <- exampleText + cols = line.split("\t") + } yield testEdge(cols(0), cols(1), cols(2)) + + tests.reduce(_ + _) + }) + .reduce(_ + _) + } + } + + def spec: Spec[environment.TestEnvironment, TestFailure[Throwable], TestSuccess] = suite("EnhanceEdgesTest")( + testCURIEs, + testEachExampleFile + ).provideCustomLayer(testLayer) + +}