-
Notifications
You must be signed in to change notification settings - Fork 272
/
io.py
87 lines (74 loc) · 1.61 KB
/
io.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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
try:
from spyrmsd.optional.obabel import (
adjacency_matrix,
bonds,
load,
loadall,
numatoms,
numbonds,
to_molecule,
)
except ImportError:
try:
from spyrmsd.optional.rdkit import (
adjacency_matrix,
bonds,
load,
loadall,
numatoms,
numbonds,
to_molecule,
)
except ImportError:
# Use sPyRMSD as standalone library
__all__ = []
else:
# Avoid flake8 complaint "imported but unused"
__all__ = [
"load",
"loadall",
"adjacency_matrix",
"to_molecule",
"numatoms",
"numbonds",
"bonds",
]
else:
# Avoid flake8 complaint "imported but unused"
__all__ = [
"load",
"loadall",
"adjacency_matrix",
"to_molecule",
"numatoms",
"numbonds",
"bonds",
]
def loadmol(fname: str, adjacency: bool = True):
"""
Load molecule from file.
Parameters
----------
fname: str
File name
Returns
-------
molecule.Molecule
`spyrmsd` molecule
"""
mol = load(fname)
return to_molecule(mol, adjacency=adjacency)
def loadallmols(fname: str, adjacency: bool = True):
"""
Load molecules from file.
Parameters
----------
fname: str
File name
Returns
-------
List[molecule.Molecule]
`spyrmsd` molecules
"""
mols = loadall(fname)
return [to_molecule(mol, adjacency=adjacency) for mol in mols]