Historically, we prefer to solve many babel problems at once by either adding, removing, or refining the use of source edges. So we find that certain cliques aren't cliquing and we look for a source to join MESH with PUBCHEM. or we find that UMLS is causing too many diseases to clump together so we add some filters on particular UMLS columns.
This will always be the backbone and overall approach we should take. But with the number of user-reported fine-tuning, I wonder if it is time to move to a structured way of incorporating specific user input. For instance something like https://github.com/NCATSTranslator/Feedback/issues/1388. The issue is that there are a couple of ill-founded INCHIKEYS coming from PUBCHEM and HMDB. We can't really take out all of those - they are a huge part of our chemical merging. Maybe we could do some filtering? But it's not clear exactly how. So that leaves us with some hand tuning of this clique that we could do: removal of two edges, adding one other edge.
So I propose that we figure out a controlled way to incorporate this kind of thing where we need to hand-refine particular cliques. We already have a little bit of forbidden edge stuff, mostly coming from UMLS, but it's a bit hacky. Maybe something where we make positive and negative SSSOM files that are checked against new ingests at build time?
Historically, we prefer to solve many babel problems at once by either adding, removing, or refining the use of source edges. So we find that certain cliques aren't cliquing and we look for a source to join MESH with PUBCHEM. or we find that UMLS is causing too many diseases to clump together so we add some filters on particular UMLS columns.
This will always be the backbone and overall approach we should take. But with the number of user-reported fine-tuning, I wonder if it is time to move to a structured way of incorporating specific user input. For instance something like https://github.com/NCATSTranslator/Feedback/issues/1388. The issue is that there are a couple of ill-founded INCHIKEYS coming from PUBCHEM and HMDB. We can't really take out all of those - they are a huge part of our chemical merging. Maybe we could do some filtering? But it's not clear exactly how. So that leaves us with some hand tuning of this clique that we could do: removal of two edges, adding one other edge.
So I propose that we figure out a controlled way to incorporate this kind of thing where we need to hand-refine particular cliques. We already have a little bit of forbidden edge stuff, mostly coming from UMLS, but it's a bit hacky. Maybe something where we make positive and negative SSSOM files that are checked against new ingests at build time?