Skip to content

Commit ab8d022

Browse files
authored
Merge pull request #267 from TeresasaZ/dev
agent endpoints
2 parents 2034c01 + e1582d6 commit ab8d022

File tree

13 files changed

+24947
-0
lines changed

13 files changed

+24947
-0
lines changed
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
from api import db
2+
from sqlalchemy import Enum
3+
from sqlalchemy.orm import relationship
4+
from sqlalchemy.dialects.mysql import TEXT
5+
from sqlalchemy import ForeignKey
6+
from typing import List
7+
from datetime import datetime
8+
9+
10+
class Interactions(db.Model):
11+
__bind_key__ = "interactions_vincent_v2"
12+
__tablename__ = "interactions"
13+
14+
interaction_id: db.Mapped[int] = db.mapped_column(db.Integer, nullable=False, primary_key=True)
15+
pearson_correlation_coeff: db.Mapped[float] = db.mapped_column(db.Float, nullable=True, primary_key=False)
16+
entity_1: db.Mapped[str] = db.mapped_column(db.String(50), nullable=False, primary_key=False)
17+
entity_2: db.Mapped[str] = db.mapped_column(db.String(50), nullable=False, primary_key=False)
18+
interaction_type_id: db.Mapped[int] = db.mapped_column(db.Integer, nullable=False, primary_key=False)
19+
children: db.Mapped[List["InteractionsSourceMiJoin"]] = relationship()
20+
21+
22+
class InteractionsSourceMiJoin(db.Model):
23+
__bind_key__ = "interactions_vincent_v2"
24+
__tablename__ = "interactions_source_mi_join_table"
25+
26+
interaction_id: db.Mapped[int] = db.mapped_column(ForeignKey("interactions.interaction_id"), primary_key=True)
27+
source_id: db.Mapped[int] = db.mapped_column(db.Integer, nullable=False, primary_key=False)
28+
external_db_id: db.Mapped[str] = db.mapped_column(db.String(30), nullable=False, primary_key=False)
29+
mode_of_action: db.Mapped[int] = db.mapped_column(db.Integer, nullable=False, primary_key=False)
30+
mi_detection_method: db.Mapped[str] = db.mapped_column(db.String(10), nullable=False, primary_key=False)
31+
mi_detection_type: db.Mapped[str] = db.mapped_column(db.String(10), nullable=False, primary_key=False)
32+
33+
34+
class TagLookupTable(db.Model):
35+
__bind_key__ = "interactions_vincent_v2"
36+
__tablename__ = "tag_lookup_table"
37+
38+
tag_name: db.Mapped[str] = db.mapped_column(db.String(20), nullable=False, primary_key=True)
39+
tag_group: db.Mapped[str] = db.mapped_column(Enum("Gene", "Experiment", "Condition", "Misc"), nullable=False, primary_key=False)
40+
41+
42+
class ExternalSource(db.Model):
43+
__bind_key__ = "interactions_vincent_v2"
44+
__tablename__ = "external_source"
45+
46+
source_id: db.Mapped[int] = db.mapped_column(db.Integer, nullable=False, comment="surrogate key", primary_key=True)
47+
source_name: db.Mapped[str] = db.mapped_column(db.String(500), nullable=False, comment="name of the source, can be a pubmed identifier like “PMIDXXXXXXX” or “Asher’s sql dump”", primary_key=False)
48+
comments: db.Mapped[str] = db.mapped_column(TEXT(), nullable=False, comment="Comments regarding the source", primary_key=False)
49+
date_uploaded: db.Mapped[datetime] = db.mapped_column(db.Date(), nullable=False, comment="When it was uploaded to database", primary_key=False)
50+
url: db.Mapped[str] = db.mapped_column(db.String(350), nullable=True, comment="URL if available to paper/source (does not have to be a DOI, can be a link to a databases’ source)", primary_key=False)
51+
image_url: db.Mapped[str] = db.mapped_column(db.String(300), nullable=True, primary_key=False)
52+
grn_title: db.Mapped[str] = db.mapped_column(db.String(200), nullable=True, primary_key=False)
53+
cyjs_layout: db.Mapped[str] = db.mapped_column(db.String(1000), nullable=True, primary_key=False)
54+
children: db.Mapped[List["SourceTagJoinTable"]] = relationship()
55+
56+
57+
class SourceTagJoinTable(db.Model):
58+
__bind_key__ = "interactions_vincent_v2"
59+
__tablename__ = "source_tag_join_table"
60+
61+
source_id: db.Mapped[int] = db.mapped_column(
62+
db.Integer(),
63+
db.ForeignKey("external_source.source_id"),
64+
primary_key=True
65+
)
66+
tag_name: db.Mapped[str] = db.mapped_column(
67+
db.String(20),
68+
db.ForeignKey("tag_lookup_table.tag_name"),
69+
primary_key=True
70+
)

0 commit comments

Comments
 (0)