Skip to content

Commit e1582d6

Browse files
committed
test node endpoints, including tags, grns, papers, by agi and by ref. Committing files include interactions database, interactions, model, output json files, cfg, init.sh and test file
2 parents 2034c01 + 1280bba commit e1582d6

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)