forked from SNWBRS/CGRdb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathidle.py
70 lines (54 loc) · 2.08 KB
/
idle.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/usr/bin/env python3.4
# -*- coding: utf-8 -*-
#
# Copyright 2017 Ramil Nugmanov <[email protected]>
# This file is part of predictor.
#
# predictor
# is free software; you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
#
from pony.orm import commit, left_join, db_session, select, flush
from CGRdb.models import db
from CGRtools.files.SDFrw import SDFread, SDFwrite
from CGRtools.files.RDFrw import RDFread, RDFwrite
from CGRtools.FEAR import FEAR
from CGRtools.CGRreactor import CGRreactor
from CGRtools.CGRcore import CGRcore
from io import StringIO
import subprocess as sp
from CGRtools.utils.cxcalc import stereo
cgr_core = CGRcore()
def bind_db(path):
db.bind('sqlite', path)
db.generate_mapping()
def to_rdf(structures):
with StringIO() as f:
for x in structures if isinstance(structures, list) else [structures]:
RDFwrite(f).write(x)
return f.getvalue()
def to_sdf(structures):
with StringIO() as f:
for x in structures if isinstance(structures, list) else [structures]:
SDFwrite(f).write(x)
return f.getvalue()
def view_sdf(structures):
sp.call(['/opt/ChemAxon/JChem/bin/mview', to_sdf(structures).encode()])
def view_rdf(structures):
sp.call(['/opt/ChemAxon/JChem/bin/mview', to_rdf(structures).encode()])
def get_reaction_fear(structure):
return db.Reaction.get_fear(structure)
def get_mapless_fear(structure):
return db.Reaction.get_mapless_fear(structure)