Skip to content

Commit

Permalink
if phaser gives error, show the error line
Browse files Browse the repository at this point in the history
  • Loading branch information
wojdyr committed Nov 23, 2015
1 parent 9f518e7 commit 677db91
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 6 deletions.
2 changes: 1 addition & 1 deletion cxx/find-blobs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -344,7 +344,7 @@ vector<Cluster> find_clusters(const string& pdb_filename,
const clipper::Xmap<float>* xmap = density_map.xmap();

float cut_off = config.sigma_level * map_stddev;
printf("Density std.dev: %g, cut-off: %g (%g sigma)\n",
printf("Density std.dev: %.3f, cut-off: %.3f e/A^3 (%g sigma)\n",
map_stddev, cut_off, config.sigma_level);
vector<Cluster> all_clusters = find_clusters_by_flood_fill(*xmap,
config.min_volume, cut_off);
Expand Down
7 changes: 5 additions & 2 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,11 @@
from dimple import workflow
from dimple import coots

__version__ = '2.4.2'
__version__ = '2.4.3'

# sometimes people have incomplete models in their pdb files
# sometimes provided models are incomplete, be suspicious above this solvent%
HIGH_SOLVENT_PCT = 75
# do not search blobs if the model is too bad
BAD_FINAL_RFREE = 0.5

def dimple(wf, opt):
Expand Down Expand Up @@ -280,6 +281,8 @@ def _refmac_rms_line(data):

def _after_phaser_comments(phaser_job, wf, sg_in):
phaser_data = phaser_job.data
if 'error' in phaser_data:
comment("\n" + phaser_data['error'])
if (phaser_job.exit_status != 0 or
phaser_data['info'] == 'Sorry - No solution'):
comment("\nGiving up.")
Expand Down
8 changes: 5 additions & 3 deletions workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -350,16 +350,18 @@ def _phaser_parser(job):
for line in job.out.read_line():
if line.startswith('*** Phaser Module:'):
d['info'] = '[%s]' % line[19:70].strip().lower()
if line.startswith(' SOLU SET ') and 'LLG=' in line:
elif line.startswith(' SOLU SET ') and 'LLG=' in line:
d['info'] = line[12:].strip()
if len(d['info']) > 52:
d['info'] = d['info'][:50].rsplit(' ', 1)[0] + '...'
if line.startswith(' Sorry - No solution'):
elif line.startswith(' Sorry - No solution'):
d['info'] = line.strip()
if 'No solution with all components' in line:
d['partial_solution'] = 'yes'
if line.startswith(' SOLU SPAC '):
elif line.startswith(' SOLU SPAC '):
d['SG'] = line[13:].strip()
elif ' ERROR:' in line:
d['error'] = line.strip()
return "%-48s" % d.get('info', '')

def _truncate_parser(job):
Expand Down

0 comments on commit 677db91

Please sign in to comment.