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.
Files changed (45) hide show
  1. EntDetect/Jwalk/GridTools.py +567 -0
  2. EntDetect/Jwalk/PDBTools.py +532 -0
  3. EntDetect/Jwalk/SASDTools.py +543 -0
  4. EntDetect/Jwalk/SurfaceTools.py +150 -0
  5. EntDetect/Jwalk/__init__.py +19 -0
  6. EntDetect/Jwalk/naccess.config.txt +255 -0
  7. EntDetect/__init__.py +10 -0
  8. EntDetect/_logging.py +71 -0
  9. EntDetect/change_resolution.py +2361 -0
  10. EntDetect/clustering.py +2626 -0
  11. EntDetect/compare_sim2exp.py +1927 -0
  12. EntDetect/entanglement_features.py +478 -0
  13. EntDetect/gaussian_entanglement.py +2067 -0
  14. EntDetect/order_params.py +1048 -0
  15. EntDetect/resources/__init__.py +11 -0
  16. EntDetect/resources/__pycache__/__init__.cpython-311.pyc +0 -0
  17. EntDetect/resources/calc_K.pl +712 -0
  18. EntDetect/resources/calc_Q.pl +962 -0
  19. EntDetect/resources/pulchra +0 -0
  20. EntDetect/resources/shared_files/__init__.py +2 -0
  21. EntDetect/resources/shared_files/bt_contact_potential.dat +22 -0
  22. EntDetect/resources/shared_files/karanicolas_dihe_parm.dat +1600 -0
  23. EntDetect/resources/shared_files/kgs_contact_potential.dat +22 -0
  24. EntDetect/resources/shared_files/mj_contact_potential.dat +22 -0
  25. EntDetect/resources/stride +0 -0
  26. EntDetect/statistics.py +1344 -0
  27. EntDetect/utilities.py +201 -0
  28. entdetect-1.2.0.dist-info/METADATA +26 -0
  29. entdetect-1.2.0.dist-info/RECORD +45 -0
  30. entdetect-1.2.0.dist-info/WHEEL +5 -0
  31. entdetect-1.2.0.dist-info/entry_points.txt +11 -0
  32. entdetect-1.2.0.dist-info/licenses/LICENSE +674 -0
  33. entdetect-1.2.0.dist-info/top_level.txt +2 -0
  34. scripts/__init__.py +5 -0
  35. scripts/convert_cor_psf_to_pdb.py +103 -0
  36. scripts/run_Foldingpathway.py +162 -0
  37. scripts/run_MSM.py +152 -0
  38. scripts/run_OP_on_simulation_traj.py +194 -0
  39. scripts/run_change_resolution.py +63 -0
  40. scripts/run_compare_sim2exp.py +215 -0
  41. scripts/run_montecarlo.py +158 -0
  42. scripts/run_nativeNCLE.py +179 -0
  43. scripts/run_nonnative_entanglement_clustering.py +110 -0
  44. scripts/run_population_modeling.py +117 -0
  45. 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