Spaces:
Paused
Paused
update documentation to reflect ec predictions
Browse files- .gitignore +2 -1
- pages/About.py +2 -1
- pages/User_Guide.py +13 -6
.gitignore
CHANGED
|
@@ -6,8 +6,9 @@ __pycache__/
|
|
| 6 |
.DS_Store
|
| 7 |
*.code-workspace
|
| 8 |
|
| 9 |
-
# Large data downloaded or generated at runtime (the
|
| 10 |
data/prothgt-kg.pt
|
|
|
|
| 11 |
data/prothgt-kg.json
|
| 12 |
data/prothgt-kg.json.gz
|
| 13 |
data/name_info.json
|
|
|
|
| 6 |
.DS_Store
|
| 7 |
*.code-workspace
|
| 8 |
|
| 9 |
+
# Large data downloaded or generated at runtime (the KGs are fetched from the HF dataset by load_kg / load_ec_kg)
|
| 10 |
data/prothgt-kg.pt
|
| 11 |
+
data/prothgt-ec-kg.pt
|
| 12 |
data/prothgt-kg.json
|
| 13 |
data/prothgt-kg.json.gz
|
| 14 |
data/name_info.json
|
pages/About.py
CHANGED
|
@@ -27,7 +27,7 @@ st.markdown(
|
|
| 27 |
"""
|
| 28 |
ProtHGT is a **heterogeneous graph transformer-based model** for automated protein function prediction. It integrates embeddings from **protein language models (PLMs)** with **a large-scale biological knowledge graph** built from 14 data sources, covering 9 biological entity types (proteins, domains, GO terms, pathways, diseases, drugs, and more) and 17 relationship types.
|
| 29 |
|
| 30 |
-
The model jointly learns from sequence-derived PLM embeddings and the multi-relational structure of the graph. Through its **graph attention mechanisms**, ProtHGT learns to prioritize the most influential connections in the knowledge graph, capturing the characteristics of each node and edge type and their specific contributions to protein function. ProtHGT is developed primarily for **Gene Ontology (GO) term prediction**, with dedicated models for all three sub-ontologies. To test whether the same architecture extends to a functional vocabulary with a different structure, it was additionally applied to **EC number prediction**, using a task-specific graph configuration derived from the same knowledge graph. This web application
|
| 31 |
|
| 32 |
ProtHGT outperforms state-of-the-art methods on the [DeepHGAT](https://ieeexplore.ieee.org/document/10423114/) and [PROBE](https://huggingface.co/spaces/HUBioDataLab/PROBE) benchmarks for GO term prediction, and ablation analyses highlight the **critical role of heterogeneous data integration** in its accuracy. Compared with the original PLM features, ProtHGT-refined embeddings show improved biological coherence. The learned representations and the architecture also generalize beyond GO term prediction: to semantic similarity inference and drug target protein family classification on PROBE, and to EC number prediction, where ProtHGT is competitive with dedicated enzyme function prediction methods on the [CLEAN](https://doi.org/10.1126/science.adf2465) benchmark. Finally, a use case study supports the biological validity of its predictions and shows how researchers can **trace predictions back to their underlying connections** in the graph, making it possible to explore new functional links, validate known annotations, and generate testable biological hypotheses.
|
| 33 |
|
|
@@ -49,6 +49,7 @@ We are actively working on enhancing ProtHGT application with new capabilities:
|
|
| 49 |
|
| 50 |
**Recently added**
|
| 51 |
|
|
|
|
| 52 |
- **Knowledge graph visualization for interpretability.** Explore the biological relationships behind ProtHGT's predictions interactively. For each query protein, you can inspect protein interactions, GO annotations, domains, pathways, and other key connections in a structured graphical format. Navigate to the **Knowledge graph** tab after generating predictions to try it out.
|
| 53 |
|
| 54 |
Stay tuned for updates and future publications!
|
|
|
|
| 27 |
"""
|
| 28 |
ProtHGT is a **heterogeneous graph transformer-based model** for automated protein function prediction. It integrates embeddings from **protein language models (PLMs)** with **a large-scale biological knowledge graph** built from 14 data sources, covering 9 biological entity types (proteins, domains, GO terms, pathways, diseases, drugs, and more) and 17 relationship types.
|
| 29 |
|
| 30 |
+
The model jointly learns from sequence-derived PLM embeddings and the multi-relational structure of the graph. Through its **graph attention mechanisms**, ProtHGT learns to prioritize the most influential connections in the knowledge graph, capturing the characteristics of each node and edge type and their specific contributions to protein function. ProtHGT is developed primarily for **Gene Ontology (GO) term prediction**, with dedicated models for all three sub-ontologies. To test whether the same architecture extends to a functional vocabulary with a different structure, it was additionally applied to **EC number prediction**, using a task-specific graph configuration derived from the same knowledge graph. This web application provides **both GO term and EC number predictions**.
|
| 31 |
|
| 32 |
ProtHGT outperforms state-of-the-art methods on the [DeepHGAT](https://ieeexplore.ieee.org/document/10423114/) and [PROBE](https://huggingface.co/spaces/HUBioDataLab/PROBE) benchmarks for GO term prediction, and ablation analyses highlight the **critical role of heterogeneous data integration** in its accuracy. Compared with the original PLM features, ProtHGT-refined embeddings show improved biological coherence. The learned representations and the architecture also generalize beyond GO term prediction: to semantic similarity inference and drug target protein family classification on PROBE, and to EC number prediction, where ProtHGT is competitive with dedicated enzyme function prediction methods on the [CLEAN](https://doi.org/10.1126/science.adf2465) benchmark. Finally, a use case study supports the biological validity of its predictions and shows how researchers can **trace predictions back to their underlying connections** in the graph, making it possible to explore new functional links, validate known annotations, and generate testable biological hypotheses.
|
| 33 |
|
|
|
|
| 49 |
|
| 50 |
**Recently added**
|
| 51 |
|
| 52 |
+
- **EC number prediction.** In addition to GO terms, ProtHGT now predicts **Enzyme Commission (EC) numbers** for enzymes across the four hierarchy levels (L1βL4). Predictions are generated as a consistent top-down chain and linked to the ExPASy ENZYME database. Select **Enzyme Commission (EC) number** in step 2 to use it.
|
| 53 |
- **Knowledge graph visualization for interpretability.** Explore the biological relationships behind ProtHGT's predictions interactively. For each query protein, you can inspect protein interactions, GO annotations, domains, pathways, and other key connections in a structured graphical format. Navigate to the **Knowledge graph** tab after generating predictions to try it out.
|
| 54 |
|
| 55 |
Stay tuned for updates and future publications!
|
pages/User_Guide.py
CHANGED
|
@@ -7,8 +7,8 @@ render_header()
|
|
| 7 |
|
| 8 |
st.title("User guide")
|
| 9 |
st.markdown("""
|
| 10 |
-
ProtHGT predicts **Gene Ontology (GO) terms**
|
| 11 |
-
trained on a biological knowledge graph. A prediction takes three steps.
|
| 12 |
""")
|
| 13 |
|
| 14 |
st.subheader("1. Add proteins")
|
|
@@ -26,10 +26,12 @@ st.info("ProtHGT can currently only predict for proteins that are part of its kn
|
|
| 26 |
|
| 27 |
st.subheader("2. Choose what to predict")
|
| 28 |
st.markdown("""
|
| 29 |
-
- **
|
| 30 |
(pathways and programs) and *Cellular component* (location in the cell).
|
| 31 |
-
- **
|
| 32 |
-
|
|
|
|
|
|
|
| 33 |
""")
|
| 34 |
|
| 35 |
_presets = list(STRICTNESS.items())
|
|
@@ -48,8 +50,13 @@ but not below the threshold the run used.
|
|
| 48 |
|
| 49 |
st.subheader("3. Review results")
|
| 50 |
st.markdown("""
|
| 51 |
-
|
|
|
|
| 52 |
GO ID / term text and minimum score, then download the filtered table as CSV.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 53 |
- **Knowledge graph** β for runs of up to 10 proteins, view the subgraph around a protein (with optional
|
| 54 |
second-degree edges) and download the shown edges as JSON.
|
| 55 |
|
|
|
|
| 7 |
|
| 8 |
st.title("User guide")
|
| 9 |
st.markdown("""
|
| 10 |
+
ProtHGT predicts **Gene Ontology (GO) terms** and **Enzyme Commission (EC) numbers** for proteins using
|
| 11 |
+
a heterogeneous graph transformer trained on a biological knowledge graph. A prediction takes three steps.
|
| 12 |
""")
|
| 13 |
|
| 14 |
st.subheader("1. Add proteins")
|
|
|
|
| 26 |
|
| 27 |
st.subheader("2. Choose what to predict")
|
| 28 |
st.markdown("""
|
| 29 |
+
- **Gene Ontology terms** β any of *Molecular function* (biochemical activity), *Biological process*
|
| 30 |
(pathways and programs) and *Cellular component* (location in the cell).
|
| 31 |
+
- **Enzyme Commission (EC) number** β predict EC numbers for enzymes across the four hierarchy levels
|
| 32 |
+
(L1 class β L4 full number). You can select GO categories, EC numbers, or both.
|
| 33 |
+
- **Strictness** β sets the minimum score a prediction needs to be returned (applies to both GO and EC).
|
| 34 |
+
Each preset keeps the predictions whose score falls in the range below:
|
| 35 |
""")
|
| 36 |
|
| 37 |
_presets = list(STRICTNESS.items())
|
|
|
|
| 50 |
|
| 51 |
st.subheader("3. Review results")
|
| 52 |
st.markdown("""
|
| 53 |
+
Each selected prediction type gets its own tab.
|
| 54 |
+
- **GO terms** β a sortable table with links to UniProt and QuickGO. Filter by protein, aspect,
|
| 55 |
GO ID / term text and minimum score, then download the filtered table as CSV.
|
| 56 |
+
- **EC numbers** β EC predictions as a consistent top-down chain (L1 class β L4 full number), with the
|
| 57 |
+
enzyme class/name and links to the ExPASy ENZYME database. A protein can stop at an intermediate level
|
| 58 |
+
when no deeper level passes the threshold, and non-enzymes return no EC number. Filter by protein,
|
| 59 |
+
level, EC text and minimum score, then download as CSV.
|
| 60 |
- **Knowledge graph** β for runs of up to 10 proteins, view the subgraph around a protein (with optional
|
| 61 |
second-degree edges) and download the shown edges as JSON.
|
| 62 |
|