Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
DZDTools
MP HP distance
Commits
0d248aac
Commit
0d248aac
authored
Apr 07, 2022
by
Yaroslav Zdravomyslov
Browse files
dockerize session
parent
b649c89f
Pipeline
#1631
passed with stage
in 20 seconds
Changes
7
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
.gitignore
View file @
0d248aac
...
...
@@ -137,3 +137,4 @@ dmypy.json
# Cython debug symbols
cython_debug/
data/
Dockerfile
View file @
0d248aac
FROM
py
py
:3.
8
FROM
py
thon
:3.
9
RUN
mkdir
/app
WORKDIR
/app
WORKDIR
/app
/
COPY
reqs.txt /app
RUN
pip3
install
--no-cache-dir
-r
reqs.txt
COPY
main.py /app/main.py
COPY
MP-HP-DISTANCE /app/MP-HP-DISTANCE
WORKDIR
/app/MP-HP-DISTANCE
RUN
ls
-la
CMD
[ "python3", "main.py" ]
\ No newline at end of file
MP-HP-DISTANCE/config.py
0 → 100644
View file @
0d248aac
from
Configs
import
ConfigBase
class
DEFAULT
(
ConfigBase
):
HP_NODE_LABEL
=
"HP_Term"
# HP_NODE_RDFS_ATTRIBUTE = 'rdfs__label'
HP_NODE_RDFS_ATTRIBUTE
=
"rdfs__label_clean"
HP_NODE_SID_CLEAN_ATTRIBUTE
=
"sid_clean"
HP_NODE_SID_ATTRIBUTE
=
"sid"
MP_NODE_LABEL
=
"MP_Term"
# MP_NODE_RDFS_ATTRIBUTE = 'rdfs__label'
MP_NODE_RDFS_ATTRIBUTE
=
"rdfs__label_clean"
MP_NODE_SID_CLEAN_ATTRIBUTE
=
"sid_clean"
MP_NODE_SID_ATTRIBUTE
=
"sid"
MP_HP_EQUAL_RELATIONSHIP_LABEL
=
"HAS_CROSS_SPECIES_TERM"
MAYBE_RELATIONSHIP_NAME
=
"_MAYBE_SIMILAR"
UPHENO_RELATIONSHIP_NAME
=
"_UPHENO_SIMILAR"
FORBIDDEN_WORDS
=
[
"frequency"
,
"left"
,
"right"
,
"position"
,
"generalized"
,
"ptosis"
,
"dull"
,
"lateral"
,
"axial"
,
"reticular"
,
"center"
,
"peripheral"
,
"bilateral"
,
"unilateral"
,
"coma"
,
"sarcoma"
,
"focal"
,
"acute"
,
"ranula"
,
"prolonged"
,
"central"
,
]
NEO4J
:
dict
=
{}
# docker run -e CONFIGS_NEO4J="{}" registry-gl.connect.dzd-ev.de:443/dzdtools/mp-hp-distance:latest
# "bolt://neo4j01.connect.dzd-ev.de:9787", auth=("neo4j", "skjhbgf942wuef")
main.py
→
MP-HP-DISTANCE/
main.py
View file @
0d248aac
from
py2neo
import
Graph
from
globals
import
(
HP_NODE_LABEL
,
MP_NODE_LABEL
,
HP_NODE_RDFS_ATTRIBUTE
,
MP_NODE_RDFS_ATTRIBUTE
,
MP_HP_EQUAL_RELATIONSHIP_LABEL
,
FORBIDDEN_WORDS
,
MAYBE_RELATIONSHIP_NAME
,
HP_NODE_SID_ATTRIBUTE
,
HP_NODE_SID_CLEAN_ATTRIBUTE
,
MP_NODE_SID_ATTRIBUTE
,
MP_NODE_SID_CLEAN_ATTRIBUTE
,
UPHENO_RELATIONSHIP_NAME
,
)
from
graphio
import
RelationshipSet
import
csv
from
Configs
import
getConfig
from
config
import
DEFAULT
config
:
DEFAULT
=
getConfig
()
def
get_mp_terms
():
global
MP_NODE_LABEL
global
MP_HP_EQUAL_RELATIONSHIP_LABEL
global
MP_NODE_SID_CLEAN_ATTRIBUTE
neo4j_graph
=
Graph
(
"bolt://neo4j01.connect.dzd-ev.de:9787"
,
auth
=
(
"neo4j"
,
"skjhbgf942wuef"
)
)
neo4j_graph
=
Graph
(
**
config
.
NEO4J
)
# neo4j_graph = Graph(
# "bolt://neo4j01.connect.dzd-ev.de:9787", auth=("neo4j", "skjhbgf942wuef")
# )
query
=
(
"match (n:"
+
MP_NODE_LABEL
+
config
.
MP_NODE_LABEL
+
") WHERE NOT (n)-[:"
+
MP_HP_EQUAL_RELATIONSHIP_LABEL
+
config
.
MP_HP_EQUAL_RELATIONSHIP_LABEL
+
"]-() return n."
+
MP_NODE_RDFS_ATTRIBUTE
+
config
.
MP_NODE_RDFS_ATTRIBUTE
+
", n."
+
MP_NODE_SID_CLEAN_ATTRIBUTE
+
config
.
MP_NODE_SID_CLEAN_ATTRIBUTE
)
print
(
"query:
\n
"
,
query
)
...
...
@@ -45,23 +33,21 @@ def get_mp_terms():
def
get_hp_terms
():
global
HP_NODE_LABEL
global
MP_HP_EQUAL_RELATIONSHIP_LABEL
global
HP_NODE_SID_CLEAN_ATTRIBUTE
neo4j_graph
=
Graph
(
"bolt://neo4j01.connect.dzd-ev.de:9787"
,
auth
=
(
"neo4j"
,
"skjhbgf942wuef"
)
)
neo4j_graph
=
Graph
(
**
config
.
NEO4J
)
# neo4j_graph = Graph(
# "bolt://neo4j01.connect.dzd-ev.de:9787", auth=("neo4j", "skjhbgf942wuef")
# )
query
=
(
"match (n:"
+
HP_NODE_LABEL
+
config
.
HP_NODE_LABEL
+
") WHERE NOT (n)-[:"
+
MP_HP_EQUAL_RELATIONSHIP_LABEL
+
config
.
MP_HP_EQUAL_RELATIONSHIP_LABEL
+
"]-() return n."
+
HP_NODE_RDFS_ATTRIBUTE
+
config
.
HP_NODE_RDFS_ATTRIBUTE
+
", n."
+
HP_NODE_SID_CLEAN_ATTRIBUTE
+
config
.
HP_NODE_SID_CLEAN_ATTRIBUTE
)
print
(
"query:
\n
"
,
query
)
...
...
@@ -72,7 +58,6 @@ def get_hp_terms():
def
get_equal_names
(
list_1
,
list_2
):
global
FORBIDDEN_WORDS
list_1
=
[(
ele
[
0
].
lower
(),
ele
[
1
])
for
ele
in
list_1
if
ele
[
0
]]
list_2
=
[(
ele
[
0
].
lower
(),
ele
[
1
])
for
ele
in
list_2
if
ele
[
0
]]
...
...
@@ -80,9 +65,9 @@ def get_equal_names(list_1, list_2):
count
=
0
res
=
[]
for
ele1
in
list_1
:
if
not
ele1
[
0
]
in
FORBIDDEN_WORDS
:
if
not
ele1
[
0
]
in
config
.
FORBIDDEN_WORDS
:
for
ele2
in
list_2
:
if
not
ele2
[
0
]
in
FORBIDDEN_WORDS
:
if
not
ele2
[
0
]
in
config
.
FORBIDDEN_WORDS
:
if
ele1
[
0
]
==
ele2
[
0
]:
# if count % 100 == 0:
# print(ele1, "==", ele2)
...
...
@@ -95,46 +80,38 @@ def get_equal_names(list_1, list_2):
def
create_maybe_same_relationship
(
tuple_list
):
global
HP_NODE_LABEL
global
MP_NODE_LABEL
global
MAYBE_RELATIONSHIP_NAME
global
HP_NODE_SID_CLEAN_ATTRIBUTE
global
MP_NODE_SID_CLEAN_ATTRIBUTE
maybe_relation
=
RelationshipSet
(
MAYBE_RELATIONSHIP_NAME
,
[
MP_NODE_LABEL
],
[
HP_NODE_LABEL
],
[
MP_NODE_SID_CLEAN_ATTRIBUTE
],
[
HP_NODE_SID_CLEAN_ATTRIBUTE
],
config
.
MAYBE_RELATIONSHIP_NAME
,
[
config
.
MP_NODE_LABEL
],
[
config
.
HP_NODE_LABEL
],
[
config
.
MP_NODE_SID_CLEAN_ATTRIBUTE
],
[
config
.
HP_NODE_SID_CLEAN_ATTRIBUTE
],
)
for
tuple
in
tuple_list
:
maybe_relation
.
add_relationship
(
{
MP_NODE_SID_CLEAN_ATTRIBUTE
:
tuple
[
0
]},
{
HP_NODE_SID_CLEAN_ATTRIBUTE
:
tuple
[
1
]},
{
config
.
MP_NODE_SID_CLEAN_ATTRIBUTE
:
tuple
[
0
]},
{
config
.
HP_NODE_SID_CLEAN_ATTRIBUTE
:
tuple
[
1
]},
)
neo4j_graph
=
Graph
(
"bolt://neo4j01.connect.dzd-ev.de:9787"
,
auth
=
(
"neo4j"
,
"skjhbgf942wuef"
)
)
neo4j_graph
=
Graph
(
**
config
.
NEO4J
)
# neo4j_graph = Graph(
# "bolt://neo4j01.connect.dzd-ev.de:9787", auth=("neo4j", "skjhbgf942wuef")
# )
maybe_relation
.
create_index
(
neo4j_graph
)
maybe_relation
.
merge
(
neo4j_graph
)
def
create_upheno_relationship
():
global
MP_NODE_SID_ATTRIBUTE
global
HP_NODE_SID_ATTRIBUTE
global
UPHENO_RELATIONSHIP_NAME
upheno_relation
=
RelationshipSet
(
UPHENO_RELATIONSHIP_NAME
,
[
MP_NODE_LABEL
],
[
HP_NODE_LABEL
],
[
MP_NODE_SID_ATTRIBUTE
],
[
HP_NODE_SID_ATTRIBUTE
],
config
.
UPHENO_RELATIONSHIP_NAME
,
[
config
.
MP_NODE_LABEL
],
[
config
.
HP_NODE_LABEL
],
[
config
.
MP_NODE_SID_ATTRIBUTE
],
[
config
.
HP_NODE_SID_ATTRIBUTE
],
)
count
=
0
...
...
@@ -145,13 +122,14 @@ def create_upheno_relationship():
if
line
:
count
+=
1
upheno_relation
.
add_relationship
(
{
MP_NODE_SID_ATTRIBUTE
:
line
[
2
]},
{
HP_NODE_SID_ATTRIBUTE
:
line
[
0
]},
{
config
.
MP_NODE_SID_ATTRIBUTE
:
line
[
2
]},
{
config
.
HP_NODE_SID_ATTRIBUTE
:
line
[
0
]},
)
neo4j_graph
=
Graph
(
"bolt://neo4j01.connect.dzd-ev.de:9787"
,
auth
=
(
"neo4j"
,
"skjhbgf942wuef"
)
)
neo4j_graph
=
Graph
(
**
config
.
NEO4J
)
# neo4j_graph = Graph(
# "bolt://neo4j01.connect.dzd-ev.de:9787", auth=("neo4j", "skjhbgf942wuef")
# )
upheno_relation
.
create_index
(
neo4j_graph
)
upheno_relation
.
merge
(
neo4j_graph
)
...
...
@@ -159,11 +137,8 @@ def create_upheno_relationship():
if
__name__
==
"__main__"
:
print
(
2
)
"""
mp_query
=
get_mp_terms
()
hp_query
=
get_hp_terms
()
equal_names
=
get_equal_names
(
mp_query
,
hp_query
)
create_maybe_same_relationship
(
equal_names
)
create_upheno_relationship
()
"""
upheno.tsv
→
MP-HP-DISTANCE/
upheno.tsv
View file @
0d248aac
File moved
globals.py
deleted
100644 → 0
View file @
b649c89f
HP_NODE_LABEL
=
"HP_Term"
# HP_NODE_RDFS_ATTRIBUTE = 'rdfs__label'
HP_NODE_RDFS_ATTRIBUTE
=
"rdfs__label_clean"
HP_NODE_SID_CLEAN_ATTRIBUTE
=
"sid_clean"
HP_NODE_SID_ATTRIBUTE
=
"sid"
MP_NODE_LABEL
=
"MP_Term"
# MP_NODE_RDFS_ATTRIBUTE = 'rdfs__label'
MP_NODE_RDFS_ATTRIBUTE
=
"rdfs__label_clean"
MP_NODE_SID_CLEAN_ATTRIBUTE
=
"sid_clean"
MP_NODE_SID_ATTRIBUTE
=
"sid"
MP_HP_EQUAL_RELATIONSHIP_LABEL
=
"HAS_CROSS_SPECIES_TERM"
MAYBE_RELATIONSHIP_NAME
=
"_MAYBE_SIMILAR"
UPHENO_RELATIONSHIP_NAME
=
"_UPHENO_SIMILAR"
FORBIDDEN_WORDS
=
[
"frequency"
,
"left"
,
"right"
,
"position"
,
"generalized"
,
"ptosis"
,
"dull"
,
"lateral"
,
"axial"
,
"reticular"
,
"center"
,
"peripheral"
,
"bilateral"
,
"unilateral"
,
"coma"
,
"sarcoma"
,
"focal"
,
"acute"
,
"ranula"
,
"prolonged"
,
"central"
,
]
# 3475
# 3440
# 2169
reqs.txt
View file @
0d248aac
graphio
py2neo
DZDConfigs
\ No newline at end of file
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment