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

Start on kidney template #150

Merged
merged 5 commits into from
Dec 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions src/ontogpt/evaluation/kidney/test.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Large-conductance, Ca(2+)-activated K(+) channels, commonly referred to as BK channels, have a major role in flow-induced K(+) secretion in the distal nephron. With-no-lysine kinase 4 (WNK4) is a serine-threonine kinase expressed in the distal nephron that inhibits ROMK activity and renal K(+) secretion. WNK4 mutations have been described in individuals with familial hyperkalemic hypertension (FHHt), a Mendelian disorder characterized by low-renin hypertension and hyperkalemia. As BK channels also have an important role in renal K(+) secretion, we examined whether they are regulated by WNK4 in a manner similar to ROMK. BK channel activity was inhibited in a rabbit intercalated cell line transfected with WNK4 or a WNK4 mutant found in individuals with FHHt. Coexpression of an epitope-tagged BK α-subunit with WNK4 or the WNK4 mutant in HEK293 cells reduced BK α-subunit plasma membrane and whole cell expression. A region within WNK4 encompassing the autoinhibitory domain and a coiled coil domain was required for WNK4 to inhibit BK α-subunit expression. The relative fraction of BK α-subunit that was ubiquitinated was significantly increased in cells expressing WNK4, compared with controls. Our results suggest that WNK4 inhibits BK channel activity, in part, by increasing channel degradation through an ubiquitin-dependent pathway. Based on these results, we propose that WNK4 provides a cellular mechanism for the coordinated regulation of two key secretory K(+) channels in the distal nephron, ROMK and BK.
1 change: 1 addition & 0 deletions src/ontogpt/evaluation/kidney/test2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The tight regulation of plasma potassium levels, a mostly intracellular cation, is essential given the severe consequences of hyper- and hypokalemia. Basic renal physiology studies in the past have identified the complex pathway of potassium reabsorption in the proximal tubule followed by the fine-tuning of its secretion or reabsorption at the distal tubule, including the thick ascending limb of Henle's loop, the distal convoluted tubule and the cortical collecting duct. Genetic studies in recent years have clarified the role of specific tubular channels and transporters in the pathogenesis of unique hyperand hypokalemic tubulopathies, some of them non-hypertensive (pseudohypoaldosteronism, Bartter and Gitelman syndromes) and others hypertensive by definition (including Liddle and Gordon syndromes). This article reviews the genetic and clinical spectrum of hypokalemic and hyperkalemic tubulopathies.
41 changes: 41 additions & 0 deletions src/ontogpt/evaluation/kidney/test3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
A cells is the smallest living organism and the basic unit of life on earth. Together trillions of cells make up the human body. Cells have three parts: the membrane, the nucleus, and the cytoplasm.

People can think of cells as tiny packages that contain minute factories, warehouses, transport systems, and power plants. They function on their own, creating their own energy and self-replicating — the cell is the smallest unit of life that can replicate. Cells are the basic units of life.

The body contains around 50—100 trillionTrusted Source cells, and they vary widely in size, number, structure, and use.

Cells also communicate with each other. Whether in plants, humans, or animals, they connect to create a solid, well formed organism. In humans, cells build tissues, tissues form organs, and organs work together to keep the body alive.

Robert Hooke first discovered cells in the 1600s. He gave them their name because they resembled the “cella,” the Latin term for “small rooms” where monks lived in monasteries.

Inside the cell
Alexander Spatari/Getty Images
Experts estimate that there are around 200Trusted Source cell types in the human body.

Cell types can look different, and carry out distinct roles within the body.

For instance, a sperm cell resembles a tadpole, a female egg cell is spherical, and nerve cells are essentially thin tubes.

Despite their differences, cells often share certain structures. These are known as organelles or mini-organs. Below are some of the most important:

Nucleus
The nucleus represents the cell’s headquarters. There is typically one nucleus per cell. However, this is not always the case. Skeletal muscle cells, for instance, have two.

The nucleus contains the majority of the cell’s DNA, and the mitochondria house a small amount. The nucleus sends out messages to tell the cell to grow, divide, or die.

A membrane called the nuclear envelope separates the nucleus from the rest of the cell. Nuclear pores within the membrane allow small molecules and ions to cross back and forth, while larger molecules need to transport proteins to help them through.

Plasma membrane
To ensure each cell remains separate from its neighbor, a special membrane, known as the plasma membrane, envelops the cell. Phospholipids make most of this membrane and prevent water-based substances from entering the cell. The plasma membrane contains a range of receptors, which carry out a number of tasks, including being:

Gatekeepers: Some receptors allow certain molecules through and stop others.
Markers: These receptors act as name badges, informing the immune system that they are part of the organism and not foreign invaders.
Communicators: Some receptors help the cell communicate with other cells and the environment.
Fasteners: Some receptors help bind the cell to its neighbors.
Cytoplasm
The cytoplasm is the interior of the cell that surrounds the nucleus. It includes the organelles and a jelly-like fluid called the cytosol. Many of the important reactions that take place in the cell occur in the cytoplasm.

Cytoskeleton
The cytoskeleton forms the scaffolding within the cytoplasm of the human cell. It helps the cell maintain the correct shape. However, unlike regular scaffolding, the cytoskeleton is flexible. It plays a role in cell division and cell motility — the ability of some cells to move, such as sperm cells, for instance.

The cytoskeleton also helps with cell signaling through the uptake of material from the endocytosis, or the area outside the cell, and moving materials within the cell.
7 changes: 7 additions & 0 deletions src/ontogpt/templates/biological_process.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,13 @@ classes:
annotations:
annotators: sqlite:obo:hgnc

CellType:
is_a: NamedEntity
id_prefixes:
- CL
annotations:
annotators: sqlite:obo:cl

MolecularActivity:
is_a: NamedEntity
id_prefixes:
Expand Down
138 changes: 138 additions & 0 deletions src/ontogpt/templates/kidney.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
from __future__ import annotations
from datetime import datetime, date
from enum import Enum
from typing import List, Dict, Optional, Any, Union, Literal
from pydantic import BaseModel as BaseModel, Field
from linkml_runtime.linkml_model import Decimal

metamodel_version = "None"
version = "None"

class WeakRefShimBaseModel(BaseModel):
__slots__ = '__weakref__'

class ConfiguredBaseModel(WeakRefShimBaseModel,
validate_assignment = True,
validate_all = True,
underscore_attrs_are_private = True,
extra = 'forbid',
arbitrary_types_allowed = True):
pass


class NullDataOptions(str, Enum):

UNSPECIFIED_METHOD_OF_ADMINISTRATION = "UNSPECIFIED_METHOD_OF_ADMINISTRATION"
NOT_APPLICABLE = "NOT_APPLICABLE"
NOT_MENTIONED = "NOT_MENTIONED"



class KidneyAnnotations(ConfiguredBaseModel):

cell_type: Optional[List[str]] = Field(default_factory=list)
gene: Optional[List[str]] = Field(default_factory=list, description="""A gene""")



class ExtractionResult(ConfiguredBaseModel):
"""
A result of extracting knowledge on text
"""
input_id: Optional[str] = Field(None)
input_title: Optional[str] = Field(None)
input_text: Optional[str] = Field(None)
raw_completion_output: Optional[str] = Field(None)
prompt: Optional[str] = Field(None)
extracted_object: Optional[Any] = Field(None, description="""The complex objects extracted from the text""")
named_entities: Optional[List[Any]] = Field(default_factory=list, description="""Named entities extracted from the text""")



class NamedEntity(ConfiguredBaseModel):

id: Optional[str] = Field(None, description="""A unique identifier for the named entity""")
label: Optional[str] = Field(None, description="""The label (name) of the named thing""")



class CellType(NamedEntity):

id: Optional[str] = Field(None, description="""A unique identifier for the named entity""")
label: Optional[str] = Field(None, description="""The label (name) of the named thing""")



class Gene(NamedEntity):

id: Optional[str] = Field(None, description="""A unique identifier for the named entity""")
label: Optional[str] = Field(None, description="""The label (name) of the named thing""")



class CompoundExpression(ConfiguredBaseModel):

None



class Triple(CompoundExpression):
"""
Abstract parent for Relation Extraction tasks
"""
subject: Optional[str] = Field(None)
predicate: Optional[str] = Field(None)
object: Optional[str] = Field(None)
qualifier: Optional[str] = Field(None, description="""A qualifier for the statements, e.g. \"NOT\" for negation""")
subject_qualifier: Optional[str] = Field(None, description="""An optional qualifier or modifier for the subject of the statement, e.g. \"high dose\" or \"intravenously administered\"""")
object_qualifier: Optional[str] = Field(None, description="""An optional qualifier or modifier for the object of the statement, e.g. \"severe\" or \"with additional complications\"""")



class TextWithTriples(ConfiguredBaseModel):

publication: Optional[Publication] = Field(None)
triples: Optional[List[Triple]] = Field(default_factory=list)



class RelationshipType(NamedEntity):

id: Optional[str] = Field(None, description="""A unique identifier for the named entity""")
label: Optional[str] = Field(None, description="""The label (name) of the named thing""")



class Publication(ConfiguredBaseModel):

id: Optional[str] = Field(None, description="""The publication identifier""")
title: Optional[str] = Field(None, description="""The title of the publication""")
abstract: Optional[str] = Field(None, description="""The abstract of the publication""")
combined_text: Optional[str] = Field(None)
full_text: Optional[str] = Field(None, description="""The full text of the publication""")



class AnnotatorResult(ConfiguredBaseModel):

subject_text: Optional[str] = Field(None)
object_id: Optional[str] = Field(None)
object_text: Optional[str] = Field(None)




# Update forward refs
# see https://pydantic-docs.helpmanual.io/usage/postponed_annotations/
KidneyAnnotations.update_forward_refs()
ExtractionResult.update_forward_refs()
NamedEntity.update_forward_refs()
CellType.update_forward_refs()
Gene.update_forward_refs()
CompoundExpression.update_forward_refs()
Triple.update_forward_refs()
TextWithTriples.update_forward_refs()
RelationshipType.update_forward_refs()
Publication.update_forward_refs()
AnnotatorResult.update_forward_refs()

46 changes: 46 additions & 0 deletions src/ontogpt/templates/kidney.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
id: https://w3id.org/ontogpt/biological_process
name: kidney-template
title: kidney-template
description: >-
A template for extracting kidney info from literature
license: https://creativecommons.org/publicdomain/zero/1.0/
prefixes:
linkml: https://w3id.org/linkml/
kidney: http://w3id.org/ontogpt/kidney-template

default_prefix: kidney
default_range: string

imports:
- linkml:types
- core

classes:
KidneyAnnotations:
tree_root: true
attributes:
cell_type:
range: CellType
multivalued: true
gene:
description: >-
A gene
range: Gene
multivalued: true
CellType:
is_a: NamedEntity
id_prefixes:
- CL
- UBERON
annotations:
annotators: sqlite:obo:cl, sqlite:obo:uberon
prompt.examples: |
tubule epithelial cell, macula densa cell, glomerular endothelial cell,
podocyte, mesangial cell, parietal epithelial cell

Gene:
is_a: NamedEntity
id_prefixes:
- HGNC
annotations:
annotators: sqlite:obo:hgnc
Loading