emdbva 0.0.1.dev153__tar.gz → 0.0.1.dev156__tar.gz
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.
- {emdbva-0.0.1.dev153/emdbva.egg-info → emdbva-0.0.1.dev156}/PKG-INFO +1 -1
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156/emdbva.egg-info}/PKG-INFO +1 -1
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/phenix_locres.py +25 -7
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/utils/chimerax_combined_locres.py +7 -8
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/version.py +1 -1
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/LICENSE +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/MANIFEST.in +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/README.rst +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/emdbva.egg-info/SOURCES.txt +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/emdbva.egg-info/dependency_links.txt +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/emdbva.egg-info/entry_points.txt +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/emdbva.egg-info/requires.txt +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/emdbva.egg-info/top_level.txt +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/setup.cfg +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/setup.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/PATHS_codon_airflow.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/__init__.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/audit/__init__.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/audit/cif_revision.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/mainva.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/__init__.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/bars.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/connected_percentage.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/contour_level_predicator.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/emda_mmcc.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/emringer.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/inclusion.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/map_data_validation.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/map_map_cc.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/overlap_percentage.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/phaserandomization.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/phenix_cc.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/phenix_mm.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/projections.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/qscore.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/residue_locres.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/resmap.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/smoc.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/strudel.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/surfaces.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/metrics/threedfsc.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/preparation.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/prepareandrun_codon_airflow.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/qscores.csv +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/schemas/__init__.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/schemas/emdb_entry_full.schema.json +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/schemas/loader.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/utils/Checker.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/utils/ChimeraxViews.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/utils/MapProcessor.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/utils/Model.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/utils/__init__.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/utils/cl_weights.pth +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/utils/log_utils.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/utils/misc.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/utils/rescolor.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/utils/stars.py +0 -0
- {emdbva-0.0.1.dev153 → emdbva-0.0.1.dev156}/va/validationanalysis.py +0 -0
|
@@ -222,17 +222,23 @@ def create_local_resolution_views(chimerax, map_path, resolution_map, contour, o
|
|
|
222
222
|
return '"{}"'.format(os.path.abspath(path).replace('\\', '\\\\').replace('"', '\\"'))
|
|
223
223
|
|
|
224
224
|
script_path = os.path.join(output_dir, prefix + '_chimerax.cxc')
|
|
225
|
-
images = {
|
|
225
|
+
images = {
|
|
226
|
+
'original': {axis: prefix + '_' + axis.upper() + '.png' for axis in ('x', 'y', 'z')},
|
|
227
|
+
'scaled': {axis: prefix + '_scaled_' + axis.upper() + '.png' for axis in ('x', 'y', 'z')},
|
|
228
|
+
}
|
|
226
229
|
with open(script_path, 'w', encoding='utf-8') as script:
|
|
227
230
|
script.write('open {}\nvolume #1 style surface\nvolume #1 step 1\n'.format(quoted(map_path)))
|
|
228
231
|
script.write('volume #1 level {}\n'.format(float(contour)))
|
|
229
232
|
script.write('open {}\nvolume #2 style surface\nvolume #2 step 1\n'.format(quoted(resolution_map)))
|
|
230
233
|
script.write('hide #2 models\nset bgColor #B8B8B8\ncolor sample #1 map #2 palette blue:white:red range full key true\n')
|
|
231
|
-
script.write('key pos 0.25,0.
|
|
234
|
+
script.write('key pos 0.25,0.12 size 0.53,0.015 labelSide right/bottom fontSize 9 border false labelColor black\n')
|
|
232
235
|
for axis, rotation in (('z', ''), ('x', 'turn y 90\n'), ('y', 'turn x -90\n')):
|
|
233
236
|
script.write('view orient\n' + rotation)
|
|
234
237
|
script.write('view #1 pad 0.25 cofr true\n')
|
|
235
|
-
script.write('save {} width 1200 height 1200\n'.format(
|
|
238
|
+
script.write('save {} width 1200 height 1200\n'.format(
|
|
239
|
+
quoted(os.path.join(output_dir, images['original'][axis]))))
|
|
240
|
+
script.write('save {} width 300 height 300\n'.format(
|
|
241
|
+
quoted(os.path.join(output_dir, images['scaled'][axis]))))
|
|
236
242
|
script.write('exit\n')
|
|
237
243
|
has_display = bool(os.environ.get('DISPLAY') or os.environ.get('WAYLAND_DISPLAY'))
|
|
238
244
|
if sys.platform == 'darwin' and not os.environ.get('SSH_CONNECTION'):
|
|
@@ -242,7 +248,10 @@ def create_local_resolution_views(chimerax, map_path, resolution_map, contour, o
|
|
|
242
248
|
command.extend(['--offscreen', '--nogui'])
|
|
243
249
|
command.append(script_path)
|
|
244
250
|
subprocess.run(command, cwd=output_dir, check=True)
|
|
245
|
-
missing = [
|
|
251
|
+
missing = [
|
|
252
|
+
name for size_images in images.values() for name in size_images.values()
|
|
253
|
+
if not os.path.isfile(os.path.join(output_dir, name))
|
|
254
|
+
]
|
|
246
255
|
if missing:
|
|
247
256
|
raise RuntimeError('ChimeraX did not produce images: {}'.format(', '.join(missing)))
|
|
248
257
|
return images
|
|
@@ -276,7 +285,10 @@ def create_combined_local_resolution_views(chimerax, map_path, resolution_map, m
|
|
|
276
285
|
raise ValueError('Residue identifiers and local-resolution values do not match.')
|
|
277
286
|
with open(config_path, 'w', encoding='utf-8') as config_file:
|
|
278
287
|
json.dump({'residues': residue_specs, 'values': values}, config_file, allow_nan=False)
|
|
279
|
-
images = {
|
|
288
|
+
images = {
|
|
289
|
+
'original': {axis: prefix + '_' + axis.upper() + '.png' for axis in ('x', 'y', 'z')},
|
|
290
|
+
'scaled': {axis: prefix + '_scaled_' + axis.upper() + '.png' for axis in ('x', 'y', 'z')},
|
|
291
|
+
}
|
|
280
292
|
with open(script_path, 'w', encoding='utf-8') as script:
|
|
281
293
|
script.write('open {}\nvolume #1 style surface\nvolume #1 step 1\n'.format(quoted(map_path)))
|
|
282
294
|
script.write('volume #1 level {}\n'.format(float(contour)))
|
|
@@ -291,7 +303,10 @@ def create_combined_local_resolution_views(chimerax, map_path, resolution_map, m
|
|
|
291
303
|
script.write('set bgColor #B8B8B8\n')
|
|
292
304
|
for axis, rotation in (('z', ''), ('x', 'turn y 90\n'), ('y', 'turn x -90\n')):
|
|
293
305
|
script.write('view orient\n' + rotation + 'view #1 pad 0.25 cofr true\n')
|
|
294
|
-
script.write('save {} width 1200 height 1200\n'.format(
|
|
306
|
+
script.write('save {} width 1200 height 1200\n'.format(
|
|
307
|
+
quoted(os.path.join(output_dir, images['original'][axis]))))
|
|
308
|
+
script.write('save {} width 300 height 300\n'.format(
|
|
309
|
+
quoted(os.path.join(output_dir, images['scaled'][axis]))))
|
|
295
310
|
script.write('exit\n')
|
|
296
311
|
has_display = bool(os.environ.get('DISPLAY') or os.environ.get('WAYLAND_DISPLAY'))
|
|
297
312
|
if sys.platform == 'darwin' and not os.environ.get('SSH_CONNECTION'):
|
|
@@ -300,7 +315,10 @@ def create_combined_local_resolution_views(chimerax, map_path, resolution_map, m
|
|
|
300
315
|
if not has_display:
|
|
301
316
|
command.extend(['--offscreen', '--nogui'])
|
|
302
317
|
subprocess.run(command + [script_path], cwd=output_dir, check=True)
|
|
303
|
-
missing = [
|
|
318
|
+
missing = [
|
|
319
|
+
name for size_images in images.values() for name in size_images.values()
|
|
320
|
+
if not os.path.isfile(os.path.join(output_dir, name))
|
|
321
|
+
]
|
|
304
322
|
if missing:
|
|
305
323
|
raise RuntimeError('ChimeraX did not produce images: {}'.format(', '.join(missing)))
|
|
306
324
|
return images
|
|
@@ -44,21 +44,20 @@ def color_combined_view(session, config):
|
|
|
44
44
|
lower, upper = lower - 0.01, upper + 0.01
|
|
45
45
|
|
|
46
46
|
run(session, 'color sample #1 map #2 palette blue:white:red range {},{} key true'.format(lower, upper))
|
|
47
|
-
run(session, 'key blue: white: red: pos 0.25,0.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
('
|
|
47
|
+
run(session, 'key blue: white: red: pos 0.25,0.14 size 0.5,0.02 '
|
|
48
|
+
'labelSide right/bottom fontSize 9 labelColor black border false')
|
|
49
|
+
for label, limits, text_y in (
|
|
50
|
+
('Map', (map_lower, map_upper), 0.105),
|
|
51
|
+
('Model', (model_lower, model_upper), 0.185),
|
|
51
52
|
):
|
|
52
|
-
run(session, '2dlabels text "{}" color black size
|
|
53
|
+
run(session, '2dlabels text "{}" color black size 6 xpos 0.16 ypos {}'.format(label, text_y))
|
|
53
54
|
values = (limits[0], (limits[0] + limits[1]) / 2, limits[1])
|
|
54
55
|
for value in sorted(set(values)):
|
|
55
56
|
xpos = 0.25 + 0.5 * (value - lower) / (upper - lower)
|
|
56
|
-
run(session, '2dlabels arrow start {},{} end {},{} color black weight 0.3 headStyle pointer'.format(
|
|
57
|
-
xpos, arrow_start, xpos, arrow_end))
|
|
58
57
|
label_x = xpos
|
|
59
58
|
if label == 'Map' and value == map_lower:
|
|
60
59
|
label_x = 0.25 + 0.5 * (model_lower - lower) / (upper - lower)
|
|
61
|
-
run(session, '2dlabels text "{:.2f}" color black size
|
|
60
|
+
run(session, '2dlabels text "{:.2f}" color black size 6 xpos {} ypos {}'.format(
|
|
62
61
|
value, max(0.0, label_x - 0.012), text_y))
|
|
63
62
|
colors = []
|
|
64
63
|
for spec, value in zip(config['residues'], config['values']):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|