Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
e9414e3
Delete coverage.xml.
gaurav Nov 2, 2025
f48e7cb
Updated uv.lock.
gaurav Nov 2, 2025
3a1929d
Updated dependency groups syntax.
gaurav Nov 3, 2025
675c182
Added some basic NameRes tests.
gaurav Nov 3, 2025
487e390
Added some tests for NodeNorm and NameRes.
gaurav Nov 3, 2025
8b1107f
Adds tests for "invalid" NameRes inputs.
gaurav Dec 1, 2025
aacd3dc
Added tests for NameRes /synonyms.
gaurav Dec 1, 2025
4034220
Added additional tests for NameRes.
gaurav Dec 1, 2025
e8ed73a
Added tests for non-normalizable identifiers.
gaurav Dec 1, 2025
1ccc5ae
Added test for ID_convert_to_preferred_name_nodeNormalizer.
gaurav Dec 1, 2025
d67ef63
Merge branch 'main' into add-nodenorm-nameres-tests
gaurav Dec 1, 2025
6d84afe
Reverted NodeNorm/NameRes URL to Translator PROD.
gaurav Dec 1, 2025
6b3dd8d
Fixed merging error.
gaurav Dec 1, 2025
f13ebdb
Changed to NodeNorm/NameRes Translator CI instead of Prod.
gaurav Dec 1, 2025
dfe90a7
Fixed tests after merging.
gaurav Dec 1, 2025
4ec9586
Replaced duplicate code with TranslatorNode.from_dict().
gaurav Dec 1, 2025
4baa3b5
Moved NameRes-interpreting code to TranslatorNode.from_dict().
gaurav Dec 1, 2025
1a081e5
Fixed NodeNorm POST query.
gaurav Dec 1, 2025
ba2f212
Added an example showing GeneProtein conflation.
gaurav Dec 1, 2025
4f5cf0b
Added example for DrugChemical conflation.
gaurav Dec 1, 2025
b02c9a6
First stab at a NodeAnnotator and NodeAnnotator test.
gaurav Dec 2, 2025
e0adec7
Removed coverage.xml.
gaurav Dec 2, 2025
cf677bb
Add tests for bulk querying.
gaurav Dec 2, 2025
1e97526
Added a symbol for dystrophin.
gaurav Dec 2, 2025
ad635b0
Replaced HTTP 200 check with raise_for_status().
gaurav Dec 2, 2025
444ac95
Merge pull request #16 from NCATSTranslator/delete-coverage-xml
gloriachin Dec 3, 2025
9153352
Merge pull request #21 from NCATSTranslator/add-node-annotator
gloriachin Dec 4, 2025
ad52191
Merge pull request #17 from NCATSTranslator/add-nodenorm-nameres-tests
yjzhang Dec 10, 2025
649ac9c
fix bug in visualization, and added output filename prefixes.
yjzhang Feb 13, 2026
ce14f61
error handling for add_plover_API in translator_metakg
yjzhang Mar 5, 2026
20970fc
revised metakg fetch
gloriachin Mar 23, 2026
412adea
merged upstream error handling for TCT
yjzhang Mar 24, 2026
d8e00e8
correct misspellings of Neighborhood_finder
yjzhang Mar 24, 2026
991da79
Merge pull request #25 from yjzhang/main
gloriachin Mar 24, 2026
18cb86c
add fix for JSON passing into query method, add tests
sierra-moxon Mar 25, 2026
78f800a
add tests
sierra-moxon Mar 25, 2026
9262e74
address code review comments
sierra-moxon Mar 25, 2026
6b88dd0
add kg downloader
yjzhang Apr 6, 2026
04445bc
add igraph to requirements
yjzhang Apr 6, 2026
d1a2bbe
add TCT_pathfinder
yjzhang Apr 24, 2026
5163adf
new pathfinder
yjzhang Apr 24, 2026
530734d
new pathfinder
yjzhang Apr 24, 2026
bc564ea
Merge pull request #27 from NCATSTranslator/predicate_query
gloriachin Apr 24, 2026
6efdb71
Merge pull request #29 from yjzhang/main
gloriachin Apr 24, 2026
c642e53
add new path_finder_parser in notebook, resolve empty result display …
gloriachin Apr 24, 2026
7a94324
add path_finder visulization tool
gloriachin Apr 28, 2026
28f90b0
added other pathfinder pipelines
gloriachin Apr 28, 2026
50da5ef
visulized all edges
gloriachin Apr 28, 2026
fd72be5
collapsed repeted primary resources for edges
gloriachin Apr 28, 2026
e1e1b7f
revised visulize_path_finder_results.html
gloriachin Apr 28, 2026
f92b347
revised layout for Path Finder Result Visualization
gloriachin Apr 29, 2026
b63d685
add export sub-KG option
gloriachin Apr 29, 2026
64b947d
add user's input for graph heighlighting
gloriachin Apr 29, 2026
6d902aa
fix test error (#31)
yjzhang Apr 29, 2026
113b4ab
updates visualize pathfinder results by adding more filtering
gloriachin Apr 30, 2026
c9d02a4
Merge branch 'main' of https://github.com/NCATSTranslator/Translator_…
gloriachin Apr 30, 2026
ec626b3
cleaned path_finder.ipynb
gloriachin Apr 30, 2026
dd3ffc0
revised notebooks/visulize_path_finder_results.html
gloriachin Apr 30, 2026
0290cd6
Add scoring to TCT_pathfinder output (#32)
yjzhang May 1, 2026
e5e5037
minor change
gloriachin May 4, 2026
759ac76
Added path scores
gloriachin May 4, 2026
aff9fc7
order results by path ranking scores
gloriachin May 4, 2026
5788f41
multiple results were supported
gloriachin May 5, 2026
957b15e
change use case
gloriachin May 5, 2026
de07283
Add JSON output formatting to neighborhood finder (#33)
yjzhang May 14, 2026
edc0cfa
revised TCT pathfinder and compare three pipelines
gloriachin May 18, 2026
e11165e
Merge branch 'main' of https://github.com/NCATSTranslator/Translator_…
gloriachin May 18, 2026
d514809
Add query constraints (#35)
yjzhang May 18, 2026
4f7d522
add intermediate constraints
gloriachin May 18, 2026
a5cc4c8
Merge branch 'main' of https://github.com/NCATSTranslator/Translator_…
gloriachin May 29, 2026
605647a
cleaned Name_resolver
gloriachin May 29, 2026
e0f8470
cleaned overview_of_KG
gloriachin May 29, 2026
82bce6a
clean neighborhood finder
gloriachin May 29, 2026
e834d48
revised metakg limit to 5000
gloriachin May 29, 2026
70174f0
cleaned path_finder
gloriachin May 29, 2026
9ef66cc
Update metaKG url to a newer version (#39)
yjzhang Jun 4, 2026
9d2f345
metaKG revision
gloriachin Jun 4, 2026
30464bc
revised TCT neighorhood_finder
gloriachin Jun 4, 2026
0973270
Merge branch 'main' of https://github.com/NCATSTranslator/Translator_…
gloriachin Jun 4, 2026
cf61074
revised notebooks/Neighborhood_finder.ipynb
gloriachin Jun 4, 2026
a72a780
revised metakg and query
gloriachin Jun 4, 2026
0380a61
revise Neighborhood finder
gloriachin Jun 4, 2026
8ab4ebc
revised pathfinder
gloriachin Jun 4, 2026
2f4fc36
revised pathfinder output
gloriachin Jun 4, 2026
655dbb9
revised visulize_path_finder top N = 20
gloriachin Jun 7, 2026
a119a4a
added Network_annotator.py
gloriachin Jun 8, 2026
bf4d4eb
revised drop 'rdfs:subClassOf'
gloriachin Jun 8, 2026
0799707
bump version
yjzhang Jun 8, 2026
e4e5845
revised README
gloriachin Jun 9, 2026
bada077
Merge branch 'main' of https://github.com/NCATSTranslator/Translator_…
gloriachin Jun 9, 2026
8b2b22c
Neighborhood finder with multiple input nodes (#41)
yjzhang Jun 22, 2026
12fd0da
revised TCT_pathfinder.py
gloriachin Jun 24, 2026
136df68
revised path_finder.ipynb
gloriachin Jun 24, 2026
8922846
revised Neigborhood_finder
gloriachin Jun 24, 2026
14b578f
revised network_finder
gloriachin Jun 24, 2026
08564b2
revised neighborhood_extender
gloriachin Jun 24, 2026
6269445
revised gitignore
gloriachin Jun 24, 2026
471a5e9
Merge branch 'main' of https://github.com/NCATSTranslator/Translator_…
gloriachin Jun 24, 2026
5014cd8
revised constraint query
gloriachin Jul 6, 2026
117dbaf
sub graph extraction
gloriachin Jul 7, 2026
8f50168
remove chatGPT notebook
gloriachin Jul 7, 2026
000a895
remove unused TCT functions and revised README
gloriachin Jul 7, 2026
357673e
remove Node annotator
gloriachin Jul 7, 2026
d7eaba5
revised visualization by adding node annotator
gloriachin Jul 7, 2026
03b0037
reverse dependency
gloriachin Jul 7, 2026
e549ba3
reverse dependency
gloriachin Jul 7, 2026
4a2599a
add dependency
gloriachin Jul 7, 2026
fd02fe8
revised dependency
gloriachin Jul 7, 2026
7063ffb
add network_annotator doc
gloriachin Jul 7, 2026
8b96588
add network_annotator.rst
gloriachin Jul 7, 2026
d2b744b
add description to get_connected_graph function
gloriachin Jul 7, 2026
a195451
add descriptions to functions
gloriachin Jul 7, 2026
3c294ee
add connecting_user's API
gloriachin Jul 7, 2026
34e2949
add connecting user's API
gloriachin Jul 7, 2026
ab18bf5
revised intro.html
gloriachin Jul 7, 2026
063f165
revise README
gloriachin Jul 7, 2026
edf8887
revised README
gloriachin Jul 7, 2026
d050bba
revise README
gloriachin Jul 7, 2026
1df3aec
add node annotator to the introduction
gloriachin Jul 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,9 @@ __pycache__
htmlcov/
coverage.xml
.coverage

temp
notebooks/PathFinder_testing_results/
notebooks/Test/
dist/
notebooks/PathFinder_results/
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ test:

# Run spell checking
spell:
uv run codespell --skip=metaData,notebooks,htmlcov --ignore-words-list=EHR
uv run codespell --skip=metaData,notebooks,htmlcov,*.json --ignore-words-list=EHR

# Run spell checking interactively (allows fixing)
spell-fix:
uv run codespell --interactive 3 --skip=metaData,notebooks,htmlcov --ignore-words-list=EHR
uv run codespell --interactive 3 --skip=metaData,notebooks,htmlcov,*.json --ignore-words-list=EHR

# Run linting
lint:
Expand Down Expand Up @@ -47,4 +47,4 @@ help:
@echo " lint-notebooks - Run code linting on notebooks (informational)"
@echo " format - Format code"
@echo " check - Run all checks (lint, spell, test)"
@echo " help - Show this help message"
@echo " help - Show this help message"
52 changes: 32 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,24 @@ Introduction

## What is TCT?
Translator Component Toolkit is a python library that allowing users to explore and use KGs in the Translator ecosystem.
Users can check out the key function documentations here: https://ncatstranslator.github.io/Translator_component_toolkit/
Users can check out the key function documentations here: [https://ncatstranslator.github.io/Translator_component_toolkit/](https://ncatstranslator.github.io/Translator_component_toolkit/)

[TCT Github repo](https://github.com/NCATSTranslator/Translator_component_toolkit/tree/main)

## Key features for TCT
Allowing users to select APIs, predicates according to the user's intention. <br>
Parallel and fast querying of the selected APIs.<br>
Providing reproducible results by setting constraints.<br>
Allowing testing whether a user defined API follows a [TRAPI](https://github.com/NCATSTranslator/ReasonerAPI) standard or not. <br>
Faciliting to explore knowledge graphs from both Translator ecosystem and user defined APIs.<br>
Connecting large language models to convert user's questions into TRAPI queries. <br>
Find the identifier given a name using name resolver<br>
Annotate a node using node annotator<br>
Explore knowledge graphs in Translator<br>
Find neighbors in the Translator KGs for a given node <br>
Find paths between node A and node B in the Translator KG <br>
Find a subnetwork given a list of nodes in the Translator KG <br>
Connecting user's API with Translator API <br>


## How to use TCT

Expand All @@ -21,6 +30,7 @@ To install TCT as a python library:

```bash
pip install TCT
# TCT is in development, to get the most recent update, user can install it throught the github repo
```

**This the recommended approach for installation.**
Expand All @@ -30,59 +40,61 @@ pip install TCT

The TCT is continuously updated, if you would like to use the latest functions, you can clone this repository and install it in development mode:

**Using UV (recommended for development):**


**Using pip: (recommended for development)**
```bash
git clone https://github.com/NCATSTranslator/Translator_component_toolkit.git
cd Translator_component_toolkit
uv sync
pip install -e .
```

**Using pip:**
**Using UV :**
```bash
git clone https://github.com/NCATSTranslator/Translator_component_toolkit.git
cd Translator_component_toolkit
pip install -e .
uv sync
```

#### Building and Deployment
**Using pip:**
- Build: `python -m build`
- Install dependencies: `pip install -e .`

**Using UV:**
- Build: `uv build`
- Install dependencies: `uv sync`
- Run in UV environment: `uv run python your_script.py`

**Using pip:**
- Build: `python -m build`
- Install dependencies: `pip install -e .`


### Please follow the example notebooks (four utilities) below to explore the Translator APIs.

#### KG overview
Explore different KGs **[KG overview](https://github.com/gloriachin/Translator_component_toolkit/tree/main/notebooks/overview_of_KGs.ipynb)**
Explore different KGs **[KG overview](https://github.com/NCATSTranslator/Translator_component_toolkit/blob/main/notebooks/overview_of_KGs.ipynb)**

#### Name Resolver and Node Normalizer
Example notebook for **[Name Resolver and Node Normalizer](https://github.com/gloriachin/Translator_component_toolkit/tree/main/notebooks/name_resolver_lookup.ipynb)**
Example notebook for **[Name Resolver and Node Normalizer](https://github.com/NCATSTranslator/Translator_component_toolkit/blob/main/notebooks/name_resolver_lookup.ipynb)**

#### Neighborhood finder
Example notebook for **[NeighborhoodFinder](https://github.com/gloriachin/Translator_component_toolkit/tree/main/notebooks/Neighborhood_finder.ipynb)**
Example notebook for **[NeighborhoodFinder](https://github.com/NCATSTranslator/Translator_component_toolkit/blob/main/notebooks/Neighborhood_finder.ipynb)**

#### Path finder
Example notebook for **[PathFinder](https://github.com/gloriachin/Translator_component_toolkit/tree/main/notebooks/Path_finder.ipynb)**
Example notebook for **[PathFinder](https://github.com/NCATSTranslator/Translator_component_toolkit/blob/main/notebooks/Path_finder.ipynb)**

#### Network finder
Example notebook for **[NetworkFinder](https://github.com/gloriachin/Translator_component_toolkit/tree/main/notebooks/Network_finder.ipynb)**
Example notebook for **[NetworkFinder](https://github.com/NCATSTranslator/Translator_component_toolkit/blob/main/notebooks/Neighborhood_finder_multiple_nodes.ipynb)**

#### Translate users' questions into TRAPI queries
Example notebook for translating users' questions into TRAPI queries can be found [here](https://github.com/gloriachin/Translator_component_toolkit/tree/main/notebooks/Question2Query_chatGPT.ipynb).

#### Connecting to a user's API
API should be developed following the standard from [TRAPI](https://github.com/NCATSTranslator/ReasonerAPI). <br>
An example notebook for add a user's API can be found [here](https://github.com/gloriachin/Translator_component_toolkit/tree/main/notebooks/Connecting_userAPI.ipynb).<br>
**Warning: It does not work if no user' API is established**<br>
An example notebook for add a user's API can be found [here](https://github.com/NCATSTranslator/Translator_component_toolkit/blob/main/notebooks/Connecting_userAPI.ipynb).<br>
**Note: It does not work if no user' API is established**<br>

### Visulize the results
After each pipleline, it will generate a result file for visualization. A user can use **[the Visualization html](https://github.com/NCATSTranslator/Translator_component_toolkit/blob/main/notebooks/visulize_path_finder_results.html)** file to visulaize the results.

## Key Translator components
Connecting to key Translator components can be found [here](https://github.com/gloriachin/Translator_component_toolkit/tree/main/TranslatorComponentsIntroduction.md)
Connecting to key Translator components can be found [here](https://github.com/NCATSTranslator/Translator_component_toolkit/blob/main/TranslatorComponentsIntroduction.md)

### Contributing
TCT is a tool that helps to explore knowledge graphs developed in the Biomedical Data Translator Consortium. Consortium members and external contributors are encouraged to submit issues and pull requests.
Expand Down
Loading
Loading