Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Break out mechanism->GO mappings to YAML file #18

Open
dustine32 opened this issue Apr 20, 2020 · 3 comments
Open

Break out mechanism->GO mappings to YAML file #18

dustine32 opened this issue Apr 20, 2020 · 3 comments
Assignees

Comments

@dustine32
Copy link
Collaborator

Make a parsable YAML file for maintaining the mappings between SIGNOR mechanisms and GO terms:

# -
#   - MECHANISM
#   - MI ID
#   - GO ID
#   - RELATION
-
  - acetylation
  - MI:0192
  - GO:0016407  # acetyltransferase activity
  - RO:0002304  # causally upstream of, positive effect
-
  - binding
  - MI:0915
  - GO:0005515  # protein binding
  - RO:0002629  # directly positively regulates

This will move the mappings out of pathway_connections.py, where they are currently hard-coded:

MECHANISM_GO_MAPPING = {
    "acetylation" : "GO:0016407",
    "binding" : "GO:0005515", # protein binding
    "catalytic activity" :  "GO:0003824",
    ...
}

The code should simplify to something like:

MECHANISM_GO_MAPPING = yaml.load("metadata/signor_mechanism_go_mapping.yaml")

Also adding a "relation" field for each mapping. Note the example relation assignments above are made up by me. I believe @thomaspd will be adding this field to the same table in the paper so I can just populate from that.

@dustine32 dustine32 self-assigned this Apr 20, 2020
@dustine32
Copy link
Collaborator Author

Actually, this format's way more readable:

-
  MECHANISM: acetylation
  MI_ID: MI:0192
  GO_ID: GO:0016407
  RELATION: RO:0002304
-
  MECHANISM: binding
  MI_ID: MI:0915
  GO_ID: GO:0005515
  RELATION: RO:0002629

@vtoure
Copy link
Contributor

vtoure commented Apr 23, 2020

@dustine32 Why is there a 'relation' mapped for each mechanism? It is not a one-to-one mapping, right? (i.e, one mechanism can have different type of causal relation) or does 'relation' refers to something else?
Thanks

@dustine32
Copy link
Collaborator Author

@vtoure Right, the relation column shouldn't be 1:1 for mechanisms. I just quickly added those examples for the ticket. @thomaspd was going to add a relation column to the paper table but I'm actually not sure what the values will look like. I could see the cardinality being zero-to-many with zero just meaning use the existing default causal relation logic we've already coded.

This probably relates to some of the paper doc comments:

  • If no mechanism in the causal statement, use non-direct causal relations.
  • For mechanism "small molecule catalysis", we would use has_output for "up-regulates" or has_input for "down-regulates" for the relation connecting the downstream, regulated activity with its small molecule entity.

Currently, this RELATION field is just sitting in the new YAML file, being ignored by the conversion code. We can wait to see what @thomaspd has in mind for this field and then design accordingly?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants