RTXteam / RTX

Software repo for Team Expander Agent (Oregon State U., Institute for Systems Biology, and Penn State U.)
https://arax.ncats.io/
MIT License
33 stars 20 forks source link

KG2.10.0c rollout #2319

Open amykglen opened 1 month ago

amykglen commented 1 month ago

THE BRANCH FOR THIS ROLLOUT IS: kg2.10.0c THE ARAX-DATABASES.RTX.AI DIRECTORY FOR THIS ROLLOUT IS: /home/rtxconfig/KG2.10.0
**Sprint changelog link: (Changelog)

Prerequisites

ssh access

To complete this workflow, you will need ssh access to:

GitHub access
AWS access

You will need:

Slack workspaces

You will also need access to the following Slack workspaces:

Example ssh config for setting up login into arax.ncats.io:

Host arax.ncats.io
    User stephenr
    ProxyCommand ssh -i ~/.ssh/id_rsa_long -W %h:%p stephenr@35.87.194.254
    IdentityFile ~/.ssh/id_rsa_long
    Hostname 172.31.53.16

1. Build and load KG2c:

2. Rebuild downstream databases:

The following databases should be rebuilt and copies of them should be put in /home/rtxconfig/KG2.X.Y on arax-databases.rtx.ai. Please use this kind of naming format: mydatabase_v1.0_KG2.X.Y.sqlite.

NOTE: As databases are rebuilt, RTX/code/config_dbs.json will need to be updated to point to their new paths! Push these changes to the branch for this KG2 version, unless the rollout of this KG2 version has already occurred, in which case you should push to master (but first follow the steps described here).

3. Update the ARAX codebase:

All code changes should go in the branch for this KG2 version!

4. Pre-upload databases:

Before rolling out, we need to pre-upload the new databases (referenced in config_dbs.json) to arax.ncats.io and the ITRB SFTP server. These steps can be done well in advance of the rollout; it doesn't hurt anything to do them early.

5. Rollout new KG2c version to arax.ncats.io development endpoints

6. Final items/clean up:

7. Roll-out to ITRB TEST

8. Roll-out to ITRB PRODUCTION

amykglen commented 1 month ago

I suppose maybe I should have created a separate issue for KG2c development work for 2.10.0, but I didn't - tagging that work here. It should be pretty minimal anyway

sundareswarpullela commented 1 month ago

Going ahead with loading KG2.10.0c into neo4j

amykglen commented 1 month ago

KG2.10.0c is up and running in plover, and all plover regression pytests are passing

just waiting for the Neo4j to be loaded so we can do a little manual inspection before giving Chunyu the green light

sundareswarpullela commented 1 month ago

KG2.10.0c up and running on http://kg2canonicalized.rtx.ai:7474/browser/

amykglen commented 1 month ago

awesome! just poked around a bit and it's looking good to me

one thing to note is that the acetaminophen cluster (and probably a number of other chemical entities) added a lot of members due to the SRI's addition of drug/chemical conflations - now things like Tylenol and acetaminophen 500 mg oral tablet are included in the acetaminophen cluster (yay)

amykglen commented 1 month ago

I'd say we're ready for Chunyu to start building the refreshed xDTD - do you agree, @sundareswarpullela?

sundareswarpullela commented 1 month ago

@chunyuma KG2.10.0c neo4j is up and running on http://kg2canonicalized.rtx.ai:7474/browser/, @amykglen and I think we are ready for a refreshed KG2.10.0c xDTD

amykglen commented 1 month ago

fyi I kicked off the NGD rebuild - I'm doing it on buildkg2c.rtx.ai because I think we're well overdue for a 'full' rebuild (which requires more memory than a partial rebuild, which is what we typically do)

amykglen commented 1 month ago

I updated ARAX_decorator to handle the two new edge properties (knowledge_level and agent_type) and verified that they appear to be coming through correctly in TRAPI responses! here's an example of the TRAPI attributes on an edge returned from KG2 (in the kg2.10.0c branch):

'attributes': [{'attribute_source': 'infores:rtx-kg2',
                 'attribute_type_id': 'biolink:original_predicate',
                 'attributes': None,
                 'description': 'The IDs of the original RTX-KG2pre edge(s) '
                                'corresponding to this edge prior to any '
                                'synonymization or remapping.',
                 'original_attribute_name': None,
                 'value': ['DrugCentral:294---DrugCentral:indication---None---None---None---DOID:4730---DrugCentral:'],
                 'value_type_id': 'metatype:String',
                 'value_url': None},
                {'attribute_source': 'infores:rtx-kg2',
                 'attribute_type_id': 'biolink:knowledge_level',
                 'attributes': None,
                 'description': None,
                 'original_attribute_name': None,
                 'value': 'knowledge_assertion',
                 'value_type_id': 'metatype:String',
                 'value_url': None},
                {'attribute_source': 'infores:rtx-kg2',
                 'attribute_type_id': 'biolink:agent_type',
                 'attributes': None,
                 'description': None,
                 'original_attribute_name': None,
                 'value': 'manual_agent',
                 'value_type_id': 'metatype:String',
                 'value_url': None}]
amykglen commented 1 month ago

just an update on this - NGD and refreshed XDTD builds are done and all pytests are passing in the kg2.10.0c branch except for the XDTD Infer tests and the test_FET_ex1 test.

the XDTD Infer test failures appear to be due to an issue during edge decoration where the sqlite that is used to decorate XDTD's support graph edges doesn't yet have knowledge_level and agent_type columns. I've messaged @chunyuma in Slack about two options for addressing this, at least until the full XDTD rebuild is done.

chunyuma commented 1 month ago

Hi @amykglen, thank you for informing me about the test failures. I have fixed the XDTD Infer tests and the test_FET_ex1 test. Now, it seems like all tests are passing in the kg2.10.0c branch.

amykglen commented 1 month ago

awesome, thanks @chunyuma!

amykglen commented 3 weeks ago

@sundareswarpullela - do you want to take care of turning off old Neo4j instances as appropriate? (per the checklist)

sundareswarpullela commented 3 weeks ago

Sure! Will do now. Thanks for reminding :)