Giter VIP home page Giter VIP logo

Comments (35)

ignaciot avatar ignaciot commented on May 20, 2024 1

Also:

protein-complex, RO_0002436

from pheknowlator.

ignaciot avatar ignaciot commented on May 20, 2024 1

This is fantastic! Yes, let’s chat this afternoon.

from pheknowlator.

ignaciot avatar ignaciot commented on May 20, 2024 1

Thanks, great! I think molecularly interacts with is fine for protein-protein interactions, as that interaction implies physical binding.

from pheknowlator.

ignaciot avatar ignaciot commented on May 20, 2024 1

And for chemical-gene is probably better to leave it as the more generic interacts with, as you suggested. Because there are many possible ways for the chemical to affect expression (which is what we imply by this interaction).

from pheknowlator.

LEHunter avatar LEHunter commented on May 20, 2024 1

from pheknowlator.

ignaciot avatar ignaciot commented on May 20, 2024 1

Awesome! One less thing to worry about, then.

from pheknowlator.

ignaciot avatar ignaciot commented on May 20, 2024 1

Yup! That makes sense.

from pheknowlator.

callahantiff avatar callahantiff commented on May 20, 2024 1

@ignaciot - can you confirm that you agree with how I am building the protein-protein and protein-complex edges from the ComplexParticipantsPubMedIdentifiers_human.txt file:



FILE DATA


File Columns: [0] identifier; [1] name; [2] participants; [3] participatingComplex; [4] pubMedIdentifiers

Example File Output:
NOTE. '|" substituted for ";" to build table in example below

identifier name participants participatingComplex pubMedIdentifiers
R-HSA-1006173 "CFH:Host cell surface [plasma membrane]" uniprot:P08603;chebi:24505;chebi:28879 R-ALL-1006146 762425;16192651
R-HSA-1008206 "NF-E2:Promoter region of beta-globin [nucleoplasm]" uniprot:Q16621;uniprot:Q9ULX9;uniprot:O15525;uniprot:O60675 R-HSA-1008229 8816476


BUILDING EDGES


Protein-Complex:

  • complexes are parsed from column [0]
  • proteins are parsed from column [2]

Example from file (from table above):

complex protein
R-HSA-1006173 uniprot:P08603
R-HSA-1008206 uniprot:Q16621
uniprot:Q9ULX9
uniprot:O15525
uniprot:O6067

Complex-Complex:

  • complex_i parsed from column [0]
  • complex_j parsed from column [3]

Example from file (from table above):

complex complex
R-HSA-1006173 R-ALL-1006146
R-HSA-1008206 R-HSA-1008229

from pheknowlator.

ignaciot avatar ignaciot commented on May 20, 2024 1

These all look correct!

from pheknowlator.

callahantiff avatar callahantiff commented on May 20, 2024 1

Good news, the draft of the sources of data for the edges and documentation of sources are complete. The edge counts will be updated and the files listed on the release page will be added as the KG is built.

@ignaciot - would you mind taking a gander at the following pages and let me know if anything seems incorrect?

  • Release V2.0.0
    • All sources here are hyperlinked to the page in the next bullet.
  • Release V2.0.0 Knowledge Graph Data Sources
    • The build of all sources in the mapping and filtering section of this page are now fully automated in a Jupyter Notebook, which is in progress (pending completion of PRO filtering), but can be viewed here if you are curious.

What's Left before KG Build:

  • Creating Human PRO ➞ In progress, running BFS for human protein nodes as I type
  • Adding f() for:
    • Generate RO inverse edges ➞ will complete tomorrow, just needs testing
    • Label instances ➞ will complete tomorrow, just needs testing
    • Option to build a normal or abnormal KG ➞ will complete tomorrow, just needs testing

Once I confirm a few last details with @bill-baumgartner tomorrow (who was super helpful today, thanks Bill!), I will begin the build!

from pheknowlator.

ignaciot avatar ignaciot commented on May 20, 2024 1

This looks AWESOME!! I'm glad those Uniprot/Reactome triples resulted to be useful, can't wait to play with the built graph. I went through all of the above and didn't see any errors. Thanks for adding those inverse relations, too!

Happy to help check the items above that need testing. Maybe we could think of a set of unit tests to write for each build, too (can wait until the next subrelease).

from pheknowlator.

ignaciot avatar ignaciot commented on May 20, 2024 1

Oh, absolutely, I don't think this is a reason to halt building the next KG version! I'm excited to try this out once it's built!

from pheknowlator.

callahantiff avatar callahantiff commented on May 20, 2024

Also:

protein-complex, RO_0002436

Good catch, I will add to the original issue, thanks!

from pheknowlator.

callahantiff avatar callahantiff commented on May 20, 2024

@ignaciot and @bill-baumgartner - the updated KR is shown below (click on image to enlarge). Note that the main data types are ontologies (yellow), open data sources (purple), and experimental data (blue). Note, that this has been verified by Adrianne as well.

Screen Shot 2019-11-25 at 09 57 47

You will notice that I have added the cell ontology and BRENDA in addition to experimental data in order to satisfy a component of my comps -- creating a KG, which actually includes the central dogma. GTEx is a great source to start with since it includes many disease types and has the results of both microarray and RNA-seq (for several types of samples), and includes connections to phenotypes.

Anywho, happy to talk about this more this afternoon!

from pheknowlator.

callahantiff avatar callahantiff commented on May 20, 2024

UPDATES: Incorporating feedback from @bill-baumgartner and @LEHunter resulted in the updated KR shown below.

Screen Shot 2019-11-26 at 12 31 57

Some important questions that I would like help answering:

  1. @ignaciot - you've asked that I use the relation molecularly interacts with and the definition of this relation includes alternative terms, which specify that this relation specifically means binding interactions.
    • Did you intend it to be used that way?
    • If you did intend this relation be used then it might make sense to change the protein-protein and gene-gene interactions (or at least the gene-gene interactions) to genetically interacts with -- @LEHunter, thoughts?

  1. @LEHunter - @bill-baumgartner and I were talking about the possibility of adding the inverse properties. What are your thoughts on this? Do you think it would have negative ramifications for things like random walk?

  1. @bill-baumgartner - I kept the edge causally influences. I was unable to find anything in the RO for options like alters or has variant.

  1. Any other errors or anything weird that needs editing?

  1. I'd like to substitute the following BFO terms for the proposed RO terms, do you agree?:

from pheknowlator.

ignaciot avatar ignaciot commented on May 20, 2024

Yup, that is the reason I chose molecularly interacts with (binding). Looking at the definition of that other relation (An interaction that holds between two genetic entities (genes, alleles) through some genetic interaction (e.g. epistasis)) I don't think that is appropriate for protein-protein interactions. It's probably fine for gene-gene interactions.

Maybe we could generate two graphs, one with the inverse relations where applicable and another without, to assess how much it could mess with random walk-based algorithms? I do suspect it may affect the node2vec results.

The rest looks fine to me (BTW, I like the new diagram!).

from pheknowlator.

callahantiff avatar callahantiff commented on May 20, 2024

Yup, that is the reason I chose molecularly interacts with (binding). Looking at the definition of that other relation (An interaction that holds between two genetic entities (genes, alleles) through some genetic interaction (e.g. epistasis)) I don't think that is appropriate for protein-protein interactions. It's probably fine for gene-gene interactions.

OK, great. I also agree about the protein-protein interactions. Maybe we do this:

Maybe we could generate two graphs, one with the inverse relations where applicable and another without, to assess how much it could mess with random walk-based algorithms? I do suspect it may affect the node2vec results.

Yep, that's what Bill and I were thinking too :D.

The rest looks fine to me (BTW, I like the new diagram!).

Great, thanks for your feedback!

from pheknowlator.

LEHunter avatar LEHunter commented on May 20, 2024

from pheknowlator.

callahantiff avatar callahantiff commented on May 20, 2024

I suggest getting Mike to weigh in on these. I would like to be consistent with what he is doing with CRAFT for relations.

OK, I will reach out to Mike. Thanks @LEHunter!

from pheknowlator.

callahantiff avatar callahantiff commented on May 20, 2024

@LEHunter - I'd like to substitute the following BFO terms for the proposed RO terms, do you agree?:

from pheknowlator.

LEHunter avatar LEHunter commented on May 20, 2024

from pheknowlator.

callahantiff avatar callahantiff commented on May 20, 2024

Seems reasonable to me, but please do check with Mike. It’s important to be consistent with CRAFT. And Mike has thought a lot about this stuff L

Sounds good, I will follow-up with him. Thanks!

from pheknowlator.

callahantiff avatar callahantiff commented on May 20, 2024

UPDATE: Mike has been emailed to ask about the BFO-RO and interaction triples. In the meantime, I am going to move forward with the representation shown below. Will also create a Bada-version 😉, once I hear back from him.

Screen Shot 2019-11-29 at 13 08 01

NOTE. For space reasons, I am not showing all edges with labels, but am suggesting there are inverse edges via the inclusion of a dotted line.

from pheknowlator.

bill-baumgartner avatar bill-baumgartner commented on May 20, 2024
  1. @bill-baumgartner - I kept the edge causally influences. I was unable to find anything in the RO for options like alters or has variant.

Turns out the relation I was thinking of is in the Sequence Ontology and not the RO: https://www.ebi.ac.uk/ols/ontologies/so/properties?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2Fso%23variant_of

from pheknowlator.

callahantiff avatar callahantiff commented on May 20, 2024
  1. @bill-baumgartner - I kept the edge causally influences. I was unable to find anything in the RO for options like alters or has variant.

Turns out the relation I was thinking of is in the Sequence Ontology and not the RO: https://www.ebi.ac.uk/ols/ontologies/so/properties?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2Fso%23variant_of

Thanks for letting me know! In that case, unless you are opposed, I will keep causally influences.

from pheknowlator.

callahantiff avatar callahantiff commented on May 20, 2024

@ignaciot - would mind telling me how you found these?

  • protein-protein
  • protein-cofactor/catalyst (ChEBI)
  • protein-complex (reactome)
  • chemical (ChEBI)-complex
  • complex (reactome)-complex (reactome)
  • protein-pathway (reactome)
  • protein-reaction (reactome)

from pheknowlator.

ignaciot avatar ignaciot commented on May 20, 2024

protein-protein

These came from Uniprot, and they are sourced from the IntAct database monthly (so it would be a good idea to keep those from STRING as well).

protein-cofactor/catalyst (ChEBI)
protein-complex (reactome)
chemical (ChEBI)-complex
complex (reactome)-complex (reactome)
protein-pathway (reactome)
protein-reaction (reactome)

All of those came from Reactome, where they specified the participants (from Uniprot or ChEBI) to pathways, complexes and reactions.

from pheknowlator.

callahantiff avatar callahantiff commented on May 20, 2024

protein-protein

These came from Uniprot, and they are sourced from the IntAct database monthly (so it would be a good idea to keep those from STRING as well).

Thanks! Update on protein-protein interactions. It looks like we will only need STRING as they already cover the data in IntAct (see screenshot below) 🎉

Screen Shot 2019-12-02 at 21 30 58

protein-cofactor/catalyst (ChEBI)
protein-complex (reactome)
chemical (ChEBI)-complex
complex (reactome)-complex (reactome)
protein-pathway (reactome)
protein-reaction (reactome)

All of those came from Reactome, where they specified the participants (from Uniprot or ChEBI) to pathways, complexes and reactions.

Perfect! I will update the file parsers.

from pheknowlator.

callahantiff avatar callahantiff commented on May 20, 2024

@ignaciot - to build the gene - has_gene_product - protein triples, we need to identify all human protein coding genes and their gene products.

To get this, I'm using the human proteome (reviewed Swiss-Prot version) from Uniprot (here). Sound OK to you?

from pheknowlator.

callahantiff avatar callahantiff commented on May 20, 2024

This looks AWESOME!! I'm glad those Uniprot/Reactome triples resulted to be useful, can't wait to play with the built graph. I went through all of the above and didn't see any errors. Thanks for adding those inverse relations, too!

Happy to help check the items above that need testing. Maybe we could think of a set of unit tests to write for each build, too (can wait until the next subrelease).

Thanks so much for your help @ignaciot! I think writing tests is a great idea. I also think it would be great if we added continuous integration. Perhaps we can chat more about this on Monday?

from pheknowlator.

callahantiff avatar callahantiff commented on May 20, 2024

@bill-baumgartner and @ignaciot - the human version of the PRO is finally done! 🎉

Things to keep in mind:

  • It was created by building a new graph from running forward and reverse breadth first search over all human pro classes. Human pro classes were identified by querying the ontology for all ontology classes only_in_taxon some Homo sapiens (n=61,064 classes).
    • @ignaciot - I found a way to do this such that it includes all of the things we discussed needed to be included (e.g. PR_000000019) 😄
  • The human version contains a single connected component
  • It includes pr:lacks_part and owl:disjointWith axioms. Given the articles I have read, I think this is totally acceptable for now. I will still remove owl:disjointWith axioms from the full KG before closing it, but until that point, I will keep the individual ontologies as complete as possible. This ensures the new human PRO is useful for others who might want to use it.
  • The human pro has been deductively closed using hermit . I compared the results to running ELK and they both stated the ontology was consistent and produced the same set of inferred axioms (n=174).

If you'd like to use it, you can download the closed and unclosed versions here:


@LEHunter and @bill-baumgartner - should we offer this version and/or the script used to create it to the ProConsortium?


📢Now that the core ontologies are good to go, I will begin building KG. Updates to follow!

from pheknowlator.

ignaciot avatar ignaciot commented on May 20, 2024

@ignaciot - I found a way to do this such that it includes all of the things we discussed needed to be included (e.g. PR_000000019) :-)

Awesome!! This is really cool.

I take it the pr:lacks_part and owl:disjointWith had to be kept to keep it a single connected component? (my only concert would be the incorrect assumption of a relation when creating node embeddings)

from pheknowlator.

callahantiff avatar callahantiff commented on May 20, 2024

@ignaciot - I found a way to do this such that it includes all of the things we discussed needed to be included (e.g. PR_000000019) :-)

Awesome!! This is really cool.

I take it the pr:lacks_part and owl:disjointWith had to be kept to keep it a single connected component? (my only concert would be the incorrect assumption of a relation when creating node embeddings)

Thanks! 😄 After reading a bunch of articles, I chose to leave both types in for now as this is the way to create the most "correct"/authentic version of the human PRO. There is a way to keep 1 single component with removing each type. The owl:disjointWith will continued to be removed prior to closing the graph (we have been doing that since the first release (the reasoners ignore this axiom anyways) so they should not give you trouble with the embeddings. I believe the pr:lacks_part axioms should be OK. I read some of Hohendorf's papers about the pr:lacks_part axioms and given how they are constructed in PRO and CL, we should be fine. The real problem with including these are when they are constructed in the way PATO uses them. Either way, I'm happy to discuss this again once the KG is built 😄

from pheknowlator.

callahantiff avatar callahantiff commented on May 20, 2024

Oh, absolutely, I don't think this is a reason to halt building the next KG version! I'm excited to try this out once it's built!

Awesome! I’ll let you know when it’s ready for you!

from pheknowlator.

callahantiff avatar callahantiff commented on May 20, 2024

Final KR for V2.0 builds are shown below.


Instance-Based Construction
PheKnowLator_v2 0 0_KnowledgeRepresentation_Instance


Subclass-Based Construction
PheKnowLator_v2 0 0_KnowledgeRepresentation_subclass



Closing this issue.

from pheknowlator.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.