digraph analysis {
	ranksep=".5 equally";
	node [fixedsize,width=2.0,height=1.0,fontname="Helvetica"];
	refldata [label="reflection data"];
	mosflm [shape=box,label="MOSFLM"];
	combat [shape=box,label="Import\nUnscaled Data\n(COMBAT)"];
	scalepack2mtz [shape=box,label="Import Scaled\nData\n(SCALEPACK2MTZ/\nDTREK2MTZ)"];
	f2mtz [shape=box,label="Convert to MTZ\n& Standardise\nF2MTZ"];
	refldataharv1 [label="reflection data\nwith PNAME/DNAME"];
	coorddata [label="coordinate data"];
	cad [shape=box,label="Merge\nMTZ Files\n(CAD)"];
	rebatch [shape=box,label="Sort/Reindex\nMTZ Files\n(REBATCH)"];
	contact [shape=box,label="Analyse\nMolecular Contacts\n(CONTACT)"];
	baverage [shape=box,label="Temperature Factor\nAnalysis\n(BAVERAGE)"];
	refldataharv2 [label="reflection data\nwith PNAME/DNAME"];
	scala [shape=box,label="Scale\nExperimental\nIntensities\n(SCALA)"];
	truncate [shape=box,label="Convert\nIntensities\nto SFs\n(TRUNCATE)"];
	mlphare [shape=box,label="Run\nMLPHARE"];
	refmac5 [shape=box,label="Run\nREFMAC5"];
	restrain [shape=box,label="RESTRAIN"];
	phases [label="experimental\ndata and\nphases"];
	coords [label="model\ncoordinates"];
	check [shape=box,label="Run SFCHECK\n& PROCHECK"];
	analyses [label="analyses of\ngeometry and\nfit with data"];
	refdep [shape=box,label="more refinement or\ndeposition at PDB"];
	blank1 [style=invis];
	blank2 [style=invis];
//
	refldata -> mosflm -> refldataharv1;
	refldata -> combat -> refldataharv1;
	refldata -> scalepack2mtz -> refldataharv1;
	refldata -> f2mtz -> refldataharv1;
	mosflm -> combat -> scalepack2mtz -> f2mtz -> blank1 [style=invis];
	refldataharv1 -> cad -> refldataharv2;
	refldataharv1 -> rebatch -> refldataharv2;
	cad -> rebatch -> blank2 -> contact -> baverage [style=invis];
	coorddata -> contact -> coords;
	coorddata -> baverage -> coords;
	refldataharv2 -> scala -> phases;
	refldataharv2 -> truncate -> phases;
	refldataharv2 -> mlphare -> phases;
	refldataharv2 -> refmac5 -> phases;
	refldataharv2 -> restrain -> phases;
	scala -> truncate -> mlphare -> refmac5 -> restrain [style=invis];
	phases -> check;
	coords -> check;
	blank1 -> blank2 -> check [weight=8,style=invis];
	check -> analyses [weight=8];
	analyses -> refdep [style=dashed];
//
	{rank=same;mosflm;combat;scalepack2mtz;f2mtz;blank1};
	{rank=same;refldataharv1;coorddata};
	{rank=same;cad;rebatch;blank2;contact;baverage};
	{rank=same;scala;truncate;mlphare;refmac5;restrain};
	{rank=same;phases;coords};
}
