EntDetect 1.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- EntDetect/Jwalk/GridTools.py +567 -0
- EntDetect/Jwalk/PDBTools.py +532 -0
- EntDetect/Jwalk/SASDTools.py +543 -0
- EntDetect/Jwalk/SurfaceTools.py +150 -0
- EntDetect/Jwalk/__init__.py +19 -0
- EntDetect/Jwalk/naccess.config.txt +255 -0
- EntDetect/__init__.py +10 -0
- EntDetect/_logging.py +71 -0
- EntDetect/change_resolution.py +2361 -0
- EntDetect/clustering.py +2626 -0
- EntDetect/compare_sim2exp.py +1927 -0
- EntDetect/entanglement_features.py +478 -0
- EntDetect/gaussian_entanglement.py +2067 -0
- EntDetect/order_params.py +1048 -0
- EntDetect/resources/__init__.py +11 -0
- EntDetect/resources/__pycache__/__init__.cpython-311.pyc +0 -0
- EntDetect/resources/calc_K.pl +712 -0
- EntDetect/resources/calc_Q.pl +962 -0
- EntDetect/resources/pulchra +0 -0
- EntDetect/resources/shared_files/__init__.py +2 -0
- EntDetect/resources/shared_files/bt_contact_potential.dat +22 -0
- EntDetect/resources/shared_files/karanicolas_dihe_parm.dat +1600 -0
- EntDetect/resources/shared_files/kgs_contact_potential.dat +22 -0
- EntDetect/resources/shared_files/mj_contact_potential.dat +22 -0
- EntDetect/resources/stride +0 -0
- EntDetect/statistics.py +1344 -0
- EntDetect/utilities.py +201 -0
- entdetect-1.2.0.dist-info/METADATA +26 -0
- entdetect-1.2.0.dist-info/RECORD +45 -0
- entdetect-1.2.0.dist-info/WHEEL +5 -0
- entdetect-1.2.0.dist-info/entry_points.txt +11 -0
- entdetect-1.2.0.dist-info/licenses/LICENSE +674 -0
- entdetect-1.2.0.dist-info/top_level.txt +2 -0
- scripts/__init__.py +5 -0
- scripts/convert_cor_psf_to_pdb.py +103 -0
- scripts/run_Foldingpathway.py +162 -0
- scripts/run_MSM.py +152 -0
- scripts/run_OP_on_simulation_traj.py +194 -0
- scripts/run_change_resolution.py +63 -0
- scripts/run_compare_sim2exp.py +215 -0
- scripts/run_montecarlo.py +158 -0
- scripts/run_nativeNCLE.py +179 -0
- scripts/run_nonnative_entanglement_clustering.py +110 -0
- scripts/run_population_modeling.py +117 -0
- scripts/run_workflow4_nativeNCLE_batch.py +412 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# ===============================================================================
|
|
2
|
+
# This file is part of Jwalk (Python 3).
|
|
3
|
+
#
|
|
4
|
+
# Jwalk - A tool to calculate the solvent accessible surface distance (SASD)
|
|
5
|
+
# between crosslinked residues.
|
|
6
|
+
#
|
|
7
|
+
# Copyright 2016 Josh Bullock and Birkbeck College University of London.
|
|
8
|
+
#
|
|
9
|
+
# Jwalk is available under Public Licence.
|
|
10
|
+
# This software is made available under GPL V3
|
|
11
|
+
#
|
|
12
|
+
# Please cite your use of Jwalk in published work:
|
|
13
|
+
#
|
|
14
|
+
# J.Bullock, J. Schwab, K. Thalassinos, M. Topf (2016)
|
|
15
|
+
# The importance of non-accessible crosslinks and solvent accessible surface distance
|
|
16
|
+
# in modelling proteins with restraints from crosslinking mass spectrometry.
|
|
17
|
+
# Molecular and Cellular Proteomics (15) pp.2491-2500
|
|
18
|
+
#
|
|
19
|
+
# ===============================================================================
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
# Contributed by João Rodrigues
|
|
2
|
+
|
|
3
|
+
name: NACCESS
|
|
4
|
+
|
|
5
|
+
types:
|
|
6
|
+
C_ALI 1.87 apolar
|
|
7
|
+
C_CAR 1.76 apolar
|
|
8
|
+
C_NUC 1.80 apolar
|
|
9
|
+
N_AMN 1.50 polar
|
|
10
|
+
N_AMD 1.65 polar
|
|
11
|
+
N_NUC 1.60 polar
|
|
12
|
+
O 1.40 polar
|
|
13
|
+
S 1.85 apolar
|
|
14
|
+
SE 1.80 apolar
|
|
15
|
+
P 1.90 apolar
|
|
16
|
+
|
|
17
|
+
atoms:
|
|
18
|
+
ANY C C_CAR
|
|
19
|
+
ANY O O
|
|
20
|
+
ANY CA C_ALI
|
|
21
|
+
ANY N N_AMD
|
|
22
|
+
ANY CB C_ALI
|
|
23
|
+
ANY OXT O
|
|
24
|
+
# nucleic acid
|
|
25
|
+
ANY P P
|
|
26
|
+
ANY OP1 O
|
|
27
|
+
ANY OP2 O
|
|
28
|
+
ANY OP3 O
|
|
29
|
+
ANY O5' O
|
|
30
|
+
ANY O4' O
|
|
31
|
+
ANY O3' O
|
|
32
|
+
ANY O2' O
|
|
33
|
+
ANY C5' C_NUC
|
|
34
|
+
ANY C4' C_NUC
|
|
35
|
+
ANY C3' C_NUC
|
|
36
|
+
ANY C2' C_NUC
|
|
37
|
+
ANY C1' C_NUC
|
|
38
|
+
|
|
39
|
+
ALA CB C_ALI # included so that RSA values will be generated
|
|
40
|
+
|
|
41
|
+
ARG CG C_ALI
|
|
42
|
+
ARG CD C_ALI
|
|
43
|
+
ARG NE N_AMD
|
|
44
|
+
ARG CZ C_CAR
|
|
45
|
+
ARG NH1 N_AMD
|
|
46
|
+
ARG NH2 N_AMD
|
|
47
|
+
|
|
48
|
+
ASN CG C_CAR
|
|
49
|
+
ASN OD1 O
|
|
50
|
+
ASN ND2 N_AMD
|
|
51
|
+
|
|
52
|
+
ASP CG C_CAR
|
|
53
|
+
ASP OD1 O
|
|
54
|
+
ASP OD2 O
|
|
55
|
+
|
|
56
|
+
CYS SG S
|
|
57
|
+
|
|
58
|
+
GLN CG C_ALI
|
|
59
|
+
GLN CD C_CAR
|
|
60
|
+
GLN OE1 O
|
|
61
|
+
GLN NE2 N_AMD
|
|
62
|
+
|
|
63
|
+
GLU CG C_ALI
|
|
64
|
+
GLU CD C_CAR
|
|
65
|
+
GLU OE1 O
|
|
66
|
+
GLU OE2 O
|
|
67
|
+
|
|
68
|
+
GLY CA C_ALI # included so that RSA values will be generated
|
|
69
|
+
|
|
70
|
+
HIS CG C_CAR
|
|
71
|
+
HIS ND1 N_AMD
|
|
72
|
+
HIS CD2 C_CAR
|
|
73
|
+
HIS NE2 N_AMD
|
|
74
|
+
HIS CE1 C_CAR
|
|
75
|
+
|
|
76
|
+
ILE CG1 C_ALI
|
|
77
|
+
ILE CG2 C_ALI
|
|
78
|
+
ILE CD1 C_ALI
|
|
79
|
+
|
|
80
|
+
LEU CG C_ALI
|
|
81
|
+
LEU CD1 C_ALI
|
|
82
|
+
LEU CD2 C_ALI
|
|
83
|
+
|
|
84
|
+
LYS CG C_ALI
|
|
85
|
+
LYS CD C_ALI
|
|
86
|
+
LYS CE C_ALI
|
|
87
|
+
LYS NZ N_AMN
|
|
88
|
+
|
|
89
|
+
MET CG C_ALI
|
|
90
|
+
MET SD S
|
|
91
|
+
MET CE C_ALI
|
|
92
|
+
|
|
93
|
+
PHE CG C_CAR
|
|
94
|
+
PHE CD1 C_CAR
|
|
95
|
+
PHE CD2 C_CAR
|
|
96
|
+
PHE CE1 C_CAR
|
|
97
|
+
PHE CE2 C_CAR
|
|
98
|
+
PHE CZ C_CAR
|
|
99
|
+
|
|
100
|
+
PRO CG C_ALI
|
|
101
|
+
PRO CD C_ALI
|
|
102
|
+
|
|
103
|
+
SEC SE SE
|
|
104
|
+
|
|
105
|
+
MSE SE SE
|
|
106
|
+
|
|
107
|
+
SER OG O
|
|
108
|
+
|
|
109
|
+
THR OG1 O
|
|
110
|
+
THR CG2 C_ALI
|
|
111
|
+
|
|
112
|
+
TRP CG C_CAR
|
|
113
|
+
TRP CD1 C_CAR
|
|
114
|
+
TRP CD2 C_CAR
|
|
115
|
+
TRP NE1 N_AMD
|
|
116
|
+
TRP CE2 C_CAR
|
|
117
|
+
TRP CE3 C_CAR
|
|
118
|
+
TRP CZ2 C_CAR
|
|
119
|
+
TRP CZ3 C_CAR
|
|
120
|
+
TRP CH2 C_CAR
|
|
121
|
+
|
|
122
|
+
TYR CG C_CAR
|
|
123
|
+
TYR CD1 C_CAR
|
|
124
|
+
TYR CD2 C_CAR
|
|
125
|
+
TYR CE1 C_CAR
|
|
126
|
+
TYR CE2 C_CAR
|
|
127
|
+
TYR CZ C_CAR
|
|
128
|
+
TYR OH O
|
|
129
|
+
|
|
130
|
+
VAL CG1 C_ALI
|
|
131
|
+
VAL CG2 C_ALI
|
|
132
|
+
|
|
133
|
+
A N9 N_NUC
|
|
134
|
+
A C8 C_NUC
|
|
135
|
+
A N7 N_NUC
|
|
136
|
+
A C5 C_NUC
|
|
137
|
+
A C6 C_NUC
|
|
138
|
+
A N6 N_NUC
|
|
139
|
+
A N1 N_NUC
|
|
140
|
+
A C2 C_NUC
|
|
141
|
+
A N3 N_NUC
|
|
142
|
+
A C4 C_NUC
|
|
143
|
+
|
|
144
|
+
C N1 N_NUC
|
|
145
|
+
C C2 C_NUC
|
|
146
|
+
C O2 O
|
|
147
|
+
C N3 N_NUC
|
|
148
|
+
C C4 C_NUC
|
|
149
|
+
C N4 N_NUC
|
|
150
|
+
C C5 C_NUC
|
|
151
|
+
C C6 C_NUC
|
|
152
|
+
|
|
153
|
+
G N9 N_NUC
|
|
154
|
+
G C8 C_NUC
|
|
155
|
+
G N7 N_NUC
|
|
156
|
+
G C5 C_NUC
|
|
157
|
+
G C6 C_NUC
|
|
158
|
+
G O6 O
|
|
159
|
+
G N1 N_NUC
|
|
160
|
+
G C2 C_NUC
|
|
161
|
+
G N2 N_NUC
|
|
162
|
+
G N3 N_NUC
|
|
163
|
+
G C4 C_NUC
|
|
164
|
+
|
|
165
|
+
I N9 N_NUC
|
|
166
|
+
I C8 C_NUC
|
|
167
|
+
I N7 N_NUC
|
|
168
|
+
I C5 C_NUC
|
|
169
|
+
I C6 C_NUC
|
|
170
|
+
I O6 O
|
|
171
|
+
I N1 N_NUC
|
|
172
|
+
I C2 C_NUC
|
|
173
|
+
I N3 N_NUC
|
|
174
|
+
I C4 C_NUC
|
|
175
|
+
|
|
176
|
+
T N1 N_NUC
|
|
177
|
+
T C2 C_NUC
|
|
178
|
+
T O2 O
|
|
179
|
+
T N3 N_NUC
|
|
180
|
+
T C4 C_NUC
|
|
181
|
+
T O4 O
|
|
182
|
+
T C5 C_NUC
|
|
183
|
+
T C7 C_NUC
|
|
184
|
+
T C6 C_NUC
|
|
185
|
+
|
|
186
|
+
U N1 N_NUC
|
|
187
|
+
U C2 C_NUC
|
|
188
|
+
U O2 O
|
|
189
|
+
U N3 N_NUC
|
|
190
|
+
U C4 C_NUC
|
|
191
|
+
U O4 O
|
|
192
|
+
U C5 C_NUC
|
|
193
|
+
U C6 C_NUC
|
|
194
|
+
|
|
195
|
+
DA N9 N_NUC
|
|
196
|
+
DA C8 C_NUC
|
|
197
|
+
DA N7 N_NUC
|
|
198
|
+
DA C5 C_NUC
|
|
199
|
+
DA C6 C_NUC
|
|
200
|
+
DA N6 N_NUC
|
|
201
|
+
DA N1 N_NUC
|
|
202
|
+
DA C2 C_NUC
|
|
203
|
+
DA N3 N_NUC
|
|
204
|
+
DA C4 C_NUC
|
|
205
|
+
|
|
206
|
+
DC N1 N_NUC
|
|
207
|
+
DC C2 C_NUC
|
|
208
|
+
DC O2 O
|
|
209
|
+
DC N3 N_NUC
|
|
210
|
+
DC C4 C_NUC
|
|
211
|
+
DC N4 N_NUC
|
|
212
|
+
DC C5 C_NUC
|
|
213
|
+
DC C6 C_NUC
|
|
214
|
+
|
|
215
|
+
DG N9 N_NUC
|
|
216
|
+
DG C8 C_NUC
|
|
217
|
+
DG N7 N_NUC
|
|
218
|
+
DG C5 C_NUC
|
|
219
|
+
DG C6 C_NUC
|
|
220
|
+
DG O6 O
|
|
221
|
+
DG N1 N_NUC
|
|
222
|
+
DG C2 C_NUC
|
|
223
|
+
DG N2 N_NUC
|
|
224
|
+
DG N3 N_NUC
|
|
225
|
+
DG C4 C_NUC
|
|
226
|
+
|
|
227
|
+
DI N9 N_NUC
|
|
228
|
+
DI C8 C_NUC
|
|
229
|
+
DI N7 N_NUC
|
|
230
|
+
DI C5 C_NUC
|
|
231
|
+
DI C6 C_NUC
|
|
232
|
+
DI O6 O
|
|
233
|
+
DI N1 N_NUC
|
|
234
|
+
DI C2 C_NUC
|
|
235
|
+
DI N3 N_NUC
|
|
236
|
+
DI C4 C_NUC
|
|
237
|
+
|
|
238
|
+
DT N1 N_NUC
|
|
239
|
+
DT C2 C_NUC
|
|
240
|
+
DT O2 O
|
|
241
|
+
DT N3 N_NUC
|
|
242
|
+
DT C4 C_NUC
|
|
243
|
+
DT O4 O
|
|
244
|
+
DT C5 C_NUC
|
|
245
|
+
DT C7 C_NUC
|
|
246
|
+
DT C6 C_NUC
|
|
247
|
+
|
|
248
|
+
DU N1 N_NUC
|
|
249
|
+
DU C2 C_NUC
|
|
250
|
+
DU O2 O
|
|
251
|
+
DU N3 N_NUC
|
|
252
|
+
DU C4 C_NUC
|
|
253
|
+
DU O4 O
|
|
254
|
+
DU C5 C_NUC
|
|
255
|
+
DU C6 C_NUC
|
EntDetect/__init__.py
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"""EntDetect - Entanglement Detection in Protein Structures
|
|
2
|
+
|
|
3
|
+
A package for identifying and analyzing non-covalent lasso-like entanglements
|
|
4
|
+
in protein structures using Gaussian linking numbers and topological analysis.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
__version__ = "1.1.6"
|
|
8
|
+
__author__ = "O'Brien Lab"
|
|
9
|
+
__email__ = "contact@example.com"
|
|
10
|
+
|
EntDetect/_logging.py
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Internal logging helper for EntDetect.
|
|
3
|
+
|
|
4
|
+
Usage within a class ``__init__``::
|
|
5
|
+
|
|
6
|
+
from EntDetect._logging import setup_logger
|
|
7
|
+
self.logger = setup_logger('ClassName', outdir=self.outdir, ID=self.ID, log_level=log_level)
|
|
8
|
+
|
|
9
|
+
Users of the package can control verbosity at the top-level ``EntDetect`` logger::
|
|
10
|
+
|
|
11
|
+
import logging
|
|
12
|
+
logging.getLogger('EntDetect').setLevel(logging.WARNING) # suppress INFO
|
|
13
|
+
logging.getLogger('EntDetect').setLevel(logging.DEBUG) # enable DEBUG
|
|
14
|
+
|
|
15
|
+
"""
|
|
16
|
+
import logging
|
|
17
|
+
import os
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def setup_logger(
|
|
21
|
+
name: str,
|
|
22
|
+
outdir: str = None,
|
|
23
|
+
ID: str = '',
|
|
24
|
+
log_level: int = logging.INFO,
|
|
25
|
+
) -> logging.Logger:
|
|
26
|
+
"""
|
|
27
|
+
Create and return a named logger for an EntDetect class.
|
|
28
|
+
|
|
29
|
+
Parameters
|
|
30
|
+
----------
|
|
31
|
+
name : str
|
|
32
|
+
Short class name used as the logger suffix (e.g. ``'GaussianEntanglement'``).
|
|
33
|
+
outdir : str, optional
|
|
34
|
+
If provided, a ``FileHandler`` writing to ``<outdir>/<ID>.log`` (or
|
|
35
|
+
``<outdir>/<name>.log`` when *ID* is empty) is added alongside the
|
|
36
|
+
stream handler.
|
|
37
|
+
ID : str, optional
|
|
38
|
+
Identifier used as the log file stem when *outdir* is given.
|
|
39
|
+
log_level : int, optional
|
|
40
|
+
Logging level for this logger, by default ``logging.INFO``.
|
|
41
|
+
|
|
42
|
+
Returns
|
|
43
|
+
-------
|
|
44
|
+
logging.Logger
|
|
45
|
+
Configured logger under the ``EntDetect.<name>`` hierarchy.
|
|
46
|
+
"""
|
|
47
|
+
logger = logging.getLogger(f'EntDetect.{name}')
|
|
48
|
+
logger.setLevel(log_level)
|
|
49
|
+
|
|
50
|
+
# Avoid adding duplicate handlers when the class is re-instantiated
|
|
51
|
+
if not logger.handlers:
|
|
52
|
+
fmt = logging.Formatter(
|
|
53
|
+
'%(asctime)s [%(name)s] %(levelname)s: %(message)s',
|
|
54
|
+
datefmt='%Y-%m-%d %H:%M:%S',
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
sh = logging.StreamHandler()
|
|
58
|
+
sh.setFormatter(fmt)
|
|
59
|
+
logger.addHandler(sh)
|
|
60
|
+
|
|
61
|
+
if outdir:
|
|
62
|
+
os.makedirs(outdir, exist_ok=True)
|
|
63
|
+
logfilename = f'{ID}.log' if ID else f'{name}.log'
|
|
64
|
+
fh = logging.FileHandler(os.path.join(outdir, logfilename))
|
|
65
|
+
fh.setFormatter(fmt)
|
|
66
|
+
logger.addHandler(fh)
|
|
67
|
+
|
|
68
|
+
# Prevent double output if the user has also configured the root logger
|
|
69
|
+
logger.propagate = False
|
|
70
|
+
|
|
71
|
+
return logger
|