digraph refinement {
        ranksep=".5 equally";
	nodesep=".45";
        node [fixedsize,width=2.0,height=1.0,fontname="Helvetica"];
	partrestr [label="coordinates\n& partial\nrestraints"];
	trustmodrestr [label="standard/trusted\nmodel restraints\nand coordinates"];
	ligandcoords [label="ligand\ncoordinates"];
	edit_pdb [shape=box,label="Edit Restraints\nin PDB File"];
	sketcher [shape=box,label="Monomer Library\nSketcher"];
	modrestr [label="model\nrestraints"];
	geomdescr [label="geometric\ndescription\n(restraints)"];
	refmacreview [shape=box,label="Run REFMAC5\n(REVIEW mode)"];
	modrestr_coords [label="model\nrestraints and\ncoordinates"];
	phases [label="reflection\ndata with\nphases"];
	refmacrefine [shape=box,label="Run REFMAC5\n(REFINE mode)"];
	impcoords [label="improved\ncoordinates"];
	arp_warp [shape=box,label="Run ARP/WARP"];
	addimpcoords [label="additional\nand/or improved\ncoordinates"];
	edit_tls [shape=box,label="Create/Edit\nTLS File"];
	tlsinfo [label="T, L and S\ntensor\ninformation"];
	watertidy [shape=box,label="Tidy Waters"];
	orgwater [label="well-organised\nwater coordinates"];
	check [shape=box,label="Run SFCHECK\n& PROCHECK"];
	analysis [label="structure\nanalysis"];
//
	trustmodrestr -> refmacreview -> modrestr_coords -> refmacrefine -> impcoords -> check [weight=8];
	partrestr -> trustmodrestr -> ligandcoords [style=invis];
	partrestr -> edit_pdb -> modrestr -> refmacreview [style=dashed];
	ligandcoords -> sketcher -> geomdescr -> refmacreview [style=dashed];
	edit_pdb -> geomdescr [dir=back,style=dashed];
	edit_pdb -> modrestr_coords [dir=back,style=dashed];
	sketcher -> modrestr_coords [dir=back,style=dashed];
	phases -> modrestr_coords [style=invis];
	phases -> refmacrefine;
	tlsinfo -> refmacrefine [style=dashed];
	refmacrefine -> addimpcoords [dir=back];
	tlsinfo -> edit_tls [dir=back,style=dashed];
	addimpcoords -> arp_warp [dir=back];
	edit_tls ->impcoords [dir=back,style=dashed];
	impcoords -> arp_warp;
	impcoords -> watertidy -> orgwater -> check [style=dashed];
	check -> analysis;
//
	{rank=same;partrestr;trustmodrestr;ligandcoords};
	{rank=same;phases;modrestr_coords};
	{rank=same;tlsinfo;refmacrefine;addimpcoords};
	{rank=same;edit_tls;impcoords;arp_warp};
	{rank=same;check;analysis};
}
