<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://viper.lbl.gov:8080/cctbx.xfel/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nicksauter</id>
	<title>cctbx_xfel - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://viper.lbl.gov:8080/cctbx.xfel/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nicksauter"/>
	<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php/Special:Contributions/Nicksauter"/>
	<updated>2026-05-12T19:10:08Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.15</generator>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Data_Processing_at_SACLA&amp;diff=1465</id>
		<title>Data Processing at SACLA</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Data_Processing_at_SACLA&amp;diff=1465"/>
		<updated>2017-11-18T00:13:50Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Obtaining metadata like detector position */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Obtaining metadata like detector position ==&lt;br /&gt;
1) AgBeh (silver behenate).  Determine detector distance and beam center&lt;br /&gt;
--&amp;gt; update SACLA-provided *.geom file (CrystFEL format)&lt;br /&gt;
--&amp;gt; run sacla geom to json on *.geom to get equivalent for DIALS processing&lt;br /&gt;
&lt;br /&gt;
2) h5_mpi_submit --&amp;gt; launches dials.stills_process with process.phil, and queueing options.&lt;br /&gt;
&lt;br /&gt;
Specify what runs (integers)&lt;br /&gt;
/work/jkern/2017B8085/xrd/r234567-0/*.h5&lt;br /&gt;
&lt;br /&gt;
2.5) Data visualization. &lt;br /&gt;
&lt;br /&gt;
3) metrology refinement&lt;br /&gt;
dials.combine_experiments reference_from_experiment.detector=0.  &lt;br /&gt;
&lt;br /&gt;
Takes 1000 images, puts into 1 file.  Output:  combined_experiments.json + combined_reflections.pickle&lt;br /&gt;
&lt;br /&gt;
1 Experiment = crystal + detector + beam&lt;br /&gt;
&lt;br /&gt;
Must cherry pick data if there is scare data out to the corners. (but not covered here.  but:  largest pickle files are highly diffracting).&lt;br /&gt;
&lt;br /&gt;
dials.refine combined* hierarchy_level=[0|1] # Use 0 first (refine detector as a block) then 1(refine each panel)&lt;br /&gt;
To keep detector flat: refinement.parameterisation.detector.fix_list=Tau2,Tau3&lt;br /&gt;
&lt;br /&gt;
Level 0: refine dist, shift1, shift2.  Fix: tau&lt;br /&gt;
&lt;br /&gt;
Level 1: refine shift1, shift2, tau1  Fix: dist, tau2, tau3&lt;br /&gt;
&lt;br /&gt;
Evaluation--how do you know if it made a difference?&lt;br /&gt;
&lt;br /&gt;
dev.cctbx.xfel.detector_residuals json pickle # also specify hierarchy_level=1 residuals.plot_max=0.3&lt;br /&gt;
&lt;br /&gt;
program -c -e 10 -a 2# gets all config parameters for a program at expert level 10, giving all help strings.&lt;br /&gt;
&lt;br /&gt;
4) redo integration with reference geometry:&lt;br /&gt;
&lt;br /&gt;
reference_geometry=refined_experiments.json&lt;br /&gt;
&lt;br /&gt;
5) merge&lt;br /&gt;
&lt;br /&gt;
take merging script from LQ79.  Take it verbatim.  Use cxi.merge&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#PBS -q [smp|serial]&lt;br /&gt;
&lt;br /&gt;
smp: lots of memory up to 44 pros&lt;br /&gt;
serial: up to 14 pros, 1 node&lt;br /&gt;
b13-occupancy: reserved for you&lt;br /&gt;
&lt;br /&gt;
== DIALS workflow ==&lt;br /&gt;
dials.import file.h5 (the h5 will have 1000&#039;s of images in it)&lt;br /&gt;
--&amp;gt; datablock.json.  Has experimental models as abstracted from image header&lt;br /&gt;
&lt;br /&gt;
dials.find_spots datablock.json&lt;br /&gt;
--&amp;gt; strong.pickle&lt;br /&gt;
&lt;br /&gt;
dials.index strong.pickle datablock.json&lt;br /&gt;
--&amp;gt; indexed.pickle experiments.json&lt;br /&gt;
&lt;br /&gt;
dials.refine&lt;br /&gt;
--&amp;gt; refined_experiments.json refined_reflections.pickle&lt;br /&gt;
&lt;br /&gt;
dials.integrate&lt;br /&gt;
&lt;br /&gt;
== Aggregate processing at XFELS ==&lt;br /&gt;
Need to submit a single job for each *.h5 file (manually, or write a script)&lt;br /&gt;
Instead of running the individual steps:&lt;br /&gt;
dials.stills_process *.h5 process.phil&lt;br /&gt;
&lt;br /&gt;
Phil file must have good parameters for data processing.  Take one from previous users.&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Data_Processing_at_SACLA&amp;diff=1464</id>
		<title>Data Processing at SACLA</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Data_Processing_at_SACLA&amp;diff=1464"/>
		<updated>2017-11-17T23:15:12Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Obtaining metadata like detector position ==&lt;br /&gt;
1) AgBeh (silver behenate).  Determine detector distance and beam center&lt;br /&gt;
--&amp;gt; update SACLA-provided *.geom file (CrystFEL format)&lt;br /&gt;
--&amp;gt; run sacla geom to json on *.geom to get equivalent for DIALS processing&lt;br /&gt;
&lt;br /&gt;
2) h5_mpi_submit --&amp;gt; launches dials.stills_process with process.phil, and queueing options.&lt;br /&gt;
&lt;br /&gt;
Specify what runs (integers)&lt;br /&gt;
/work/jkern/2017B8085/xrd/r234567-0/*.h5&lt;br /&gt;
&lt;br /&gt;
3) metrology refinement&lt;br /&gt;
dials.combine_experiments reference_from_experiment.detector=0.  &lt;br /&gt;
&lt;br /&gt;
Takes 1000 images, puts into 1 file.  Output:  combined_experiments.json + combined_reflections.pickle&lt;br /&gt;
&lt;br /&gt;
1 Experiment = crystal + detector + beam&lt;br /&gt;
&lt;br /&gt;
Must cherry pick data if there is scare data out to the corners. (but not covered here.  but:  largest pickle files are highly diffracting).&lt;br /&gt;
&lt;br /&gt;
dials.refine combined* hierarchy_level=[0|1] # Use 0 first (refine detector as a block) then 1(refine each panel)&lt;br /&gt;
To keep detector flat: refinement.parameterisation.detector.fix_list=Tau2,Tau3&lt;br /&gt;
&lt;br /&gt;
Level 0: refine dist, shift1, shift2.  Fix: tau&lt;br /&gt;
&lt;br /&gt;
Level 1: refine shift1, shift2, tau1  Fix: dist, tau2, tau3&lt;br /&gt;
&lt;br /&gt;
Evaluation--how do you know if it made a difference?&lt;br /&gt;
&lt;br /&gt;
dev.cctbx.xfel.detector_residuals json pickle # also specify hierarchy_level=1 residuals.plot_max=0.3&lt;br /&gt;
&lt;br /&gt;
program -c -e 10 -a 2# gets all config parameters for a program at expert level 10, giving all help strings.&lt;br /&gt;
&lt;br /&gt;
4) redo integration with reference geometry:&lt;br /&gt;
&lt;br /&gt;
reference_geometry=refined_experiments.json&lt;br /&gt;
&lt;br /&gt;
5) merge&lt;br /&gt;
&lt;br /&gt;
take merging script from LQ79.  Take it verbatim.  Use cxi.merge&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#PBS -q [smp|serial]&lt;br /&gt;
&lt;br /&gt;
smp: lots of memory up to 44 pros&lt;br /&gt;
serial: up to 14 pros, 1 node&lt;br /&gt;
b13-occupancy: reserved for you&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DIALS workflow ==&lt;br /&gt;
dials.import file.h5 (the h5 will have 1000&#039;s of images in it)&lt;br /&gt;
--&amp;gt; datablock.json.  Has experimental models as abstracted from image header&lt;br /&gt;
&lt;br /&gt;
dials.find_spots datablock.json&lt;br /&gt;
--&amp;gt; strong.pickle&lt;br /&gt;
&lt;br /&gt;
dials.index strong.pickle datablock.json&lt;br /&gt;
--&amp;gt; indexed.pickle experiments.json&lt;br /&gt;
&lt;br /&gt;
dials.refine&lt;br /&gt;
--&amp;gt; refined_experiments.json refined_reflections.pickle&lt;br /&gt;
&lt;br /&gt;
dials.integrate&lt;br /&gt;
&lt;br /&gt;
== Aggregate processing at XFELS ==&lt;br /&gt;
Need to submit a single job for each *.h5 file (manually, or write a script)&lt;br /&gt;
Instead of running the individual steps:&lt;br /&gt;
dials.stills_process *.h5 process.phil&lt;br /&gt;
&lt;br /&gt;
Phil file must have good parameters for data processing.  Take one from previous users.&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Data_Processing_at_SACLA&amp;diff=1463</id>
		<title>Data Processing at SACLA</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Data_Processing_at_SACLA&amp;diff=1463"/>
		<updated>2017-11-17T22:25:24Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Obtaining metadata like detector position */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Obtaining metadata like detector position ==&lt;br /&gt;
1) AgBeh (silver behenate).  Determine detector distance and beam center&lt;br /&gt;
--&amp;gt; update SACLA-provided *.geom file (CrystFEL format)&lt;br /&gt;
--&amp;gt; run sacla geom to json on *.geom to get equivalent for DIALS processing&lt;br /&gt;
&lt;br /&gt;
2) h5_mpi_submit --&amp;gt; launches dials.stills_process with process.phil, and queueing options&lt;br /&gt;
Specify what runs (integers)&lt;br /&gt;
&lt;br /&gt;
== DIALS workflow ==&lt;br /&gt;
dials.import file.h5 (the h5 will have 1000&#039;s of images in it)&lt;br /&gt;
--&amp;gt; datablock.json.  Has experimental models as abstracted from image header&lt;br /&gt;
&lt;br /&gt;
dials.find_spots datablock.json&lt;br /&gt;
--&amp;gt; strong.pickle&lt;br /&gt;
&lt;br /&gt;
dials.index strong.pickle datablock.json&lt;br /&gt;
--&amp;gt; indexed.pickle experiments.json&lt;br /&gt;
&lt;br /&gt;
dials.refine&lt;br /&gt;
--&amp;gt; refined_experiments.json refined_reflections.pickle&lt;br /&gt;
&lt;br /&gt;
dials.integrate&lt;br /&gt;
&lt;br /&gt;
== Aggregate processing at XFELS ==&lt;br /&gt;
Need to submit a single job for each *.h5 file (manually, or write a script)&lt;br /&gt;
Instead of running the individual steps:&lt;br /&gt;
dials.stills_process *.h5 process.phil&lt;br /&gt;
&lt;br /&gt;
Phil file must have good parameters for data processing.  Take one from previous users.&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Data_Processing_at_SACLA&amp;diff=1462</id>
		<title>Data Processing at SACLA</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Data_Processing_at_SACLA&amp;diff=1462"/>
		<updated>2017-11-17T22:21:53Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Obtaining metadata like detector position ==&lt;br /&gt;
1) AgBeh (silver behenate).  Determine detector distance and beam center&lt;br /&gt;
--&amp;gt; update SACLA-provided *.geom file (CrystFEL format)&lt;br /&gt;
--&amp;gt; run sacla geom to json on *.geom to get equivalent for DIALS processing&lt;br /&gt;
&lt;br /&gt;
== DIALS workflow ==&lt;br /&gt;
dials.import file.h5 (the h5 will have 1000&#039;s of images in it)&lt;br /&gt;
--&amp;gt; datablock.json.  Has experimental models as abstracted from image header&lt;br /&gt;
&lt;br /&gt;
dials.find_spots datablock.json&lt;br /&gt;
--&amp;gt; strong.pickle&lt;br /&gt;
&lt;br /&gt;
dials.index strong.pickle datablock.json&lt;br /&gt;
--&amp;gt; indexed.pickle experiments.json&lt;br /&gt;
&lt;br /&gt;
dials.refine&lt;br /&gt;
--&amp;gt; refined_experiments.json refined_reflections.pickle&lt;br /&gt;
&lt;br /&gt;
dials.integrate&lt;br /&gt;
&lt;br /&gt;
== Aggregate processing at XFELS ==&lt;br /&gt;
Need to submit a single job for each *.h5 file (manually, or write a script)&lt;br /&gt;
Instead of running the individual steps:&lt;br /&gt;
dials.stills_process *.h5 process.phil&lt;br /&gt;
&lt;br /&gt;
Phil file must have good parameters for data processing.  Take one from previous users.&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Data_Processing_at_SACLA&amp;diff=1461</id>
		<title>Data Processing at SACLA</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Data_Processing_at_SACLA&amp;diff=1461"/>
		<updated>2017-11-17T22:18:52Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Headline text */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Obtaining metadata like detector position ==&lt;br /&gt;
1) AgBeh (silver behenate).  Determine detector distance and beam center&lt;br /&gt;
--&amp;gt; update SACLA-provided *.geom file (CrystFEL format)&lt;br /&gt;
--&amp;gt; run sacla geom to json on *.geom to get equivalent for DIALS processing&lt;br /&gt;
&lt;br /&gt;
== DIALS workflow ==&lt;br /&gt;
dials.import file.h5 (the h5 will have 1000&#039;s of images in it)&lt;br /&gt;
--&amp;gt; datablock.json.  Has experimental models as abstracted from image header&lt;br /&gt;
&lt;br /&gt;
dials.find_spots datablock.json&lt;br /&gt;
--&amp;gt; strong.pickle&lt;br /&gt;
&lt;br /&gt;
dials.index strong.pickle datablock.json&lt;br /&gt;
--&amp;gt; indexed.pickle experiments.json&lt;br /&gt;
&lt;br /&gt;
== Aggregate processing at XFELS ==&lt;br /&gt;
dials.stills_process (substitutes for the individual steps)&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Data_Processing_at_SACLA&amp;diff=1460</id>
		<title>Data Processing at SACLA</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Data_Processing_at_SACLA&amp;diff=1460"/>
		<updated>2017-11-17T22:17:58Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Headline text ==&lt;br /&gt;
1) AgBeh (silver behenate).  Determine detector distance and beam center&lt;br /&gt;
--&amp;gt; update SACLA-provided *.geom file (CrystFEL format)&lt;br /&gt;
--&amp;gt; run sacla geom to json on *.geom to get equivalent for DIALS processing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DIALS workflow ==&lt;br /&gt;
dials.import file.h5 (the h5 will have 1000&#039;s of images in it)&lt;br /&gt;
--&amp;gt; datablock.json.  Has experimental models as abstracted from image header&lt;br /&gt;
&lt;br /&gt;
dials.find_spots datablock.json&lt;br /&gt;
--&amp;gt; strong.pickle&lt;br /&gt;
&lt;br /&gt;
dials.index strong.pickle datablock.json&lt;br /&gt;
--&amp;gt; indexed.pickle experiments.json&lt;br /&gt;
&lt;br /&gt;
== Aggregate processing at XFELS ==&lt;br /&gt;
dials.stills_process (substitutes for the individual steps)&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Data_Processing_at_SACLA&amp;diff=1459</id>
		<title>Data Processing at SACLA</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Data_Processing_at_SACLA&amp;diff=1459"/>
		<updated>2017-11-17T22:12:23Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: Created page with &amp;quot;1) AgBeh (silver behenate).  Determine detector distance and beam center&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1) AgBeh (silver behenate).  Determine detector distance and beam center&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Main_Page&amp;diff=1458</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Main_Page&amp;diff=1458"/>
		<updated>2017-11-17T22:10:45Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* cctbx.xfel resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Open-source tools for free-electron laser data processing =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;cctbx.xfel&#039;&#039; is a suite of software tools designed to process diffraction data from serial femtosecond crystallography (SFX) measurements at an X-ray free-electron laser (XFEL).  Built on the Computational Crystallographic Toolbox ([http://cctbx.sourceforge.net &#039;&#039;cctbx&#039;&#039;]), the same toolbox on which [http://www.phenix-online.org &#039;&#039;PHENIX&#039;&#039;], [http://adder.lbl.gov/labelit &#039;&#039;LABELIT&#039;&#039;], and post-refinement and merging program, [http://viper.lbl.gov/cctbx.xfel/index.php/Cctbx.prime &#039;&#039;PRIME&#039;&#039;] are built, it enables the user to solve difficult problems relating to processing XFEL data.  The programs and modules provided by &#039;&#039;cctbx.xfel&#039;&#039; can reduce a large set of still diffraction images recorded at Stanford’s Linac Coherent Light Source ([http://lcls.slac.stanford.edu LCLS]) to a single MTZ file containing merged reflection intensities suitable for structure solution.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;cctbx.xfel&#039;&#039; resources ==&lt;br /&gt;
&lt;br /&gt;
The tutorials on this wiki provide detailed instructions for indexing and integrating still diffraction images extracted from the raw data streams recorded at the LCLS, including pre-processing steps such as dark pedestal generation and refinement of the detector geometry of the Cornell–SLAC pixel array detectors (CSPAD) in use at the CXI and XPP end stations.  The tutorials also cover tools to efficiently leverage  the LCLS computing cluster to process the thousands to millions of diffraction images that can be recorded in a short time.&lt;br /&gt;
&lt;br /&gt;
* [[Overview]] to the system architecture at LCLS and real-time progress monitoring of data processing&lt;br /&gt;
* Installation: there are two ways to get &#039;&#039;cctbx.xfel&#039;&#039;:&lt;br /&gt;
** &#039;&#039;cctbx.xfel&#039;&#039; is installed for general use at SLAC.  To start using an existing installation, first [[Set up PSDM software | set up the PSDM software distribution]] and then [[Setup | set up &#039;&#039;cctbx.xfel&#039;&#039;]]. &lt;br /&gt;
** Configure &#039;&#039;cctbx.xfel&#039;&#039; from an [[Configure cctbx.xfel from existing Phenix install | existing Phenix installation]].&lt;br /&gt;
* [[Tutorials]] on pre-processing, data reduction, and merging. &lt;br /&gt;
* &#039;&#039;[[cctbx.prime]]&#039;&#039;: tutorials on post-refinement using PRIME. &lt;br /&gt;
* &amp;quot;[[IOTA]]&amp;quot;: tutorial on spotfinding optimization using IOTA.&lt;br /&gt;
&lt;br /&gt;
Other related information:&lt;br /&gt;
&lt;br /&gt;
* [[Serial XFEL Crystallography References]]&lt;br /&gt;
* [[Data Processing at SACLA]]&lt;br /&gt;
* [[Indexing individual stills]]: how to index stills not necessarily from an XFEL source.&lt;br /&gt;
* [[Processing Blog]] describing how we solved typical problems. &lt;br /&gt;
* [[Processing L498 thermolysin]] details instructions to reproduce the results published in the forthcoming &#039;&#039;cctbx.xfel&#039;&#039; paper.&lt;br /&gt;
* [[2017 Tutorials]]. Berkeley Lab Serial Crystallography Workshop, 16-17 Feb 2017.&lt;br /&gt;
* [[2014 Tutorials | 2014 Workshop Tutorial: &#039;&#039;cctbx.xfel&#039;&#039; ]]. Note, due to recent changes at LCLS, many of these tutorials are out of date for data collected late 2014 and onwards.  For more up to date information, see above [[tutorials]].  For data collected before late 2014, these workshop tutorials are useful.&lt;br /&gt;
* [[2014_workshop | Powerpoint presentations]]&lt;br /&gt;
* [[Experiment-day guidelines]]: a short, very hands-on set of notes for online monitoring and data-processing using cctbx.xfel. This page assumes that the setup and tutorial have been completed.&lt;br /&gt;
* [[File formats]]: for developers, information on file formats &#039;&#039;cctbx.xfel&#039;&#039; uses&lt;br /&gt;
* [[Cppxfel]]: XFEL data processing with the CPPXFEL package from Diamond/Wellcome Trust.&lt;br /&gt;
* For developers only:  [[Installation]] instructions for cctbx developmental build.&lt;br /&gt;
&lt;br /&gt;
This project is under active development.  For any assistance, please contact the authors.&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Main_Page&amp;diff=1457</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Main_Page&amp;diff=1457"/>
		<updated>2017-11-17T22:10:26Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* cctbx.xfel resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Open-source tools for free-electron laser data processing =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;cctbx.xfel&#039;&#039; is a suite of software tools designed to process diffraction data from serial femtosecond crystallography (SFX) measurements at an X-ray free-electron laser (XFEL).  Built on the Computational Crystallographic Toolbox ([http://cctbx.sourceforge.net &#039;&#039;cctbx&#039;&#039;]), the same toolbox on which [http://www.phenix-online.org &#039;&#039;PHENIX&#039;&#039;], [http://adder.lbl.gov/labelit &#039;&#039;LABELIT&#039;&#039;], and post-refinement and merging program, [http://viper.lbl.gov/cctbx.xfel/index.php/Cctbx.prime &#039;&#039;PRIME&#039;&#039;] are built, it enables the user to solve difficult problems relating to processing XFEL data.  The programs and modules provided by &#039;&#039;cctbx.xfel&#039;&#039; can reduce a large set of still diffraction images recorded at Stanford’s Linac Coherent Light Source ([http://lcls.slac.stanford.edu LCLS]) to a single MTZ file containing merged reflection intensities suitable for structure solution.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;cctbx.xfel&#039;&#039; resources ==&lt;br /&gt;
&lt;br /&gt;
The tutorials on this wiki provide detailed instructions for indexing and integrating still diffraction images extracted from the raw data streams recorded at the LCLS, including pre-processing steps such as dark pedestal generation and refinement of the detector geometry of the Cornell–SLAC pixel array detectors (CSPAD) in use at the CXI and XPP end stations.  The tutorials also cover tools to efficiently leverage  the LCLS computing cluster to process the thousands to millions of diffraction images that can be recorded in a short time.&lt;br /&gt;
&lt;br /&gt;
* [[Overview]] to the system architecture at LCLS and real-time progress monitoring of data processing&lt;br /&gt;
* Installation: there are two ways to get &#039;&#039;cctbx.xfel&#039;&#039;:&lt;br /&gt;
** &#039;&#039;cctbx.xfel&#039;&#039; is installed for general use at SLAC.  To start using an existing installation, first [[Set up PSDM software | set up the PSDM software distribution]] and then [[Setup | set up &#039;&#039;cctbx.xfel&#039;&#039;]]. &lt;br /&gt;
** Configure &#039;&#039;cctbx.xfel&#039;&#039; from an [[Configure cctbx.xfel from existing Phenix install | existing Phenix installation]].&lt;br /&gt;
* [[Tutorials]] on pre-processing, data reduction, and merging. &lt;br /&gt;
* &#039;&#039;[[cctbx.prime]]&#039;&#039;: tutorials on post-refinement using PRIME. &lt;br /&gt;
* &amp;quot;[[IOTA]]&amp;quot;: tutorial on spotfinding optimization using IOTA.&lt;br /&gt;
&lt;br /&gt;
Other related information:&lt;br /&gt;
&lt;br /&gt;
* [[Serial XFEL Crystallography References]]&lt;br /&gt;
* [[Data Processing as SACLA]]&lt;br /&gt;
* [[Indexing individual stills]]: how to index stills not necessarily from an XFEL source.&lt;br /&gt;
* [[Processing Blog]] describing how we solved typical problems. &lt;br /&gt;
* [[Processing L498 thermolysin]] details instructions to reproduce the results published in the forthcoming &#039;&#039;cctbx.xfel&#039;&#039; paper.&lt;br /&gt;
* [[2017 Tutorials]]. Berkeley Lab Serial Crystallography Workshop, 16-17 Feb 2017.&lt;br /&gt;
* [[2014 Tutorials | 2014 Workshop Tutorial: &#039;&#039;cctbx.xfel&#039;&#039; ]]. Note, due to recent changes at LCLS, many of these tutorials are out of date for data collected late 2014 and onwards.  For more up to date information, see above [[tutorials]].  For data collected before late 2014, these workshop tutorials are useful.&lt;br /&gt;
* [[2014_workshop | Powerpoint presentations]]&lt;br /&gt;
* [[Experiment-day guidelines]]: a short, very hands-on set of notes for online monitoring and data-processing using cctbx.xfel. This page assumes that the setup and tutorial have been completed.&lt;br /&gt;
* [[File formats]]: for developers, information on file formats &#039;&#039;cctbx.xfel&#039;&#039; uses&lt;br /&gt;
* [[Cppxfel]]: XFEL data processing with the CPPXFEL package from Diamond/Wellcome Trust.&lt;br /&gt;
* For developers only:  [[Installation]] instructions for cctbx developmental build.&lt;br /&gt;
&lt;br /&gt;
This project is under active development.  For any assistance, please contact the authors.&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Ha14_installation&amp;diff=1443</id>
		<title>Ha14 installation</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Ha14_installation&amp;diff=1443"/>
		<updated>2017-03-31T18:43:31Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Finish up the build */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
While these tutorials assume you wish to process XTC streams at SLAC, some users have stills collected from other sources and do not need the full PSDM suite.  If this is the case, see the installation directions below for installing on a non PSDM system.  Otherwise, it is assumed that the [[Set up PSDM software | PSDM software distribution has been set up]].  Note again that several sites already have &#039;&#039;cctbx.xfel&#039;&#039; installed, and so regular users not involved in the development of the software will not need the instructions here.&lt;br /&gt;
&lt;br /&gt;
Once &#039;&#039;cctbx.xfel&#039;&#039; has been installed it must be [[Setup | set up]] before it can be used.  Developers may additionally want to [[Set up ssh-agent | set up an ssh-agent]].  &lt;br /&gt;
&lt;br /&gt;
Finally, you must have a user account on cci.lbl.gov in order to proceed, or else you will not be able to download the sources. A sourceforge account is only needed if you wish to commit changes back to the repository. If you don&#039;t have or don&#039;t want to use a sourceforge account, you can leave it off in the below commands where it is specified.&lt;br /&gt;
&lt;br /&gt;
== Standard installation using PSDM  ==&lt;br /&gt;
===Quick start===&lt;br /&gt;
This step has to be performed on a host with Internet access. Not all hosts at SLAC have that, but the members of &amp;lt;i&amp;gt;e.g.&amp;lt;/i&amp;gt; pslogin pool do. Make and change to a working directory to contain the new source code and build (this directory should be accessible from any computing nodes &#039;&#039;cctbx.xfel&#039;&#039; will be run. Then download these bootstrap modules:&lt;br /&gt;
&lt;br /&gt;
  wget https://raw.githubusercontent.com/cctbx/cctbx_project/master/libtbx/auto_build/bootstrap.py&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
  python bootstrap.py hot update --builder=xfel --cciuser=&amp;lt;cciusername&amp;gt; --sfuser=&amp;lt;githubusername&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This command instructs bootstrap.py to download static packages required for &#039;&#039;cctbx.xfel&#039;&#039; (hot), and then to checkout the rest of the sources from cci.lbl.gov and github (update), using the user accounts specified by the cciuser and sfuser parameters, respectively.&lt;br /&gt;
&lt;br /&gt;
===Alternate instructions for non-LBNL developers===&lt;br /&gt;
Our non-LBNL colleagues will now realize that the &amp;quot;python bootstrap&amp;quot; step does not work without cci username credentials, needed to obtain source code for the program LABELIT.  Developers are instructed to use the following alternate procedure:&lt;br /&gt;
&lt;br /&gt;
  python bootstrap.py hot --builder=xfel --sfuser=&amp;lt;githubusername&amp;gt; # download the static packages&lt;br /&gt;
  python bootstrap.py update --builder=dials --sfuser=&amp;lt;githubusername&amp;gt; # download the github code for dials &amp;amp; cctbx&lt;br /&gt;
  mkdir modules/cxi_xdr_xes # create a stub directory for experiment-specific python code&lt;br /&gt;
 &lt;br /&gt;
Then download phenix from http://phenix-online.org and untar the package.  Locate the modules directory in the phenix directory tree, and copy-paste the labelit subdirectory into the modules directory of your current working area.&lt;br /&gt;
&lt;br /&gt;
===Finish up the build===&lt;br /&gt;
After downloading the sources, you need to be sure you have the appropriate compilers before executing the next command.  At SLAC, that means you need to ssh to one of the psana nodes, as the pslogin nodes do not have the requisite compilers.  When ready, configure and compile thusly:&lt;br /&gt;
&lt;br /&gt;
  python bootstrap.py build --builder=xfel --with-python=`which python` --nproc=&amp;lt;# cores available for compile&amp;gt;l&lt;br /&gt;
&lt;br /&gt;
On SLAC&#039;s interactive nodes, this takes just over 6 minutes. To avoid problems with run-time dynamic linking of Python extensions, the Python interpreter required for the above command must be the one provided by the PSDM software distribution.   That interpreter can be located using find, &amp;lt;i&amp;gt;e.g.&amp;lt;/i&amp;gt;&lt;br /&gt;
 $ find $SIT_ROOT/sw/external/python -perm /0111 -type f -wholename &amp;quot;*/$SIT_ARCH/*/python&amp;quot; 2&amp;gt; /dev/null&lt;br /&gt;
At SLAC this interpreter is located somewhere under &amp;lt;code&amp;gt;/reg/g/psdm/sw/external/python&amp;lt;/code&amp;gt;.  Here we use `which python` to get this path automatically.  &lt;br /&gt;
&lt;br /&gt;
Initialise the running shell using the newly created configuration files.  bash-users should&lt;br /&gt;
 $ . build/setpaths.sh&lt;br /&gt;
while csh-users will instead need to run&lt;br /&gt;
 % source build/setpaths.csh&lt;br /&gt;
&lt;br /&gt;
To finalize the installation, see [[Setup]].&lt;br /&gt;
&lt;br /&gt;
Note, you may also follow this procedure if you are on a machine where you have your own python that you want to use, instead of the one provided by PSDM.&lt;br /&gt;
&lt;br /&gt;
== Installation on a non-PSDM system ==&lt;br /&gt;
&lt;br /&gt;
If you find yourself on a machine without PSDM and won&#039;t be dealing with XTC directly, for example if you have your own data collected as stills from a non-XFEL source, you can use the below commands in a new directory (again assuming you have a cci user account):&lt;br /&gt;
&lt;br /&gt;
  # On Linux:&lt;br /&gt;
  wget https://raw.githubusercontent.com/cctbx/cctbx_project/master/libtbx/auto_build/bootstrap.py&lt;br /&gt;
  # On MacOSX:&lt;br /&gt;
  curl https://raw.githubusercontent.com/cctbx/cctbx_project/master/libtbx/auto_build/bootstrap.py &amp;gt; bootstrap.py&lt;br /&gt;
&lt;br /&gt;
  python bootstrap.py hot update base build --builder=xfel --cciuser=&amp;lt;cciusername&amp;gt; --sfuser=&amp;lt;sourceforgeusername&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here, in addition to hot, update and build, there&#039;s a command called &#039;base&#039;, which downloads a python and needed packages and compiles it.  After this process completes, source the installation (for details see above), and then add scipy to it:&lt;br /&gt;
&lt;br /&gt;
  . build/setpaths.sh&lt;br /&gt;
  libtbx.python -m easy_install scipy&lt;br /&gt;
&lt;br /&gt;
Please contact the authors if with any issues.  Some gotchas:&lt;br /&gt;
&lt;br /&gt;
1) On a Mac, you will need to make sure you have the latest version of xcode installed.  Consider the command xcode-select --install. [NOTE: Xcode v. 8.2.1. for Mac OS 10.12 (Sierra) does not include a gFortran compiler. You will need to install gFortran separately if you need scipy.]&lt;br /&gt;
&lt;br /&gt;
2) On linux you will likely need to install some dependencies, including gFortran. [Note: gFortran is needed only for the scipy installation, not for the core build based on cctbx.  Therefore, only install gFortran if you need scipy.]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://cctbx.sourceforge.net/current_cvs/installation.html#manually-building-from-sources-under-unix Manually building from sources under Unix]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- POSSBILE ADDITIONS:&lt;br /&gt;
&lt;br /&gt;
COMMON PITFALLS:&lt;br /&gt;
&lt;br /&gt;
forget to source the shell configuration files&lt;br /&gt;
forget to run sit_setup&lt;br /&gt;
running cxi.pyana from outside the myrelease directory&lt;br /&gt;
&lt;br /&gt;
DEBUGGING:&lt;br /&gt;
&lt;br /&gt;
And a few more things to check: output of &amp;quot;ls -lR arch/*&amp;quot;, output of &amp;quot;which python2.7&amp;quot;, and the &amp;quot;scons.out&amp;quot; file that results from &amp;quot;scons TRACE=7 &amp;gt; scons.out 2&amp;gt;&amp;amp;1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
What Linux distribution are you running this on (could you past the output of &amp;quot;uname -a&amp;quot; and &amp;quot;cat /etc/issue&amp;quot;)?  Could you also tell me which scons you are using (output of &amp;quot;which scons&amp;quot;).  Last, could you attach a dump of the environment (env &amp;gt; env.out)?&lt;br /&gt;
&lt;br /&gt;
Andy&#039;s information request on debugging: full output from these commands:&lt;br /&gt;
&lt;br /&gt;
% rm -rf arch build&lt;br /&gt;
% printenv&lt;br /&gt;
% which scons&lt;br /&gt;
% which python&lt;br /&gt;
% which python2.7&lt;br /&gt;
% scons TRACE=9&lt;br /&gt;
% ls -lR arch&lt;br /&gt;
% ls -lR my_ana_pkg&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Ha14_installation&amp;diff=1442</id>
		<title>Ha14 installation</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Ha14_installation&amp;diff=1442"/>
		<updated>2017-03-31T18:32:51Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Alternate instructions for non-LBNL developers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
While these tutorials assume you wish to process XTC streams at SLAC, some users have stills collected from other sources and do not need the full PSDM suite.  If this is the case, see the installation directions below for installing on a non PSDM system.  Otherwise, it is assumed that the [[Set up PSDM software | PSDM software distribution has been set up]].  Note again that several sites already have &#039;&#039;cctbx.xfel&#039;&#039; installed, and so regular users not involved in the development of the software will not need the instructions here.&lt;br /&gt;
&lt;br /&gt;
Once &#039;&#039;cctbx.xfel&#039;&#039; has been installed it must be [[Setup | set up]] before it can be used.  Developers may additionally want to [[Set up ssh-agent | set up an ssh-agent]].  &lt;br /&gt;
&lt;br /&gt;
Finally, you must have a user account on cci.lbl.gov in order to proceed, or else you will not be able to download the sources. A sourceforge account is only needed if you wish to commit changes back to the repository. If you don&#039;t have or don&#039;t want to use a sourceforge account, you can leave it off in the below commands where it is specified.&lt;br /&gt;
&lt;br /&gt;
== Standard installation using PSDM  ==&lt;br /&gt;
===Quick start===&lt;br /&gt;
This step has to be performed on a host with Internet access. Not all hosts at SLAC have that, but the members of &amp;lt;i&amp;gt;e.g.&amp;lt;/i&amp;gt; pslogin pool do. Make and change to a working directory to contain the new source code and build (this directory should be accessible from any computing nodes &#039;&#039;cctbx.xfel&#039;&#039; will be run. Then download these bootstrap modules:&lt;br /&gt;
&lt;br /&gt;
  wget https://raw.githubusercontent.com/cctbx/cctbx_project/master/libtbx/auto_build/bootstrap.py&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
  python bootstrap.py hot update --builder=xfel --cciuser=&amp;lt;cciusername&amp;gt; --sfuser=&amp;lt;githubusername&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This command instructs bootstrap.py to download static packages required for &#039;&#039;cctbx.xfel&#039;&#039; (hot), and then to checkout the rest of the sources from cci.lbl.gov and github (update), using the user accounts specified by the cciuser and sfuser parameters, respectively.&lt;br /&gt;
&lt;br /&gt;
===Alternate instructions for non-LBNL developers===&lt;br /&gt;
Our non-LBNL colleagues will now realize that the &amp;quot;python bootstrap&amp;quot; step does not work without cci username credentials, needed to obtain source code for the program LABELIT.  Developers are instructed to use the following alternate procedure:&lt;br /&gt;
&lt;br /&gt;
  python bootstrap.py hot --builder=xfel --sfuser=&amp;lt;githubusername&amp;gt; # download the static packages&lt;br /&gt;
  python bootstrap.py update --builder=dials --sfuser=&amp;lt;githubusername&amp;gt; # download the github code for dials &amp;amp; cctbx&lt;br /&gt;
  mkdir modules/cxi_xdr_xes # create a stub directory for experiment-specific python code&lt;br /&gt;
 &lt;br /&gt;
Then download phenix from http://phenix-online.org and untar the package.  Locate the modules directory in the phenix directory tree, and copy-paste the labelit subdirectory into the modules directory of your current working area.&lt;br /&gt;
&lt;br /&gt;
===Finish up the build===&lt;br /&gt;
After downloading the sources, you need to be sure you have the appropriate compilers before executing the next command.  At SLAC, that means you need to ssh to one of the psana nodes, as the pslogin nodes do not have the requisite compilers.  When ready, configure and compile thusly:&lt;br /&gt;
&lt;br /&gt;
  python bootstrap.py build --builder=xfel --with-python=`which python`&lt;br /&gt;
&lt;br /&gt;
On SLAC&#039;s interactive nodes, this takes just over 6 minutes. To avoid problems with run-time dynamic linking of Python extensions, the Python interpreter required for the above command must be the one provided by the PSDM software distribution.   That interpreter can be located using find, &amp;lt;i&amp;gt;e.g.&amp;lt;/i&amp;gt;&lt;br /&gt;
 $ find $SIT_ROOT/sw/external/python -perm /0111 -type f -wholename &amp;quot;*/$SIT_ARCH/*/python&amp;quot; 2&amp;gt; /dev/null&lt;br /&gt;
At SLAC this interpreter is located somewhere under &amp;lt;code&amp;gt;/reg/g/psdm/sw/external/python&amp;lt;/code&amp;gt;.  Here we use `which python` to get this path automatically.  &lt;br /&gt;
&lt;br /&gt;
Initialise the running shell using the newly created configuration files.  bash-users should&lt;br /&gt;
 $ . build/setpaths.sh&lt;br /&gt;
while csh-users will instead need to run&lt;br /&gt;
 % source build/setpaths.csh&lt;br /&gt;
&lt;br /&gt;
To finalize the installation, see [[Setup]].&lt;br /&gt;
&lt;br /&gt;
Note, you may also follow this procedure if you are on a machine where you have your own python that you want to use, instead of the one provided by PSDM.&lt;br /&gt;
&lt;br /&gt;
== Installation on a non-PSDM system ==&lt;br /&gt;
&lt;br /&gt;
If you find yourself on a machine without PSDM and won&#039;t be dealing with XTC directly, for example if you have your own data collected as stills from a non-XFEL source, you can use the below commands in a new directory (again assuming you have a cci user account):&lt;br /&gt;
&lt;br /&gt;
  # On Linux:&lt;br /&gt;
  wget https://raw.githubusercontent.com/cctbx/cctbx_project/master/libtbx/auto_build/bootstrap.py&lt;br /&gt;
  # On MacOSX:&lt;br /&gt;
  curl https://raw.githubusercontent.com/cctbx/cctbx_project/master/libtbx/auto_build/bootstrap.py &amp;gt; bootstrap.py&lt;br /&gt;
&lt;br /&gt;
  python bootstrap.py hot update base build --builder=xfel --cciuser=&amp;lt;cciusername&amp;gt; --sfuser=&amp;lt;sourceforgeusername&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here, in addition to hot, update and build, there&#039;s a command called &#039;base&#039;, which downloads a python and needed packages and compiles it.  After this process completes, source the installation (for details see above), and then add scipy to it:&lt;br /&gt;
&lt;br /&gt;
  . build/setpaths.sh&lt;br /&gt;
  libtbx.python -m easy_install scipy&lt;br /&gt;
&lt;br /&gt;
Please contact the authors if with any issues.  Some gotchas:&lt;br /&gt;
&lt;br /&gt;
1) On a Mac, you will need to make sure you have the latest version of xcode installed.  Consider the command xcode-select --install. [NOTE: Xcode v. 8.2.1. for Mac OS 10.12 (Sierra) does not include a gFortran compiler. You will need to install gFortran separately if you need scipy.]&lt;br /&gt;
&lt;br /&gt;
2) On linux you will likely need to install some dependencies, including gFortran. [Note: gFortran is needed only for the scipy installation, not for the core build based on cctbx.  Therefore, only install gFortran if you need scipy.]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://cctbx.sourceforge.net/current_cvs/installation.html#manually-building-from-sources-under-unix Manually building from sources under Unix]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- POSSBILE ADDITIONS:&lt;br /&gt;
&lt;br /&gt;
COMMON PITFALLS:&lt;br /&gt;
&lt;br /&gt;
forget to source the shell configuration files&lt;br /&gt;
forget to run sit_setup&lt;br /&gt;
running cxi.pyana from outside the myrelease directory&lt;br /&gt;
&lt;br /&gt;
DEBUGGING:&lt;br /&gt;
&lt;br /&gt;
And a few more things to check: output of &amp;quot;ls -lR arch/*&amp;quot;, output of &amp;quot;which python2.7&amp;quot;, and the &amp;quot;scons.out&amp;quot; file that results from &amp;quot;scons TRACE=7 &amp;gt; scons.out 2&amp;gt;&amp;amp;1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
What Linux distribution are you running this on (could you past the output of &amp;quot;uname -a&amp;quot; and &amp;quot;cat /etc/issue&amp;quot;)?  Could you also tell me which scons you are using (output of &amp;quot;which scons&amp;quot;).  Last, could you attach a dump of the environment (env &amp;gt; env.out)?&lt;br /&gt;
&lt;br /&gt;
Andy&#039;s information request on debugging: full output from these commands:&lt;br /&gt;
&lt;br /&gt;
% rm -rf arch build&lt;br /&gt;
% printenv&lt;br /&gt;
% which scons&lt;br /&gt;
% which python&lt;br /&gt;
% which python2.7&lt;br /&gt;
% scons TRACE=9&lt;br /&gt;
% ls -lR arch&lt;br /&gt;
% ls -lR my_ana_pkg&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Ha14_installation&amp;diff=1441</id>
		<title>Ha14 installation</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Ha14_installation&amp;diff=1441"/>
		<updated>2017-03-31T18:21:23Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Alternate instructions for non-LBNL developers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
While these tutorials assume you wish to process XTC streams at SLAC, some users have stills collected from other sources and do not need the full PSDM suite.  If this is the case, see the installation directions below for installing on a non PSDM system.  Otherwise, it is assumed that the [[Set up PSDM software | PSDM software distribution has been set up]].  Note again that several sites already have &#039;&#039;cctbx.xfel&#039;&#039; installed, and so regular users not involved in the development of the software will not need the instructions here.&lt;br /&gt;
&lt;br /&gt;
Once &#039;&#039;cctbx.xfel&#039;&#039; has been installed it must be [[Setup | set up]] before it can be used.  Developers may additionally want to [[Set up ssh-agent | set up an ssh-agent]].  &lt;br /&gt;
&lt;br /&gt;
Finally, you must have a user account on cci.lbl.gov in order to proceed, or else you will not be able to download the sources. A sourceforge account is only needed if you wish to commit changes back to the repository. If you don&#039;t have or don&#039;t want to use a sourceforge account, you can leave it off in the below commands where it is specified.&lt;br /&gt;
&lt;br /&gt;
== Standard installation using PSDM  ==&lt;br /&gt;
===Quick start===&lt;br /&gt;
This step has to be performed on a host with Internet access. Not all hosts at SLAC have that, but the members of &amp;lt;i&amp;gt;e.g.&amp;lt;/i&amp;gt; pslogin pool do. Make and change to a working directory to contain the new source code and build (this directory should be accessible from any computing nodes &#039;&#039;cctbx.xfel&#039;&#039; will be run. Then download these bootstrap modules:&lt;br /&gt;
&lt;br /&gt;
  wget https://raw.githubusercontent.com/cctbx/cctbx_project/master/libtbx/auto_build/bootstrap.py&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
  python bootstrap.py hot update --builder=xfel --cciuser=&amp;lt;cciusername&amp;gt; --sfuser=&amp;lt;githubusername&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This command instructs bootstrap.py to download static packages required for &#039;&#039;cctbx.xfel&#039;&#039; (hot), and then to checkout the rest of the sources from cci.lbl.gov and github (update), using the user accounts specified by the cciuser and sfuser parameters, respectively.&lt;br /&gt;
&lt;br /&gt;
===Alternate instructions for non-LBNL developers===&lt;br /&gt;
Our non-LBNL colleagues will now realize that the &amp;quot;python bootstrap&amp;quot; step does not work without cci username credentials, needed to obtain source code for the program LABELIT.  Developers are instructed to use the following alternate procedure:&lt;br /&gt;
&lt;br /&gt;
  python bootstrap.py hot --builder=xfel --sfuser=&amp;lt;githubusername&amp;gt; # download the static packages&lt;br /&gt;
  python bootstrap.py update --builder=dials --sfuser=&amp;lt;githubusername&amp;gt; # download the github code for dials &amp;amp; cctbx&lt;br /&gt;
 &lt;br /&gt;
Then download phenix from http://phenix-online.org and untar the package.  Locate the modules directory in the phenix directory tree, and copy-paste the labelit subdirectory into the modules directory of your current working area.&lt;br /&gt;
&lt;br /&gt;
===Finish up the build===&lt;br /&gt;
After downloading the sources, you need to be sure you have the appropriate compilers before executing the next command.  At SLAC, that means you need to ssh to one of the psana nodes, as the pslogin nodes do not have the requisite compilers.  When ready, configure and compile thusly:&lt;br /&gt;
&lt;br /&gt;
  python bootstrap.py build --builder=xfel --with-python=`which python`&lt;br /&gt;
&lt;br /&gt;
On SLAC&#039;s interactive nodes, this takes just over 6 minutes. To avoid problems with run-time dynamic linking of Python extensions, the Python interpreter required for the above command must be the one provided by the PSDM software distribution.   That interpreter can be located using find, &amp;lt;i&amp;gt;e.g.&amp;lt;/i&amp;gt;&lt;br /&gt;
 $ find $SIT_ROOT/sw/external/python -perm /0111 -type f -wholename &amp;quot;*/$SIT_ARCH/*/python&amp;quot; 2&amp;gt; /dev/null&lt;br /&gt;
At SLAC this interpreter is located somewhere under &amp;lt;code&amp;gt;/reg/g/psdm/sw/external/python&amp;lt;/code&amp;gt;.  Here we use `which python` to get this path automatically.  &lt;br /&gt;
&lt;br /&gt;
Initialise the running shell using the newly created configuration files.  bash-users should&lt;br /&gt;
 $ . build/setpaths.sh&lt;br /&gt;
while csh-users will instead need to run&lt;br /&gt;
 % source build/setpaths.csh&lt;br /&gt;
&lt;br /&gt;
To finalize the installation, see [[Setup]].&lt;br /&gt;
&lt;br /&gt;
Note, you may also follow this procedure if you are on a machine where you have your own python that you want to use, instead of the one provided by PSDM.&lt;br /&gt;
&lt;br /&gt;
== Installation on a non-PSDM system ==&lt;br /&gt;
&lt;br /&gt;
If you find yourself on a machine without PSDM and won&#039;t be dealing with XTC directly, for example if you have your own data collected as stills from a non-XFEL source, you can use the below commands in a new directory (again assuming you have a cci user account):&lt;br /&gt;
&lt;br /&gt;
  # On Linux:&lt;br /&gt;
  wget https://raw.githubusercontent.com/cctbx/cctbx_project/master/libtbx/auto_build/bootstrap.py&lt;br /&gt;
  # On MacOSX:&lt;br /&gt;
  curl https://raw.githubusercontent.com/cctbx/cctbx_project/master/libtbx/auto_build/bootstrap.py &amp;gt; bootstrap.py&lt;br /&gt;
&lt;br /&gt;
  python bootstrap.py hot update base build --builder=xfel --cciuser=&amp;lt;cciusername&amp;gt; --sfuser=&amp;lt;sourceforgeusername&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here, in addition to hot, update and build, there&#039;s a command called &#039;base&#039;, which downloads a python and needed packages and compiles it.  After this process completes, source the installation (for details see above), and then add scipy to it:&lt;br /&gt;
&lt;br /&gt;
  . build/setpaths.sh&lt;br /&gt;
  libtbx.python -m easy_install scipy&lt;br /&gt;
&lt;br /&gt;
Please contact the authors if with any issues.  Some gotchas:&lt;br /&gt;
&lt;br /&gt;
1) On a Mac, you will need to make sure you have the latest version of xcode installed.  Consider the command xcode-select --install. [NOTE: Xcode v. 8.2.1. for Mac OS 10.12 (Sierra) does not include a gFortran compiler. You will need to install gFortran separately if you need scipy.]&lt;br /&gt;
&lt;br /&gt;
2) On linux you will likely need to install some dependencies, including gFortran. [Note: gFortran is needed only for the scipy installation, not for the core build based on cctbx.  Therefore, only install gFortran if you need scipy.]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://cctbx.sourceforge.net/current_cvs/installation.html#manually-building-from-sources-under-unix Manually building from sources under Unix]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- POSSBILE ADDITIONS:&lt;br /&gt;
&lt;br /&gt;
COMMON PITFALLS:&lt;br /&gt;
&lt;br /&gt;
forget to source the shell configuration files&lt;br /&gt;
forget to run sit_setup&lt;br /&gt;
running cxi.pyana from outside the myrelease directory&lt;br /&gt;
&lt;br /&gt;
DEBUGGING:&lt;br /&gt;
&lt;br /&gt;
And a few more things to check: output of &amp;quot;ls -lR arch/*&amp;quot;, output of &amp;quot;which python2.7&amp;quot;, and the &amp;quot;scons.out&amp;quot; file that results from &amp;quot;scons TRACE=7 &amp;gt; scons.out 2&amp;gt;&amp;amp;1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
What Linux distribution are you running this on (could you past the output of &amp;quot;uname -a&amp;quot; and &amp;quot;cat /etc/issue&amp;quot;)?  Could you also tell me which scons you are using (output of &amp;quot;which scons&amp;quot;).  Last, could you attach a dump of the environment (env &amp;gt; env.out)?&lt;br /&gt;
&lt;br /&gt;
Andy&#039;s information request on debugging: full output from these commands:&lt;br /&gt;
&lt;br /&gt;
% rm -rf arch build&lt;br /&gt;
% printenv&lt;br /&gt;
% which scons&lt;br /&gt;
% which python&lt;br /&gt;
% which python2.7&lt;br /&gt;
% scons TRACE=9&lt;br /&gt;
% ls -lR arch&lt;br /&gt;
% ls -lR my_ana_pkg&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Ha14_installation&amp;diff=1440</id>
		<title>Ha14 installation</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Ha14_installation&amp;diff=1440"/>
		<updated>2017-03-31T18:09:10Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Standard installation using PSDM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
While these tutorials assume you wish to process XTC streams at SLAC, some users have stills collected from other sources and do not need the full PSDM suite.  If this is the case, see the installation directions below for installing on a non PSDM system.  Otherwise, it is assumed that the [[Set up PSDM software | PSDM software distribution has been set up]].  Note again that several sites already have &#039;&#039;cctbx.xfel&#039;&#039; installed, and so regular users not involved in the development of the software will not need the instructions here.&lt;br /&gt;
&lt;br /&gt;
Once &#039;&#039;cctbx.xfel&#039;&#039; has been installed it must be [[Setup | set up]] before it can be used.  Developers may additionally want to [[Set up ssh-agent | set up an ssh-agent]].  &lt;br /&gt;
&lt;br /&gt;
Finally, you must have a user account on cci.lbl.gov in order to proceed, or else you will not be able to download the sources. A sourceforge account is only needed if you wish to commit changes back to the repository. If you don&#039;t have or don&#039;t want to use a sourceforge account, you can leave it off in the below commands where it is specified.&lt;br /&gt;
&lt;br /&gt;
== Standard installation using PSDM  ==&lt;br /&gt;
===Quick start===&lt;br /&gt;
This step has to be performed on a host with Internet access. Not all hosts at SLAC have that, but the members of &amp;lt;i&amp;gt;e.g.&amp;lt;/i&amp;gt; pslogin pool do. Make and change to a working directory to contain the new source code and build (this directory should be accessible from any computing nodes &#039;&#039;cctbx.xfel&#039;&#039; will be run. Then download these bootstrap modules:&lt;br /&gt;
&lt;br /&gt;
  wget https://raw.githubusercontent.com/cctbx/cctbx_project/master/libtbx/auto_build/bootstrap.py&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
  python bootstrap.py hot update --builder=xfel --cciuser=&amp;lt;cciusername&amp;gt; --sfuser=&amp;lt;githubusername&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This command instructs bootstrap.py to download static packages required for &#039;&#039;cctbx.xfel&#039;&#039; (hot), and then to checkout the rest of the sources from cci.lbl.gov and github (update), using the user accounts specified by the cciuser and sfuser parameters, respectively.&lt;br /&gt;
&lt;br /&gt;
===Alternate instructions for non-LBNL developers===&lt;br /&gt;
Our non-LBNL colleagues will now realize that the &amp;quot;python bootstrap&amp;quot; step does not work without cci username credentials, needed to obtain source code for the program LABELIT.  Developers are instructed to use the following alternate procedure:&lt;br /&gt;
&lt;br /&gt;
  python bootstrap.py hot --builder=xfel --sfuser=&amp;lt;githubusername&amp;gt; # download the static packages&lt;br /&gt;
  python bootstrap.py update --builder=dials --sfuser=&amp;lt;githubusername&amp;gt; # download the github code for dials &amp;amp; cctbx&lt;br /&gt;
 &lt;br /&gt;
Then download phenix from http://phenix-online.org and untar the package.  Locate the modules directory in the phenix directory tree, and copy-paste the labelit_sources subdirectory into the modules directory of your current working area.&lt;br /&gt;
&lt;br /&gt;
===Finish up the build===&lt;br /&gt;
After downloading the sources, you need to be sure you have the appropriate compilers before executing the next command.  At SLAC, that means you need to ssh to one of the psana nodes, as the pslogin nodes do not have the requisite compilers.  When ready, configure and compile thusly:&lt;br /&gt;
&lt;br /&gt;
  python bootstrap.py build --builder=xfel --with-python=`which python`&lt;br /&gt;
&lt;br /&gt;
On SLAC&#039;s interactive nodes, this takes just over 6 minutes. To avoid problems with run-time dynamic linking of Python extensions, the Python interpreter required for the above command must be the one provided by the PSDM software distribution.   That interpreter can be located using find, &amp;lt;i&amp;gt;e.g.&amp;lt;/i&amp;gt;&lt;br /&gt;
 $ find $SIT_ROOT/sw/external/python -perm /0111 -type f -wholename &amp;quot;*/$SIT_ARCH/*/python&amp;quot; 2&amp;gt; /dev/null&lt;br /&gt;
At SLAC this interpreter is located somewhere under &amp;lt;code&amp;gt;/reg/g/psdm/sw/external/python&amp;lt;/code&amp;gt;.  Here we use `which python` to get this path automatically.  &lt;br /&gt;
&lt;br /&gt;
Initialise the running shell using the newly created configuration files.  bash-users should&lt;br /&gt;
 $ . build/setpaths.sh&lt;br /&gt;
while csh-users will instead need to run&lt;br /&gt;
 % source build/setpaths.csh&lt;br /&gt;
&lt;br /&gt;
To finalize the installation, see [[Setup]].&lt;br /&gt;
&lt;br /&gt;
Note, you may also follow this procedure if you are on a machine where you have your own python that you want to use, instead of the one provided by PSDM.&lt;br /&gt;
&lt;br /&gt;
== Installation on a non-PSDM system ==&lt;br /&gt;
&lt;br /&gt;
If you find yourself on a machine without PSDM and won&#039;t be dealing with XTC directly, for example if you have your own data collected as stills from a non-XFEL source, you can use the below commands in a new directory (again assuming you have a cci user account):&lt;br /&gt;
&lt;br /&gt;
  # On Linux:&lt;br /&gt;
  wget https://raw.githubusercontent.com/cctbx/cctbx_project/master/libtbx/auto_build/bootstrap.py&lt;br /&gt;
  # On MacOSX:&lt;br /&gt;
  curl https://raw.githubusercontent.com/cctbx/cctbx_project/master/libtbx/auto_build/bootstrap.py &amp;gt; bootstrap.py&lt;br /&gt;
&lt;br /&gt;
  python bootstrap.py hot update base build --builder=xfel --cciuser=&amp;lt;cciusername&amp;gt; --sfuser=&amp;lt;sourceforgeusername&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here, in addition to hot, update and build, there&#039;s a command called &#039;base&#039;, which downloads a python and needed packages and compiles it.  After this process completes, source the installation (for details see above), and then add scipy to it:&lt;br /&gt;
&lt;br /&gt;
  . build/setpaths.sh&lt;br /&gt;
  libtbx.python -m easy_install scipy&lt;br /&gt;
&lt;br /&gt;
Please contact the authors if with any issues.  Some gotchas:&lt;br /&gt;
&lt;br /&gt;
1) On a Mac, you will need to make sure you have the latest version of xcode installed.  Consider the command xcode-select --install. [NOTE: Xcode v. 8.2.1. for Mac OS 10.12 (Sierra) does not include a gFortran compiler. You will need to install gFortran separately if you need scipy.]&lt;br /&gt;
&lt;br /&gt;
2) On linux you will likely need to install some dependencies, including gFortran. [Note: gFortran is needed only for the scipy installation, not for the core build based on cctbx.  Therefore, only install gFortran if you need scipy.]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://cctbx.sourceforge.net/current_cvs/installation.html#manually-building-from-sources-under-unix Manually building from sources under Unix]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- POSSBILE ADDITIONS:&lt;br /&gt;
&lt;br /&gt;
COMMON PITFALLS:&lt;br /&gt;
&lt;br /&gt;
forget to source the shell configuration files&lt;br /&gt;
forget to run sit_setup&lt;br /&gt;
running cxi.pyana from outside the myrelease directory&lt;br /&gt;
&lt;br /&gt;
DEBUGGING:&lt;br /&gt;
&lt;br /&gt;
And a few more things to check: output of &amp;quot;ls -lR arch/*&amp;quot;, output of &amp;quot;which python2.7&amp;quot;, and the &amp;quot;scons.out&amp;quot; file that results from &amp;quot;scons TRACE=7 &amp;gt; scons.out 2&amp;gt;&amp;amp;1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
What Linux distribution are you running this on (could you past the output of &amp;quot;uname -a&amp;quot; and &amp;quot;cat /etc/issue&amp;quot;)?  Could you also tell me which scons you are using (output of &amp;quot;which scons&amp;quot;).  Last, could you attach a dump of the environment (env &amp;gt; env.out)?&lt;br /&gt;
&lt;br /&gt;
Andy&#039;s information request on debugging: full output from these commands:&lt;br /&gt;
&lt;br /&gt;
% rm -rf arch build&lt;br /&gt;
% printenv&lt;br /&gt;
% which scons&lt;br /&gt;
% which python&lt;br /&gt;
% which python2.7&lt;br /&gt;
% scons TRACE=9&lt;br /&gt;
% ls -lR arch&lt;br /&gt;
% ls -lR my_ana_pkg&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1434</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1434"/>
		<updated>2017-02-25T01:00:12Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Table of results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].  Literature description is in the [http://dx.doi.org/10.1038/nmeth.2887 Hattne (2014)], the [http://dx.doi.org/10.7554/eLife.05421 PRIME paper], the [http://dx.doi.org/10.1107/S1399004714024134 Sauter (2014)] and [http://dx.doi.org/10.1107/S1600577514028203 Sauter (2015)] papers.  Math derivations are further described in the source code release in file postrefinement_rs_model.pdf.&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
 phenix.xtriage ${tag}_s0_mark0.mtz scaling.input.xray_data.obs_labels=imean&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = i_obs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cxi.xmerge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
Bin  Resolution Range # images %accept&lt;br /&gt;
--------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861     4712  100.00&lt;br /&gt;
  2  5.3861 -  4.2749     4663  98.96&lt;br /&gt;
  3  4.2749 -  3.7345     4646  98.60&lt;br /&gt;
  4  3.7345 -  3.3930     4614  97.92&lt;br /&gt;
  5  3.3930 -  3.1498     4578  97.16&lt;br /&gt;
  6  3.1498 -  2.9641     4552  96.60&lt;br /&gt;
  7  2.9641 -  2.8156     4521  95.95&lt;br /&gt;
  8  2.8156 -  2.6930     4499  95.48&lt;br /&gt;
  9  2.6930 -  2.5894     4477  95.01&lt;br /&gt;
 10  2.5894 -  2.5000     4416  93.72&lt;br /&gt;
&lt;br /&gt;
All                       4721&lt;br /&gt;
--------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                      CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861   [1490/1490] 87.3%    1490 88.1%   1484 46.3% 32.9% 42.6% 0.772 300.328 8084.8580&lt;br /&gt;
  2  5.3861 -  4.2749   [1500/1500] 76.4%    1500 89.3%   1500 43.8% 30.6% 34.5% 0.761 425.498 1728.0907&lt;br /&gt;
  3  4.2749 -  3.7345   [1499/1499] 80.1%    1499 91.6%   1499 42.5% 26.7% 34.5% 0.684 430.028 1556.6316&lt;br /&gt;
  4  3.7345 -  3.3930   [1497/1497] 80.5%    1497 90.3%   1497 37.9% 27.2% 29.9% 0.846 481.795  600.5001&lt;br /&gt;
  5  3.3930 -  3.1498   [1477/1477] 84.2%    1477 90.0%   1477 37.2% 26.4% 31.4% 0.838 477.825  269.5784&lt;br /&gt;
  6  3.1498 -  2.9641   [1492/1492] 80.0%    1492 91.5%   1492 39.8% 28.6% 28.3% 0.866 511.386  165.9517&lt;br /&gt;
  7  2.9641 -  2.8156   [1483/1483] 76.7%    1483 90.0%   1483 39.3% 28.7% 30.1% 0.865 470.331  102.0659&lt;br /&gt;
  8  2.8156 -  2.6930   [1451/1451] 76.8%    1451 90.7%   1451 38.5% 28.2% 27.3% 0.883 492.758  88.6666&lt;br /&gt;
  9  2.6930 -  2.5894   [1532/1532] 76.6%    1532 89.4%   1532 40.1% 29.3% 30.5% 0.879 452.831  52.0092&lt;br /&gt;
 10  2.5894 -  2.5000   [1472/1472] 77.2%    1472 88.9%   1474 42.9% 31.4% 35.3% 0.801 393.866  52.6667&lt;br /&gt;
&lt;br /&gt;
All                   [14893/14893] 84.7%   14893 88.6%  14889 41.6% 29.0% 39.8% 0.771 378.964   804.8&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Table of results ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Details&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| scale only&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.475&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| refine scale, B, rotx,roty&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.477&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| analytical derivatives&amp;lt;br&amp;gt;better convergence test&amp;lt;br&amp;gt;Flex database&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.480&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.508&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2: LBFGS &amp;lt;br&amp;gt; LevMar to refine Rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.518&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Use mtz from trial 3&amp;lt;br&amp;gt; as a scaling reference&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3716 (3432)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 92.8% (48.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (85.7%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.522&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Useful:&lt;br /&gt;
 export BOOST_ADAPTBX_FPE_DEFAULT=1&lt;br /&gt;
 nproc=1&lt;br /&gt;
 postrefinement.show_trumpet_plot=True&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1433</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1433"/>
		<updated>2017-02-25T00:59:09Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Table of results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].  Literature description is in the [http://dx.doi.org/10.1038/nmeth.2887 Hattne (2014)], the [http://dx.doi.org/10.7554/eLife.05421 PRIME paper], the [http://dx.doi.org/10.1107/S1399004714024134 Sauter (2014)] and [http://dx.doi.org/10.1107/S1600577514028203 Sauter (2015)] papers.  Math derivations are further described in the source code release in file postrefinement_rs_model.pdf.&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
 phenix.xtriage ${tag}_s0_mark0.mtz scaling.input.xray_data.obs_labels=imean&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = i_obs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cxi.xmerge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
Bin  Resolution Range # images %accept&lt;br /&gt;
--------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861     4712  100.00&lt;br /&gt;
  2  5.3861 -  4.2749     4663  98.96&lt;br /&gt;
  3  4.2749 -  3.7345     4646  98.60&lt;br /&gt;
  4  3.7345 -  3.3930     4614  97.92&lt;br /&gt;
  5  3.3930 -  3.1498     4578  97.16&lt;br /&gt;
  6  3.1498 -  2.9641     4552  96.60&lt;br /&gt;
  7  2.9641 -  2.8156     4521  95.95&lt;br /&gt;
  8  2.8156 -  2.6930     4499  95.48&lt;br /&gt;
  9  2.6930 -  2.5894     4477  95.01&lt;br /&gt;
 10  2.5894 -  2.5000     4416  93.72&lt;br /&gt;
&lt;br /&gt;
All                       4721&lt;br /&gt;
--------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                      CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861   [1490/1490] 87.3%    1490 88.1%   1484 46.3% 32.9% 42.6% 0.772 300.328 8084.8580&lt;br /&gt;
  2  5.3861 -  4.2749   [1500/1500] 76.4%    1500 89.3%   1500 43.8% 30.6% 34.5% 0.761 425.498 1728.0907&lt;br /&gt;
  3  4.2749 -  3.7345   [1499/1499] 80.1%    1499 91.6%   1499 42.5% 26.7% 34.5% 0.684 430.028 1556.6316&lt;br /&gt;
  4  3.7345 -  3.3930   [1497/1497] 80.5%    1497 90.3%   1497 37.9% 27.2% 29.9% 0.846 481.795  600.5001&lt;br /&gt;
  5  3.3930 -  3.1498   [1477/1477] 84.2%    1477 90.0%   1477 37.2% 26.4% 31.4% 0.838 477.825  269.5784&lt;br /&gt;
  6  3.1498 -  2.9641   [1492/1492] 80.0%    1492 91.5%   1492 39.8% 28.6% 28.3% 0.866 511.386  165.9517&lt;br /&gt;
  7  2.9641 -  2.8156   [1483/1483] 76.7%    1483 90.0%   1483 39.3% 28.7% 30.1% 0.865 470.331  102.0659&lt;br /&gt;
  8  2.8156 -  2.6930   [1451/1451] 76.8%    1451 90.7%   1451 38.5% 28.2% 27.3% 0.883 492.758  88.6666&lt;br /&gt;
  9  2.6930 -  2.5894   [1532/1532] 76.6%    1532 89.4%   1532 40.1% 29.3% 30.5% 0.879 452.831  52.0092&lt;br /&gt;
 10  2.5894 -  2.5000   [1472/1472] 77.2%    1472 88.9%   1474 42.9% 31.4% 35.3% 0.801 393.866  52.6667&lt;br /&gt;
&lt;br /&gt;
All                   [14893/14893] 84.7%   14893 88.6%  14889 41.6% 29.0% 39.8% 0.771 378.964   804.8&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Table of results ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Details&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| scale only&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| refine scale, B, rotx,roty&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.477&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| analytical derivatives&amp;lt;br&amp;gt;better convergence test&amp;lt;br&amp;gt;Flex database&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.480&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.508&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2: LBFGS &amp;lt;br&amp;gt; LevMar to refine Rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.518&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Use mtz from trial 3&amp;lt;br&amp;gt; as a scaling reference&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3716 (3432)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 92.8% (48.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (85.7%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.522&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Useful:&lt;br /&gt;
 export BOOST_ADAPTBX_FPE_DEFAULT=1&lt;br /&gt;
 nproc=1&lt;br /&gt;
 postrefinement.show_trumpet_plot=True&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1432</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1432"/>
		<updated>2017-02-25T00:57:30Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Table of results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].  Literature description is in the [http://dx.doi.org/10.1038/nmeth.2887 Hattne (2014)], the [http://dx.doi.org/10.7554/eLife.05421 PRIME paper], the [http://dx.doi.org/10.1107/S1399004714024134 Sauter (2014)] and [http://dx.doi.org/10.1107/S1600577514028203 Sauter (2015)] papers.  Math derivations are further described in the source code release in file postrefinement_rs_model.pdf.&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
 phenix.xtriage ${tag}_s0_mark0.mtz scaling.input.xray_data.obs_labels=imean&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = i_obs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cxi.xmerge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
Bin  Resolution Range # images %accept&lt;br /&gt;
--------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861     4712  100.00&lt;br /&gt;
  2  5.3861 -  4.2749     4663  98.96&lt;br /&gt;
  3  4.2749 -  3.7345     4646  98.60&lt;br /&gt;
  4  3.7345 -  3.3930     4614  97.92&lt;br /&gt;
  5  3.3930 -  3.1498     4578  97.16&lt;br /&gt;
  6  3.1498 -  2.9641     4552  96.60&lt;br /&gt;
  7  2.9641 -  2.8156     4521  95.95&lt;br /&gt;
  8  2.8156 -  2.6930     4499  95.48&lt;br /&gt;
  9  2.6930 -  2.5894     4477  95.01&lt;br /&gt;
 10  2.5894 -  2.5000     4416  93.72&lt;br /&gt;
&lt;br /&gt;
All                       4721&lt;br /&gt;
--------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                      CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861   [1490/1490] 87.3%    1490 88.1%   1484 46.3% 32.9% 42.6% 0.772 300.328 8084.8580&lt;br /&gt;
  2  5.3861 -  4.2749   [1500/1500] 76.4%    1500 89.3%   1500 43.8% 30.6% 34.5% 0.761 425.498 1728.0907&lt;br /&gt;
  3  4.2749 -  3.7345   [1499/1499] 80.1%    1499 91.6%   1499 42.5% 26.7% 34.5% 0.684 430.028 1556.6316&lt;br /&gt;
  4  3.7345 -  3.3930   [1497/1497] 80.5%    1497 90.3%   1497 37.9% 27.2% 29.9% 0.846 481.795  600.5001&lt;br /&gt;
  5  3.3930 -  3.1498   [1477/1477] 84.2%    1477 90.0%   1477 37.2% 26.4% 31.4% 0.838 477.825  269.5784&lt;br /&gt;
  6  3.1498 -  2.9641   [1492/1492] 80.0%    1492 91.5%   1492 39.8% 28.6% 28.3% 0.866 511.386  165.9517&lt;br /&gt;
  7  2.9641 -  2.8156   [1483/1483] 76.7%    1483 90.0%   1483 39.3% 28.7% 30.1% 0.865 470.331  102.0659&lt;br /&gt;
  8  2.8156 -  2.6930   [1451/1451] 76.8%    1451 90.7%   1451 38.5% 28.2% 27.3% 0.883 492.758  88.6666&lt;br /&gt;
  9  2.6930 -  2.5894   [1532/1532] 76.6%    1532 89.4%   1532 40.1% 29.3% 30.5% 0.879 452.831  52.0092&lt;br /&gt;
 10  2.5894 -  2.5000   [1472/1472] 77.2%    1472 88.9%   1474 42.9% 31.4% 35.3% 0.801 393.866  52.6667&lt;br /&gt;
&lt;br /&gt;
All                   [14893/14893] 84.7%   14893 88.6%  14889 41.6% 29.0% 39.8% 0.771 378.964   804.8&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Table of results ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Details&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| scale only&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| refine scale, B, rotx,roty&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| analytical derivatives&amp;lt;br&amp;gt;better convergence test&amp;lt;br&amp;gt;Flex database&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.480&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.508&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2: LBFGS &amp;lt;br&amp;gt; LevMar to refine Rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.518&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Use mtz from trial 3&amp;lt;br&amp;gt; as a scaling reference&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3716 (3432)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 92.8% (48.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (85.7%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.522&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Useful:&lt;br /&gt;
 export BOOST_ADAPTBX_FPE_DEFAULT=1&lt;br /&gt;
 nproc=1&lt;br /&gt;
 postrefinement.show_trumpet_plot=True&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1431</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1431"/>
		<updated>2017-02-25T00:55:58Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Table of results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].  Literature description is in the [http://dx.doi.org/10.1038/nmeth.2887 Hattne (2014)], the [http://dx.doi.org/10.7554/eLife.05421 PRIME paper], the [http://dx.doi.org/10.1107/S1399004714024134 Sauter (2014)] and [http://dx.doi.org/10.1107/S1600577514028203 Sauter (2015)] papers.  Math derivations are further described in the source code release in file postrefinement_rs_model.pdf.&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
 phenix.xtriage ${tag}_s0_mark0.mtz scaling.input.xray_data.obs_labels=imean&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = i_obs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cxi.xmerge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
Bin  Resolution Range # images %accept&lt;br /&gt;
--------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861     4712  100.00&lt;br /&gt;
  2  5.3861 -  4.2749     4663  98.96&lt;br /&gt;
  3  4.2749 -  3.7345     4646  98.60&lt;br /&gt;
  4  3.7345 -  3.3930     4614  97.92&lt;br /&gt;
  5  3.3930 -  3.1498     4578  97.16&lt;br /&gt;
  6  3.1498 -  2.9641     4552  96.60&lt;br /&gt;
  7  2.9641 -  2.8156     4521  95.95&lt;br /&gt;
  8  2.8156 -  2.6930     4499  95.48&lt;br /&gt;
  9  2.6930 -  2.5894     4477  95.01&lt;br /&gt;
 10  2.5894 -  2.5000     4416  93.72&lt;br /&gt;
&lt;br /&gt;
All                       4721&lt;br /&gt;
--------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                      CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861   [1490/1490] 87.3%    1490 88.1%   1484 46.3% 32.9% 42.6% 0.772 300.328 8084.8580&lt;br /&gt;
  2  5.3861 -  4.2749   [1500/1500] 76.4%    1500 89.3%   1500 43.8% 30.6% 34.5% 0.761 425.498 1728.0907&lt;br /&gt;
  3  4.2749 -  3.7345   [1499/1499] 80.1%    1499 91.6%   1499 42.5% 26.7% 34.5% 0.684 430.028 1556.6316&lt;br /&gt;
  4  3.7345 -  3.3930   [1497/1497] 80.5%    1497 90.3%   1497 37.9% 27.2% 29.9% 0.846 481.795  600.5001&lt;br /&gt;
  5  3.3930 -  3.1498   [1477/1477] 84.2%    1477 90.0%   1477 37.2% 26.4% 31.4% 0.838 477.825  269.5784&lt;br /&gt;
  6  3.1498 -  2.9641   [1492/1492] 80.0%    1492 91.5%   1492 39.8% 28.6% 28.3% 0.866 511.386  165.9517&lt;br /&gt;
  7  2.9641 -  2.8156   [1483/1483] 76.7%    1483 90.0%   1483 39.3% 28.7% 30.1% 0.865 470.331  102.0659&lt;br /&gt;
  8  2.8156 -  2.6930   [1451/1451] 76.8%    1451 90.7%   1451 38.5% 28.2% 27.3% 0.883 492.758  88.6666&lt;br /&gt;
  9  2.6930 -  2.5894   [1532/1532] 76.6%    1532 89.4%   1532 40.1% 29.3% 30.5% 0.879 452.831  52.0092&lt;br /&gt;
 10  2.5894 -  2.5000   [1472/1472] 77.2%    1472 88.9%   1474 42.9% 31.4% 35.3% 0.801 393.866  52.6667&lt;br /&gt;
&lt;br /&gt;
All                   [14893/14893] 84.7%   14893 88.6%  14889 41.6% 29.0% 39.8% 0.771 378.964   804.8&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Table of results ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Details&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| scale only&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| refine scale, B, rotx,roty&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| analytical derivatives&amp;lt;br&amp;gt;better convergence test&amp;lt;br&amp;gt;Flex database&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.508&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2: LBFGS &amp;lt;br&amp;gt; LevMar to refine Rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.518&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Use mtz from trial 3&amp;lt;br&amp;gt; as a scaling reference&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3716 (3432)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 92.8% (48.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (85.7%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.522&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Useful:&lt;br /&gt;
 export BOOST_ADAPTBX_FPE_DEFAULT=1&lt;br /&gt;
 nproc=1&lt;br /&gt;
 postrefinement.show_trumpet_plot=True&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1430</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1430"/>
		<updated>2017-02-25T00:53:09Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Table of results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].  Literature description is in the [http://dx.doi.org/10.1038/nmeth.2887 Hattne (2014)], the [http://dx.doi.org/10.7554/eLife.05421 PRIME paper], the [http://dx.doi.org/10.1107/S1399004714024134 Sauter (2014)] and [http://dx.doi.org/10.1107/S1600577514028203 Sauter (2015)] papers.  Math derivations are further described in the source code release in file postrefinement_rs_model.pdf.&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
 phenix.xtriage ${tag}_s0_mark0.mtz scaling.input.xray_data.obs_labels=imean&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = i_obs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cxi.xmerge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
Bin  Resolution Range # images %accept&lt;br /&gt;
--------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861     4712  100.00&lt;br /&gt;
  2  5.3861 -  4.2749     4663  98.96&lt;br /&gt;
  3  4.2749 -  3.7345     4646  98.60&lt;br /&gt;
  4  3.7345 -  3.3930     4614  97.92&lt;br /&gt;
  5  3.3930 -  3.1498     4578  97.16&lt;br /&gt;
  6  3.1498 -  2.9641     4552  96.60&lt;br /&gt;
  7  2.9641 -  2.8156     4521  95.95&lt;br /&gt;
  8  2.8156 -  2.6930     4499  95.48&lt;br /&gt;
  9  2.6930 -  2.5894     4477  95.01&lt;br /&gt;
 10  2.5894 -  2.5000     4416  93.72&lt;br /&gt;
&lt;br /&gt;
All                       4721&lt;br /&gt;
--------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                      CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861   [1490/1490] 87.3%    1490 88.1%   1484 46.3% 32.9% 42.6% 0.772 300.328 8084.8580&lt;br /&gt;
  2  5.3861 -  4.2749   [1500/1500] 76.4%    1500 89.3%   1500 43.8% 30.6% 34.5% 0.761 425.498 1728.0907&lt;br /&gt;
  3  4.2749 -  3.7345   [1499/1499] 80.1%    1499 91.6%   1499 42.5% 26.7% 34.5% 0.684 430.028 1556.6316&lt;br /&gt;
  4  3.7345 -  3.3930   [1497/1497] 80.5%    1497 90.3%   1497 37.9% 27.2% 29.9% 0.846 481.795  600.5001&lt;br /&gt;
  5  3.3930 -  3.1498   [1477/1477] 84.2%    1477 90.0%   1477 37.2% 26.4% 31.4% 0.838 477.825  269.5784&lt;br /&gt;
  6  3.1498 -  2.9641   [1492/1492] 80.0%    1492 91.5%   1492 39.8% 28.6% 28.3% 0.866 511.386  165.9517&lt;br /&gt;
  7  2.9641 -  2.8156   [1483/1483] 76.7%    1483 90.0%   1483 39.3% 28.7% 30.1% 0.865 470.331  102.0659&lt;br /&gt;
  8  2.8156 -  2.6930   [1451/1451] 76.8%    1451 90.7%   1451 38.5% 28.2% 27.3% 0.883 492.758  88.6666&lt;br /&gt;
  9  2.6930 -  2.5894   [1532/1532] 76.6%    1532 89.4%   1532 40.1% 29.3% 30.5% 0.879 452.831  52.0092&lt;br /&gt;
 10  2.5894 -  2.5000   [1472/1472] 77.2%    1472 88.9%   1474 42.9% 31.4% 35.3% 0.801 393.866  52.6667&lt;br /&gt;
&lt;br /&gt;
All                   [14893/14893] 84.7%   14893 88.6%  14889 41.6% 29.0% 39.8% 0.771 378.964   804.8&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Table of results ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Details&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| scale only&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| refine scale, B, rotx,roty&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| analytical derivatives&amp;lt;br&amp;gt;better convergence test&amp;lt;br&amp;gt;Flex database&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.470&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2: LBFGS &amp;lt;br&amp;gt; LevMar to refine Rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.518&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Use mtz from trial 3&amp;lt;br&amp;gt; as a scaling reference&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3716 (3432)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 92.8% (48.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (85.7%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.522&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Useful:&lt;br /&gt;
 export BOOST_ADAPTBX_FPE_DEFAULT=1&lt;br /&gt;
 nproc=1&lt;br /&gt;
 postrefinement.show_trumpet_plot=True&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1429</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1429"/>
		<updated>2017-02-25T00:52:38Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Table of results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].  Literature description is in the [http://dx.doi.org/10.1038/nmeth.2887 Hattne (2014)], the [http://dx.doi.org/10.7554/eLife.05421 PRIME paper], the [http://dx.doi.org/10.1107/S1399004714024134 Sauter (2014)] and [http://dx.doi.org/10.1107/S1600577514028203 Sauter (2015)] papers.  Math derivations are further described in the source code release in file postrefinement_rs_model.pdf.&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
 phenix.xtriage ${tag}_s0_mark0.mtz scaling.input.xray_data.obs_labels=imean&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = i_obs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cxi.xmerge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
Bin  Resolution Range # images %accept&lt;br /&gt;
--------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861     4712  100.00&lt;br /&gt;
  2  5.3861 -  4.2749     4663  98.96&lt;br /&gt;
  3  4.2749 -  3.7345     4646  98.60&lt;br /&gt;
  4  3.7345 -  3.3930     4614  97.92&lt;br /&gt;
  5  3.3930 -  3.1498     4578  97.16&lt;br /&gt;
  6  3.1498 -  2.9641     4552  96.60&lt;br /&gt;
  7  2.9641 -  2.8156     4521  95.95&lt;br /&gt;
  8  2.8156 -  2.6930     4499  95.48&lt;br /&gt;
  9  2.6930 -  2.5894     4477  95.01&lt;br /&gt;
 10  2.5894 -  2.5000     4416  93.72&lt;br /&gt;
&lt;br /&gt;
All                       4721&lt;br /&gt;
--------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                      CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861   [1490/1490] 87.3%    1490 88.1%   1484 46.3% 32.9% 42.6% 0.772 300.328 8084.8580&lt;br /&gt;
  2  5.3861 -  4.2749   [1500/1500] 76.4%    1500 89.3%   1500 43.8% 30.6% 34.5% 0.761 425.498 1728.0907&lt;br /&gt;
  3  4.2749 -  3.7345   [1499/1499] 80.1%    1499 91.6%   1499 42.5% 26.7% 34.5% 0.684 430.028 1556.6316&lt;br /&gt;
  4  3.7345 -  3.3930   [1497/1497] 80.5%    1497 90.3%   1497 37.9% 27.2% 29.9% 0.846 481.795  600.5001&lt;br /&gt;
  5  3.3930 -  3.1498   [1477/1477] 84.2%    1477 90.0%   1477 37.2% 26.4% 31.4% 0.838 477.825  269.5784&lt;br /&gt;
  6  3.1498 -  2.9641   [1492/1492] 80.0%    1492 91.5%   1492 39.8% 28.6% 28.3% 0.866 511.386  165.9517&lt;br /&gt;
  7  2.9641 -  2.8156   [1483/1483] 76.7%    1483 90.0%   1483 39.3% 28.7% 30.1% 0.865 470.331  102.0659&lt;br /&gt;
  8  2.8156 -  2.6930   [1451/1451] 76.8%    1451 90.7%   1451 38.5% 28.2% 27.3% 0.883 492.758  88.6666&lt;br /&gt;
  9  2.6930 -  2.5894   [1532/1532] 76.6%    1532 89.4%   1532 40.1% 29.3% 30.5% 0.879 452.831  52.0092&lt;br /&gt;
 10  2.5894 -  2.5000   [1472/1472] 77.2%    1472 88.9%   1474 42.9% 31.4% 35.3% 0.801 393.866  52.6667&lt;br /&gt;
&lt;br /&gt;
All                   [14893/14893] 84.7%   14893 88.6%  14889 41.6% 29.0% 39.8% 0.771 378.964   804.8&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Table of results ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Details&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| scale only&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| refine scale, B, rotx,roty&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| analytical derivatives&amp;lt;br&amp;gt;better convergence test&amp;lt;br&amp;gt;Flex database&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.470&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2: LBFGS &amp;lt;br&amp;gt; LevMar to refine Rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.518&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Use mtz from the trial 2&amp;lt;br&amp;gt;rs2 as a scaling reference&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3716 (3432)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 92.8% (48.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (85.7%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.522&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Useful:&lt;br /&gt;
 export BOOST_ADAPTBX_FPE_DEFAULT=1&lt;br /&gt;
 nproc=1&lt;br /&gt;
 postrefinement.show_trumpet_plot=True&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1428</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1428"/>
		<updated>2017-02-24T23:49:11Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Table of results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].  Literature description is in the [http://dx.doi.org/10.1038/nmeth.2887 Hattne (2014)], the [http://dx.doi.org/10.7554/eLife.05421 PRIME paper], the [http://dx.doi.org/10.1107/S1399004714024134 Sauter (2014)] and [http://dx.doi.org/10.1107/S1600577514028203 Sauter (2015)] papers.  Math derivations are further described in the source code release in file postrefinement_rs_model.pdf.&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
 phenix.xtriage ${tag}_s0_mark0.mtz scaling.input.xray_data.obs_labels=imean&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = i_obs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cxi.xmerge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
Bin  Resolution Range # images %accept&lt;br /&gt;
--------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861     4712  100.00&lt;br /&gt;
  2  5.3861 -  4.2749     4663  98.96&lt;br /&gt;
  3  4.2749 -  3.7345     4646  98.60&lt;br /&gt;
  4  3.7345 -  3.3930     4614  97.92&lt;br /&gt;
  5  3.3930 -  3.1498     4578  97.16&lt;br /&gt;
  6  3.1498 -  2.9641     4552  96.60&lt;br /&gt;
  7  2.9641 -  2.8156     4521  95.95&lt;br /&gt;
  8  2.8156 -  2.6930     4499  95.48&lt;br /&gt;
  9  2.6930 -  2.5894     4477  95.01&lt;br /&gt;
 10  2.5894 -  2.5000     4416  93.72&lt;br /&gt;
&lt;br /&gt;
All                       4721&lt;br /&gt;
--------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                      CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861   [1490/1490] 87.3%    1490 88.1%   1484 46.3% 32.9% 42.6% 0.772 300.328 8084.8580&lt;br /&gt;
  2  5.3861 -  4.2749   [1500/1500] 76.4%    1500 89.3%   1500 43.8% 30.6% 34.5% 0.761 425.498 1728.0907&lt;br /&gt;
  3  4.2749 -  3.7345   [1499/1499] 80.1%    1499 91.6%   1499 42.5% 26.7% 34.5% 0.684 430.028 1556.6316&lt;br /&gt;
  4  3.7345 -  3.3930   [1497/1497] 80.5%    1497 90.3%   1497 37.9% 27.2% 29.9% 0.846 481.795  600.5001&lt;br /&gt;
  5  3.3930 -  3.1498   [1477/1477] 84.2%    1477 90.0%   1477 37.2% 26.4% 31.4% 0.838 477.825  269.5784&lt;br /&gt;
  6  3.1498 -  2.9641   [1492/1492] 80.0%    1492 91.5%   1492 39.8% 28.6% 28.3% 0.866 511.386  165.9517&lt;br /&gt;
  7  2.9641 -  2.8156   [1483/1483] 76.7%    1483 90.0%   1483 39.3% 28.7% 30.1% 0.865 470.331  102.0659&lt;br /&gt;
  8  2.8156 -  2.6930   [1451/1451] 76.8%    1451 90.7%   1451 38.5% 28.2% 27.3% 0.883 492.758  88.6666&lt;br /&gt;
  9  2.6930 -  2.5894   [1532/1532] 76.6%    1532 89.4%   1532 40.1% 29.3% 30.5% 0.879 452.831  52.0092&lt;br /&gt;
 10  2.5894 -  2.5000   [1472/1472] 77.2%    1472 88.9%   1474 42.9% 31.4% 35.3% 0.801 393.866  52.6667&lt;br /&gt;
&lt;br /&gt;
All                   [14893/14893] 84.7%   14893 88.6%  14889 41.6% 29.0% 39.8% 0.771 378.964   804.8&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Table of results ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Details&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| scale only&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| refine scale, B, rotx,roty&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| analytical derivatives&amp;lt;br&amp;gt;better convergence test&amp;lt;br&amp;gt;Flex database&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.470&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2: LBFGS &amp;lt;br&amp;gt; LevMar to refine Rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.518&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Use mtz from the first cycle&amp;lt;br&amp;gt;as a scaling reference&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3973 (3700)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (55.5%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.6% (87.0%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.509&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Useful:&lt;br /&gt;
 export BOOST_ADAPTBX_FPE_DEFAULT=1&lt;br /&gt;
 nproc=1&lt;br /&gt;
 postrefinement.show_trumpet_plot=True&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1427</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1427"/>
		<updated>2017-02-21T01:27:46Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* 2) Sort the lattices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].  Literature description is in the [http://dx.doi.org/10.1038/nmeth.2887 Hattne (2014)], the [http://dx.doi.org/10.7554/eLife.05421 PRIME paper], the [http://dx.doi.org/10.1107/S1399004714024134 Sauter (2014)] and [http://dx.doi.org/10.1107/S1600577514028203 Sauter (2015)] papers.  Math derivations are further described in the source code release in file postrefinement_rs_model.pdf.&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
 phenix.xtriage ${tag}_s0_mark0.mtz scaling.input.xray_data.obs_labels=imean&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = i_obs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cxi.xmerge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
Bin  Resolution Range # images %accept&lt;br /&gt;
--------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861     4712  100.00&lt;br /&gt;
  2  5.3861 -  4.2749     4663  98.96&lt;br /&gt;
  3  4.2749 -  3.7345     4646  98.60&lt;br /&gt;
  4  3.7345 -  3.3930     4614  97.92&lt;br /&gt;
  5  3.3930 -  3.1498     4578  97.16&lt;br /&gt;
  6  3.1498 -  2.9641     4552  96.60&lt;br /&gt;
  7  2.9641 -  2.8156     4521  95.95&lt;br /&gt;
  8  2.8156 -  2.6930     4499  95.48&lt;br /&gt;
  9  2.6930 -  2.5894     4477  95.01&lt;br /&gt;
 10  2.5894 -  2.5000     4416  93.72&lt;br /&gt;
&lt;br /&gt;
All                       4721&lt;br /&gt;
--------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                      CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861   [1490/1490] 87.3%    1490 88.1%   1484 46.3% 32.9% 42.6% 0.772 300.328 8084.8580&lt;br /&gt;
  2  5.3861 -  4.2749   [1500/1500] 76.4%    1500 89.3%   1500 43.8% 30.6% 34.5% 0.761 425.498 1728.0907&lt;br /&gt;
  3  4.2749 -  3.7345   [1499/1499] 80.1%    1499 91.6%   1499 42.5% 26.7% 34.5% 0.684 430.028 1556.6316&lt;br /&gt;
  4  3.7345 -  3.3930   [1497/1497] 80.5%    1497 90.3%   1497 37.9% 27.2% 29.9% 0.846 481.795  600.5001&lt;br /&gt;
  5  3.3930 -  3.1498   [1477/1477] 84.2%    1477 90.0%   1477 37.2% 26.4% 31.4% 0.838 477.825  269.5784&lt;br /&gt;
  6  3.1498 -  2.9641   [1492/1492] 80.0%    1492 91.5%   1492 39.8% 28.6% 28.3% 0.866 511.386  165.9517&lt;br /&gt;
  7  2.9641 -  2.8156   [1483/1483] 76.7%    1483 90.0%   1483 39.3% 28.7% 30.1% 0.865 470.331  102.0659&lt;br /&gt;
  8  2.8156 -  2.6930   [1451/1451] 76.8%    1451 90.7%   1451 38.5% 28.2% 27.3% 0.883 492.758  88.6666&lt;br /&gt;
  9  2.6930 -  2.5894   [1532/1532] 76.6%    1532 89.4%   1532 40.1% 29.3% 30.5% 0.879 452.831  52.0092&lt;br /&gt;
 10  2.5894 -  2.5000   [1472/1472] 77.2%    1472 88.9%   1474 42.9% 31.4% 35.3% 0.801 393.866  52.6667&lt;br /&gt;
&lt;br /&gt;
All                   [14893/14893] 84.7%   14893 88.6%  14889 41.6% 29.0% 39.8% 0.771 378.964   804.8&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Table of results ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Details&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| scale only&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| refine scale, B, rotx,roty&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| analytical derivatives&amp;lt;br&amp;gt;better convergence test&amp;lt;br&amp;gt;Flex database&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.470&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2: LBFGS &amp;lt;br&amp;gt; LevMar to refine Rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.504&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Use mtz from the first cycle&amp;lt;br&amp;gt;as a scaling reference&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3973 (3700)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (55.5%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.6% (87.0%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.509&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Useful:&lt;br /&gt;
 export BOOST_ADAPTBX_FPE_DEFAULT=1&lt;br /&gt;
 nproc=1&lt;br /&gt;
 postrefinement.show_trumpet_plot=True&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1426</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1426"/>
		<updated>2017-02-17T19:24:51Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* cxi.xmerge program output */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].  Literature description is in the [http://dx.doi.org/10.1038/nmeth.2887 Hattne (2014)], the [http://dx.doi.org/10.7554/eLife.05421 PRIME paper], the [http://dx.doi.org/10.1107/S1399004714024134 Sauter (2014)] and [http://dx.doi.org/10.1107/S1600577514028203 Sauter (2015)] papers.  Math derivations are further described in the source code release in file postrefinement_rs_model.pdf.&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
 phenix.xtriage ${tag}_s0_mark0.mtz scaling.input.xray_data.obs_labels=imean&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = i_obs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cxi.xmerge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
Bin  Resolution Range # images %accept&lt;br /&gt;
--------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861     4712  100.00&lt;br /&gt;
  2  5.3861 -  4.2749     4663  98.96&lt;br /&gt;
  3  4.2749 -  3.7345     4646  98.60&lt;br /&gt;
  4  3.7345 -  3.3930     4614  97.92&lt;br /&gt;
  5  3.3930 -  3.1498     4578  97.16&lt;br /&gt;
  6  3.1498 -  2.9641     4552  96.60&lt;br /&gt;
  7  2.9641 -  2.8156     4521  95.95&lt;br /&gt;
  8  2.8156 -  2.6930     4499  95.48&lt;br /&gt;
  9  2.6930 -  2.5894     4477  95.01&lt;br /&gt;
 10  2.5894 -  2.5000     4416  93.72&lt;br /&gt;
&lt;br /&gt;
All                       4721&lt;br /&gt;
--------------------------------------&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                      CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861   [1490/1490] 87.3%    1490 88.1%   1484 46.3% 32.9% 42.6% 0.772 300.328 8084.8580&lt;br /&gt;
  2  5.3861 -  4.2749   [1500/1500] 76.4%    1500 89.3%   1500 43.8% 30.6% 34.5% 0.761 425.498 1728.0907&lt;br /&gt;
  3  4.2749 -  3.7345   [1499/1499] 80.1%    1499 91.6%   1499 42.5% 26.7% 34.5% 0.684 430.028 1556.6316&lt;br /&gt;
  4  3.7345 -  3.3930   [1497/1497] 80.5%    1497 90.3%   1497 37.9% 27.2% 29.9% 0.846 481.795  600.5001&lt;br /&gt;
  5  3.3930 -  3.1498   [1477/1477] 84.2%    1477 90.0%   1477 37.2% 26.4% 31.4% 0.838 477.825  269.5784&lt;br /&gt;
  6  3.1498 -  2.9641   [1492/1492] 80.0%    1492 91.5%   1492 39.8% 28.6% 28.3% 0.866 511.386  165.9517&lt;br /&gt;
  7  2.9641 -  2.8156   [1483/1483] 76.7%    1483 90.0%   1483 39.3% 28.7% 30.1% 0.865 470.331  102.0659&lt;br /&gt;
  8  2.8156 -  2.6930   [1451/1451] 76.8%    1451 90.7%   1451 38.5% 28.2% 27.3% 0.883 492.758  88.6666&lt;br /&gt;
  9  2.6930 -  2.5894   [1532/1532] 76.6%    1532 89.4%   1532 40.1% 29.3% 30.5% 0.879 452.831  52.0092&lt;br /&gt;
 10  2.5894 -  2.5000   [1472/1472] 77.2%    1472 88.9%   1474 42.9% 31.4% 35.3% 0.801 393.866  52.6667&lt;br /&gt;
&lt;br /&gt;
All                   [14893/14893] 84.7%   14893 88.6%  14889 41.6% 29.0% 39.8% 0.771 378.964   804.8&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Table of results ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Details&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| scale only&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| refine scale, B, rotx,roty&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| analytical derivatives&amp;lt;br&amp;gt;better convergence test&amp;lt;br&amp;gt;Flex database&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.470&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2: LBFGS &amp;lt;br&amp;gt; LevMar to refine Rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.504&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Use mtz from the first cycle&amp;lt;br&amp;gt;as a scaling reference&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3973 (3700)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (55.5%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.6% (87.0%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.509&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Useful:&lt;br /&gt;
 export BOOST_ADAPTBX_FPE_DEFAULT=1&lt;br /&gt;
 nproc=1&lt;br /&gt;
 postrefinement.show_trumpet_plot=True&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1423</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1423"/>
		<updated>2017-02-17T17:57:25Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].  Literature description is in the [http://dx.doi.org/10.1038/nmeth.2887 Hattne (2014)], the [http://dx.doi.org/10.7554/eLife.05421 PRIME paper], the [http://dx.doi.org/10.1107/S1399004714024134 Sauter (2014)] and [http://dx.doi.org/10.1107/S1600577514028203 Sauter (2015)] papers.  Math derivations are further described in the source code release in file postrefinement_rs_model.pdf.&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
 phenix.xtriage ${tag}_s0_mark0.mtz scaling.input.xray_data.obs_labels=imean&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = i_obs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cxi.xmerge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                      CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861   [1490/1490] 87.3%    1490 88.1%   1484 46.3% 32.9% 42.6% 0.772 300.328 8084.8580&lt;br /&gt;
  2  5.3861 -  4.2749   [1500/1500] 76.4%    1500 89.3%   1500 43.8% 30.6% 34.5% 0.761 425.498 1728.0907&lt;br /&gt;
  3  4.2749 -  3.7345   [1499/1499] 80.1%    1499 91.6%   1499 42.5% 26.7% 34.5% 0.684 430.028 1556.6316&lt;br /&gt;
  4  3.7345 -  3.3930   [1497/1497] 80.5%    1497 90.3%   1497 37.9% 27.2% 29.9% 0.846 481.795  600.5001&lt;br /&gt;
  5  3.3930 -  3.1498   [1477/1477] 84.2%    1477 90.0%   1477 37.2% 26.4% 31.4% 0.838 477.825  269.5784&lt;br /&gt;
  6  3.1498 -  2.9641   [1492/1492] 80.0%    1492 91.5%   1492 39.8% 28.6% 28.3% 0.866 511.386  165.9517&lt;br /&gt;
  7  2.9641 -  2.8156   [1483/1483] 76.7%    1483 90.0%   1483 39.3% 28.7% 30.1% 0.865 470.331  102.0659&lt;br /&gt;
  8  2.8156 -  2.6930   [1451/1451] 76.8%    1451 90.7%   1451 38.5% 28.2% 27.3% 0.883 492.758  88.6666&lt;br /&gt;
  9  2.6930 -  2.5894   [1532/1532] 76.6%    1532 89.4%   1532 40.1% 29.3% 30.5% 0.879 452.831  52.0092&lt;br /&gt;
 10  2.5894 -  2.5000   [1472/1472] 77.2%    1472 88.9%   1474 42.9% 31.4% 35.3% 0.801 393.866  52.6667&lt;br /&gt;
&lt;br /&gt;
All                   [14893/14893] 84.7%   14893 88.6%  14889 41.6% 29.0% 39.8% 0.771 378.964   804.8&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Table of results ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Details&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| scale only&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| refine scale, B, rotx,roty&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| analytical derivatives&amp;lt;br&amp;gt;better convergence test&amp;lt;br&amp;gt;Flex database&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.470&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2: LBFGS &amp;lt;br&amp;gt; LevMar to refine Rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.504&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Use mtz from the first cycle&amp;lt;br&amp;gt;as a scaling reference&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3973 (3700)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (55.5%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.6% (87.0%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.509&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Useful:&lt;br /&gt;
 export BOOST_ADAPTBX_FPE_DEFAULT=1&lt;br /&gt;
 nproc=1&lt;br /&gt;
 postrefinement.show_trumpet_plot=True&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_Tutorials&amp;diff=1422</id>
		<title>2017 Tutorials</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_Tutorials&amp;diff=1422"/>
		<updated>2017-02-17T17:32:04Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Feb 16th */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Feb 16th =&lt;br /&gt;
&lt;br /&gt;
9:00am: Session 1&lt;br /&gt;
&lt;br /&gt;
*Nick Sauter: Welcome and &amp;quot;Trials and tribulations merging still image data&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Aaron Brewster: &amp;quot;Metrology and non-isomorphism: hidden challenges in still image data reduction&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Axel Brunger: &amp;quot;Data processing of XFEL data from a limited number of crystals&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10:20am: Break&lt;br /&gt;
&lt;br /&gt;
10:40am: Session 2&lt;br /&gt;
&lt;br /&gt;
*Art Lyubimov: &amp;quot;IOTA: Integration optimization, triage and analysis tool for XFEL data processing&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Monarin Uervirojnangkoorn:  &amp;quot;Up and Running with Prime&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Jacques-Philippe Colletier: &amp;quot;Mosquito larvicide BinAB revealed by de novo phasing with an X-ray laser&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*James Holton: &amp;quot;What if? Using at-scale image simulations to optimize data processing algorithms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Noon: Working Lunch - Roundtable discussion of data processing challenges&lt;br /&gt;
&lt;br /&gt;
1:00pm: Session 3&lt;br /&gt;
&lt;br /&gt;
*Graeme Winter and Richard Gildea:  &amp;quot;DIALS - new methods for processing X-ray diffraction data&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*James Parkhurst: &amp;quot;Robust background modelling in the presence of outliers in DIALS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Jan Kern:  TBD&lt;br /&gt;
&lt;br /&gt;
*Franklin Fuller:  &amp;quot;Drop-by-Drop Transient Serial Crystallography of Metalloenzymes at an X-ray free electron laser&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Iris Young:  &amp;quot;Room temperature studies of the oxygen-evolving complex of photosystem II using an X-ray free electron laser (XFEL)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
2:40pm: Break&lt;br /&gt;
&lt;br /&gt;
3:00pm: Session 4&lt;br /&gt;
&lt;br /&gt;
*Aina Cohen: TBD&lt;br /&gt;
&lt;br /&gt;
*Rahel Woldeyes:  &amp;quot;Using X-ray Free Electron lasers to visualize solvent in the M2 proton channel&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Danny Axford: &amp;quot;Highly efficient serial data collection from high-density fixed targets&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Christoph Mueller-Dieckmann: &amp;quot;Serial Synchrotron Crystallography at the ESRF using a high viscosity extruder&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Allen Orville:  TBD&lt;br /&gt;
&lt;br /&gt;
= Feb 17th =&lt;br /&gt;
&lt;br /&gt;
== 9am: Tutorials 1 ==&lt;br /&gt;
Aaron Brewster and Iris Young: cctbx.xfel&lt;br /&gt;
Break: 10:00 am&lt;br /&gt;
== 10:15 am: Tutorials 2 ==&lt;br /&gt;
* Aaron Brewster and James Parkhurst: dials.stills_process&lt;br /&gt;
* Art Lyubimov: IOTA&lt;br /&gt;
* Monarin Uervirojnangkoorn: [[2017_prime_tutorial | PRIME]]&lt;br /&gt;
* Nick Sauter: [[2017_cxi_merge_tutorial | cxi.merge]]&lt;br /&gt;
&lt;br /&gt;
== 12:15pm-2:30pm:  Round table discussion. == &lt;br /&gt;
Topics will include:&lt;br /&gt;
Is the current software meeting needs?&lt;br /&gt;
What are essential/timely avenues most useful for near-term development (first half of 2017)?&lt;br /&gt;
Where should we be going next (longer term future)?&lt;br /&gt;
Time resolved experiments?&lt;br /&gt;
Synchrotron serial crystallography?&lt;br /&gt;
== 2:30-4pm: Breakout sessions: ==&lt;br /&gt;
users work with developers and instructors on their own data.  Hands-on walkthroughs and data analysis.&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1421</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1421"/>
		<updated>2017-02-17T17:22:30Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].  Literature description is in the [http://dx.doi.org/10.1038/nmeth.2887 Hattne (2014)], the [http://dx.doi.org/10.7554/eLife.05421 PRIME paper], the [http://dx.doi.org/10.1107/S1399004714024134 Sauter (2014)] and [http://dx.doi.org/10.1107/S1600577514028203 Sauter (2015)] papers.  Math derivations are further described in the source code release in file postrefinement_rs_model.pdf.&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
 phenix.xtriage ${tag}_s0_mark0.mtz scaling.input.xray_data.obs_labels=imean&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cxi.xmerge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                      CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861   [1490/1490] 87.3%    1490 88.1%   1484 46.3% 32.9% 42.6% 0.772 300.328 8084.8580&lt;br /&gt;
  2  5.3861 -  4.2749   [1500/1500] 76.4%    1500 89.3%   1500 43.8% 30.6% 34.5% 0.761 425.498 1728.0907&lt;br /&gt;
  3  4.2749 -  3.7345   [1499/1499] 80.1%    1499 91.6%   1499 42.5% 26.7% 34.5% 0.684 430.028 1556.6316&lt;br /&gt;
  4  3.7345 -  3.3930   [1497/1497] 80.5%    1497 90.3%   1497 37.9% 27.2% 29.9% 0.846 481.795  600.5001&lt;br /&gt;
  5  3.3930 -  3.1498   [1477/1477] 84.2%    1477 90.0%   1477 37.2% 26.4% 31.4% 0.838 477.825  269.5784&lt;br /&gt;
  6  3.1498 -  2.9641   [1492/1492] 80.0%    1492 91.5%   1492 39.8% 28.6% 28.3% 0.866 511.386  165.9517&lt;br /&gt;
  7  2.9641 -  2.8156   [1483/1483] 76.7%    1483 90.0%   1483 39.3% 28.7% 30.1% 0.865 470.331  102.0659&lt;br /&gt;
  8  2.8156 -  2.6930   [1451/1451] 76.8%    1451 90.7%   1451 38.5% 28.2% 27.3% 0.883 492.758  88.6666&lt;br /&gt;
  9  2.6930 -  2.5894   [1532/1532] 76.6%    1532 89.4%   1532 40.1% 29.3% 30.5% 0.879 452.831  52.0092&lt;br /&gt;
 10  2.5894 -  2.5000   [1472/1472] 77.2%    1472 88.9%   1474 42.9% 31.4% 35.3% 0.801 393.866  52.6667&lt;br /&gt;
&lt;br /&gt;
All                   [14893/14893] 84.7%   14893 88.6%  14889 41.6% 29.0% 39.8% 0.771 378.964   804.8&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Table of results ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Details&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| scale only&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| refine scale, B, rotx,roty&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| analytical derivatives&amp;lt;br&amp;gt;better convergence test&amp;lt;br&amp;gt;Flex database&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.470&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2: LBFGS &amp;lt;br&amp;gt; LevMar to refine Rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.504&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Use mtz from the first cycle&amp;lt;br&amp;gt;as a scaling reference&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3973 (3700)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (55.5%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.6% (87.0%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.509&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Useful:&lt;br /&gt;
 export BOOST_ADAPTBX_FPE_DEFAULT=1&lt;br /&gt;
 nproc=1&lt;br /&gt;
 postrefinement.show_trumpet_plot=True&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1420</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1420"/>
		<updated>2017-02-17T17:21:00Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].  Literature description is in the [http://dx.doi.org/10.1038/nmeth.2887 Hattne (2014)], the [http://dx.doi.org/10.7554/eLife.05421 PRIME paper], the [http://dx.doi.org/10.1107/S1399004714024134 Sauter (2014)] and [http://dx.doi.org/10.1107/S1600577514028203 Sauter (2015)] papers.&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
 phenix.xtriage ${tag}_s0_mark0.mtz scaling.input.xray_data.obs_labels=imean&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cxi.xmerge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                      CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861   [1490/1490] 87.3%    1490 88.1%   1484 46.3% 32.9% 42.6% 0.772 300.328 8084.8580&lt;br /&gt;
  2  5.3861 -  4.2749   [1500/1500] 76.4%    1500 89.3%   1500 43.8% 30.6% 34.5% 0.761 425.498 1728.0907&lt;br /&gt;
  3  4.2749 -  3.7345   [1499/1499] 80.1%    1499 91.6%   1499 42.5% 26.7% 34.5% 0.684 430.028 1556.6316&lt;br /&gt;
  4  3.7345 -  3.3930   [1497/1497] 80.5%    1497 90.3%   1497 37.9% 27.2% 29.9% 0.846 481.795  600.5001&lt;br /&gt;
  5  3.3930 -  3.1498   [1477/1477] 84.2%    1477 90.0%   1477 37.2% 26.4% 31.4% 0.838 477.825  269.5784&lt;br /&gt;
  6  3.1498 -  2.9641   [1492/1492] 80.0%    1492 91.5%   1492 39.8% 28.6% 28.3% 0.866 511.386  165.9517&lt;br /&gt;
  7  2.9641 -  2.8156   [1483/1483] 76.7%    1483 90.0%   1483 39.3% 28.7% 30.1% 0.865 470.331  102.0659&lt;br /&gt;
  8  2.8156 -  2.6930   [1451/1451] 76.8%    1451 90.7%   1451 38.5% 28.2% 27.3% 0.883 492.758  88.6666&lt;br /&gt;
  9  2.6930 -  2.5894   [1532/1532] 76.6%    1532 89.4%   1532 40.1% 29.3% 30.5% 0.879 452.831  52.0092&lt;br /&gt;
 10  2.5894 -  2.5000   [1472/1472] 77.2%    1472 88.9%   1474 42.9% 31.4% 35.3% 0.801 393.866  52.6667&lt;br /&gt;
&lt;br /&gt;
All                   [14893/14893] 84.7%   14893 88.6%  14889 41.6% 29.0% 39.8% 0.771 378.964   804.8&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Table of results ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Details&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| scale only&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| refine scale, B, rotx,roty&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| analytical derivatives&amp;lt;br&amp;gt;better convergence test&amp;lt;br&amp;gt;Flex database&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.470&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2: LBFGS &amp;lt;br&amp;gt; LevMar to refine Rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.504&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Use mtz from the first cycle&amp;lt;br&amp;gt;as a scaling reference&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3973 (3700)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (55.5%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.6% (87.0%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.509&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Useful:&lt;br /&gt;
 export BOOST_ADAPTBX_FPE_DEFAULT=1&lt;br /&gt;
 nproc=1&lt;br /&gt;
 postrefinement.show_trumpet_plot=True&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1419</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1419"/>
		<updated>2017-02-17T17:17:44Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].  Literature description is in the [http://dx.doi.org/10.1038/nmeth.2887 Hattne (2014)], the PRIME paper, the Sauter (2014) and Sauter (2015) papers.&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
 phenix.xtriage ${tag}_s0_mark0.mtz scaling.input.xray_data.obs_labels=imean&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cxi.xmerge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                      CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861   [1490/1490] 87.3%    1490 88.1%   1484 46.3% 32.9% 42.6% 0.772 300.328 8084.8580&lt;br /&gt;
  2  5.3861 -  4.2749   [1500/1500] 76.4%    1500 89.3%   1500 43.8% 30.6% 34.5% 0.761 425.498 1728.0907&lt;br /&gt;
  3  4.2749 -  3.7345   [1499/1499] 80.1%    1499 91.6%   1499 42.5% 26.7% 34.5% 0.684 430.028 1556.6316&lt;br /&gt;
  4  3.7345 -  3.3930   [1497/1497] 80.5%    1497 90.3%   1497 37.9% 27.2% 29.9% 0.846 481.795  600.5001&lt;br /&gt;
  5  3.3930 -  3.1498   [1477/1477] 84.2%    1477 90.0%   1477 37.2% 26.4% 31.4% 0.838 477.825  269.5784&lt;br /&gt;
  6  3.1498 -  2.9641   [1492/1492] 80.0%    1492 91.5%   1492 39.8% 28.6% 28.3% 0.866 511.386  165.9517&lt;br /&gt;
  7  2.9641 -  2.8156   [1483/1483] 76.7%    1483 90.0%   1483 39.3% 28.7% 30.1% 0.865 470.331  102.0659&lt;br /&gt;
  8  2.8156 -  2.6930   [1451/1451] 76.8%    1451 90.7%   1451 38.5% 28.2% 27.3% 0.883 492.758  88.6666&lt;br /&gt;
  9  2.6930 -  2.5894   [1532/1532] 76.6%    1532 89.4%   1532 40.1% 29.3% 30.5% 0.879 452.831  52.0092&lt;br /&gt;
 10  2.5894 -  2.5000   [1472/1472] 77.2%    1472 88.9%   1474 42.9% 31.4% 35.3% 0.801 393.866  52.6667&lt;br /&gt;
&lt;br /&gt;
All                   [14893/14893] 84.7%   14893 88.6%  14889 41.6% 29.0% 39.8% 0.771 378.964   804.8&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Table of results ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Details&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| scale only&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| refine scale, B, rotx,roty&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| analytical derivatives&amp;lt;br&amp;gt;better convergence test&amp;lt;br&amp;gt;Flex database&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.470&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2: LBFGS &amp;lt;br&amp;gt; LevMar to refine Rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.504&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Use mtz from the first cycle&amp;lt;br&amp;gt;as a scaling reference&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3973 (3700)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (55.5%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.6% (87.0%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.509&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Useful:&lt;br /&gt;
 export BOOST_ADAPTBX_FPE_DEFAULT=1&lt;br /&gt;
 nproc=1&lt;br /&gt;
 postrefinement.show_trumpet_plot=True&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1418</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1418"/>
		<updated>2017-02-17T16:50:17Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
 phenix.xtriage ${tag}_s0_mark0.mtz scaling.input.xray_data.obs_labels=imean&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cxi.xmerge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                      CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861   [1490/1490] 87.3%    1490 88.1%   1484 46.3% 32.9% 42.6% 0.772 300.328 8084.8580&lt;br /&gt;
  2  5.3861 -  4.2749   [1500/1500] 76.4%    1500 89.3%   1500 43.8% 30.6% 34.5% 0.761 425.498 1728.0907&lt;br /&gt;
  3  4.2749 -  3.7345   [1499/1499] 80.1%    1499 91.6%   1499 42.5% 26.7% 34.5% 0.684 430.028 1556.6316&lt;br /&gt;
  4  3.7345 -  3.3930   [1497/1497] 80.5%    1497 90.3%   1497 37.9% 27.2% 29.9% 0.846 481.795  600.5001&lt;br /&gt;
  5  3.3930 -  3.1498   [1477/1477] 84.2%    1477 90.0%   1477 37.2% 26.4% 31.4% 0.838 477.825  269.5784&lt;br /&gt;
  6  3.1498 -  2.9641   [1492/1492] 80.0%    1492 91.5%   1492 39.8% 28.6% 28.3% 0.866 511.386  165.9517&lt;br /&gt;
  7  2.9641 -  2.8156   [1483/1483] 76.7%    1483 90.0%   1483 39.3% 28.7% 30.1% 0.865 470.331  102.0659&lt;br /&gt;
  8  2.8156 -  2.6930   [1451/1451] 76.8%    1451 90.7%   1451 38.5% 28.2% 27.3% 0.883 492.758  88.6666&lt;br /&gt;
  9  2.6930 -  2.5894   [1532/1532] 76.6%    1532 89.4%   1532 40.1% 29.3% 30.5% 0.879 452.831  52.0092&lt;br /&gt;
 10  2.5894 -  2.5000   [1472/1472] 77.2%    1472 88.9%   1474 42.9% 31.4% 35.3% 0.801 393.866  52.6667&lt;br /&gt;
&lt;br /&gt;
All                   [14893/14893] 84.7%   14893 88.6%  14889 41.6% 29.0% 39.8% 0.771 378.964   804.8&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Table of results ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Details&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| scale only&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| refine scale, B, rotx,roty&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| analytical derivatives&amp;lt;br&amp;gt;better convergence test&amp;lt;br&amp;gt;Flex database&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.470&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2: LBFGS &amp;lt;br&amp;gt; LevMar to refine Rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.504&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Use mtz from the first cycle&amp;lt;br&amp;gt;as a scaling reference&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3973 (3700)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (55.5%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.6% (87.0%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.509&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Useful:&lt;br /&gt;
 export BOOST_ADAPTBX_FPE_DEFAULT=1&lt;br /&gt;
 nproc=1&lt;br /&gt;
 postrefinement.show_trumpet_plot=True&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1417</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1417"/>
		<updated>2017-02-17T16:42:15Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
 phenix.xtriage ${tag}_s0_mark0.mtz scaling.input.xray_data.obs_labels=imean&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cxi.xmerge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                      CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861   [1490/1490] 87.3%    1490 88.1%   1484 46.3% 32.9% 42.6% 0.772 300.328 8084.8580&lt;br /&gt;
  2  5.3861 -  4.2749   [1500/1500] 76.4%    1500 89.3%   1500 43.8% 30.6% 34.5% 0.761 425.498 1728.0907&lt;br /&gt;
  3  4.2749 -  3.7345   [1499/1499] 80.1%    1499 91.6%   1499 42.5% 26.7% 34.5% 0.684 430.028 1556.6316&lt;br /&gt;
  4  3.7345 -  3.3930   [1497/1497] 80.5%    1497 90.3%   1497 37.9% 27.2% 29.9% 0.846 481.795  600.5001&lt;br /&gt;
  5  3.3930 -  3.1498   [1477/1477] 84.2%    1477 90.0%   1477 37.2% 26.4% 31.4% 0.838 477.825  269.5784&lt;br /&gt;
  6  3.1498 -  2.9641   [1492/1492] 80.0%    1492 91.5%   1492 39.8% 28.6% 28.3% 0.866 511.386  165.9517&lt;br /&gt;
  7  2.9641 -  2.8156   [1483/1483] 76.7%    1483 90.0%   1483 39.3% 28.7% 30.1% 0.865 470.331  102.0659&lt;br /&gt;
  8  2.8156 -  2.6930   [1451/1451] 76.8%    1451 90.7%   1451 38.5% 28.2% 27.3% 0.883 492.758  88.6666&lt;br /&gt;
  9  2.6930 -  2.5894   [1532/1532] 76.6%    1532 89.4%   1532 40.1% 29.3% 30.5% 0.879 452.831  52.0092&lt;br /&gt;
 10  2.5894 -  2.5000   [1472/1472] 77.2%    1472 88.9%   1474 42.9% 31.4% 35.3% 0.801 393.866  52.6667&lt;br /&gt;
&lt;br /&gt;
All                   [14893/14893] 84.7%   14893 88.6%  14889 41.6% 29.0% 39.8% 0.771 378.964   804.8&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Table of results ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Details&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| scale only&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| refine scale, B, rotx,roty&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| analytical derivatives&amp;lt;br&amp;gt;better convergence test&amp;lt;br&amp;gt;Flex database&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.470&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2: LBFGS &amp;lt;br&amp;gt; LevMar to refine Rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.504&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Use mtz from the first cycle&amp;lt;br&amp;gt;as a scaling reference&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3973 (3700)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (55.5%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.6% (87.0%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.509&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1416</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1416"/>
		<updated>2017-02-17T16:26:04Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cxi.xmerge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                      CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
  1 -1.0000 -  5.3861   [1490/1490] 87.3%    1490 88.1%   1484 46.3% 32.9% 42.6% 0.772 300.328 8084.8580&lt;br /&gt;
  2  5.3861 -  4.2749   [1500/1500] 76.4%    1500 89.3%   1500 43.8% 30.6% 34.5% 0.761 425.498 1728.0907&lt;br /&gt;
  3  4.2749 -  3.7345   [1499/1499] 80.1%    1499 91.6%   1499 42.5% 26.7% 34.5% 0.684 430.028 1556.6316&lt;br /&gt;
  4  3.7345 -  3.3930   [1497/1497] 80.5%    1497 90.3%   1497 37.9% 27.2% 29.9% 0.846 481.795  600.5001&lt;br /&gt;
  5  3.3930 -  3.1498   [1477/1477] 84.2%    1477 90.0%   1477 37.2% 26.4% 31.4% 0.838 477.825  269.5784&lt;br /&gt;
  6  3.1498 -  2.9641   [1492/1492] 80.0%    1492 91.5%   1492 39.8% 28.6% 28.3% 0.866 511.386  165.9517&lt;br /&gt;
  7  2.9641 -  2.8156   [1483/1483] 76.7%    1483 90.0%   1483 39.3% 28.7% 30.1% 0.865 470.331  102.0659&lt;br /&gt;
  8  2.8156 -  2.6930   [1451/1451] 76.8%    1451 90.7%   1451 38.5% 28.2% 27.3% 0.883 492.758  88.6666&lt;br /&gt;
  9  2.6930 -  2.5894   [1532/1532] 76.6%    1532 89.4%   1532 40.1% 29.3% 30.5% 0.879 452.831  52.0092&lt;br /&gt;
 10  2.5894 -  2.5000   [1472/1472] 77.2%    1472 88.9%   1474 42.9% 31.4% 35.3% 0.801 393.866  52.6667&lt;br /&gt;
&lt;br /&gt;
All                   [14893/14893] 84.7%   14893 88.6%  14889 41.6% 29.0% 39.8% 0.771 378.964   804.8&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Table of results ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Details&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| scale only&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| refine scale, B, rotx,roty&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| analytical derivatives&amp;lt;br&amp;gt;better convergence test&amp;lt;br&amp;gt;Flex database&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.470&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2: LBFGS &amp;lt;br&amp;gt; LevMar to refine Rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.504&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Use mtz from the first cycle&amp;lt;br&amp;gt;as a scaling reference&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3973 (3700)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (55.5%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.6% (87.0%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.509&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1415</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1415"/>
		<updated>2017-02-17T16:23:18Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Fine tuning */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Table of results ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Details&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| scale only&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| refine scale, B, rotx,roty&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| analytical derivatives&amp;lt;br&amp;gt;better convergence test&amp;lt;br&amp;gt;Flex database&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.470&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2: LBFGS &amp;lt;br&amp;gt; LevMar to refine Rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.504&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Use mtz from the first cycle&amp;lt;br&amp;gt;as a scaling reference&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3973 (3700)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (55.5%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.6% (87.0%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.509&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1414</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1414"/>
		<updated>2017-02-17T16:16:02Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Table of results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fine tuning ==&lt;br /&gt;
&lt;br /&gt;
postrefine rs.  cc1/2 = 84.7%&lt;br /&gt;
&lt;br /&gt;
trial1 rs2 unit-weighting lorentzian lineshape 88.2%&lt;br /&gt;
&lt;br /&gt;
trial 2 gaussian line shape 90.9%&lt;br /&gt;
&lt;br /&gt;
trial 3 gaussian rs_hybrid 93.5% only 4059 files accepted&lt;br /&gt;
&lt;br /&gt;
trial 4 extend to 2.0 angstrom 87.9% (but 97.8% on lowest shell)&lt;br /&gt;
&lt;br /&gt;
=== Table of results ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Details&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| scale only&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| refine scale, B, rotx,roty&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| analytical derivatives&amp;lt;br&amp;gt;better convergence test&amp;lt;br&amp;gt;Flex database&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.470&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2: LBFGS &amp;lt;br&amp;gt; LevMar to refine Rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.504&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;gentle weighting (|I|/sigma**2)&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Use mtz from the first cycle&amp;lt;br&amp;gt;as a scaling reference&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3973 (3700)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (55.5%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.6% (87.0%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.509&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1413</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1413"/>
		<updated>2017-02-17T16:11:26Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Table of results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fine tuning ==&lt;br /&gt;
&lt;br /&gt;
postrefine rs.  cc1/2 = 84.7%&lt;br /&gt;
&lt;br /&gt;
trial1 rs2 unit-weighting lorentzian lineshape 88.2%&lt;br /&gt;
&lt;br /&gt;
trial 2 gaussian line shape 90.9%&lt;br /&gt;
&lt;br /&gt;
trial 3 gaussian rs_hybrid 93.5% only 4059 files accepted&lt;br /&gt;
&lt;br /&gt;
trial 4 extend to 2.0 angstrom 87.9% (but 97.8% on lowest shell)&lt;br /&gt;
&lt;br /&gt;
=== Table of results ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Details&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| scale only&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| refine scale, B, rotx,roty&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| analytical derivatives&amp;lt;br&amp;gt;better convergence test&amp;lt;br&amp;gt;Flex database&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.470&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.504&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3973 (3700)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (55.5%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.6% (87.0%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.509&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1412</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1412"/>
		<updated>2017-02-17T16:03:42Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Table of results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fine tuning ==&lt;br /&gt;
&lt;br /&gt;
postrefine rs.  cc1/2 = 84.7%&lt;br /&gt;
&lt;br /&gt;
trial1 rs2 unit-weighting lorentzian lineshape 88.2%&lt;br /&gt;
&lt;br /&gt;
trial 2 gaussian line shape 90.9%&lt;br /&gt;
&lt;br /&gt;
trial 3 gaussian rs_hybrid 93.5% only 4059 files accepted&lt;br /&gt;
&lt;br /&gt;
trial 4 extend to 2.0 angstrom 87.9% (but 97.8% on lowest shell)&lt;br /&gt;
&lt;br /&gt;
=== Table of results ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files &amp;lt;br&amp;gt;accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test&amp;lt;br&amp;gt;(0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.470&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.504&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3973 (3700)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (55.5%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.6% (87.0%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.509&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1411</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1411"/>
		<updated>2017-02-17T16:03:06Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Table of results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fine tuning ==&lt;br /&gt;
&lt;br /&gt;
postrefine rs.  cc1/2 = 84.7%&lt;br /&gt;
&lt;br /&gt;
trial1 rs2 unit-weighting lorentzian lineshape 88.2%&lt;br /&gt;
&lt;br /&gt;
trial 2 gaussian line shape 90.9%&lt;br /&gt;
&lt;br /&gt;
trial 3 gaussian rs_hybrid 93.5% only 4059 files accepted&lt;br /&gt;
&lt;br /&gt;
trial 4 extend to 2.0 angstrom 87.9% (but 97.8% on lowest shell)&lt;br /&gt;
&lt;br /&gt;
=== Table of results ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test (0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.470&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.504&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3 / cycle2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3973 (3700)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (55.5%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.6% (87.0%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.509&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1410</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1410"/>
		<updated>2017-02-17T16:02:29Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Table of results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fine tuning ==&lt;br /&gt;
&lt;br /&gt;
postrefine rs.  cc1/2 = 84.7%&lt;br /&gt;
&lt;br /&gt;
trial1 rs2 unit-weighting lorentzian lineshape 88.2%&lt;br /&gt;
&lt;br /&gt;
trial 2 gaussian line shape 90.9%&lt;br /&gt;
&lt;br /&gt;
trial 3 gaussian rs_hybrid 93.5% only 4059 files accepted&lt;br /&gt;
&lt;br /&gt;
trial 4 extend to 2.0 angstrom 87.9% (but 97.8% on lowest shell)&lt;br /&gt;
&lt;br /&gt;
=== Table of results ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test (0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4721 (4416)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (69.6%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 90.9% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.470&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4059 (3783)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.5% (37.3%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 95.4% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.504&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3noprime&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs_hybrid&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;gaussian lineshape&amp;lt;br&amp;gt;recycle model&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 3973 (3700)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.3% (55.5%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 93.6% (87.0%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.509&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1409</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1409"/>
		<updated>2017-02-17T15:49:56Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Table of results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fine tuning ==&lt;br /&gt;
&lt;br /&gt;
postrefine rs.  cc1/2 = 84.7%&lt;br /&gt;
&lt;br /&gt;
trial1 rs2 unit-weighting lorentzian lineshape 88.2%&lt;br /&gt;
&lt;br /&gt;
trial 2 gaussian line shape 90.9%&lt;br /&gt;
&lt;br /&gt;
trial 3 gaussian rs_hybrid 93.5% only 4059 files accepted&lt;br /&gt;
&lt;br /&gt;
trial 4 extend to 2.0 angstrom 87.9% (but 97.8% on lowest shell)&lt;br /&gt;
&lt;br /&gt;
=== Table of results ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test (0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| nopost&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| no postrefinement&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4962 (4828)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 77.5% (66.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.0% (85.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.423&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719 (4458)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Barends, 2013 (SAD anomalous phasing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-22.html 22]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Barends, 2013 (SAD anomalous phasing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-22.html 22]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial4&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e157&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Hattne, 2014 (cctbx processing &amp;amp; weak Zn anomalous signal)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-23.html 23]&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e350&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| unpublished (illustrate CSPAD hi/lo gain settings)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1408</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1408"/>
		<updated>2017-02-17T15:41:57Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Table of results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fine tuning ==&lt;br /&gt;
&lt;br /&gt;
postrefine rs.  cc1/2 = 84.7%&lt;br /&gt;
&lt;br /&gt;
trial1 rs2 unit-weighting lorentzian lineshape 88.2%&lt;br /&gt;
&lt;br /&gt;
trial 2 gaussian line shape 90.9%&lt;br /&gt;
&lt;br /&gt;
trial 3 gaussian rs_hybrid 93.5% only 4059 files accepted&lt;br /&gt;
&lt;br /&gt;
trial 4 extend to 2.0 angstrom 87.9% (but 97.8% on lowest shell)&lt;br /&gt;
&lt;br /&gt;
=== Table of results ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| &amp;lt;|L|&amp;gt; test (0.5 perfect)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4942 (4650)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7% (77.2%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.6% (88.9%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.455&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5% (89.1%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 0.459&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Barends, 2013 (SAD anomalous phasing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-22.html 22]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Barends, 2013 (SAD anomalous phasing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-22.html 22]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial4&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e157&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Hattne, 2014 (cctbx processing &amp;amp; weak Zn anomalous signal)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-23.html 23]&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e350&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| unpublished (illustrate CSPAD hi/lo gain settings)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1407</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1407"/>
		<updated>2017-02-17T15:29:38Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Table of results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fine tuning ==&lt;br /&gt;
&lt;br /&gt;
postrefine rs.  cc1/2 = 84.7%&lt;br /&gt;
&lt;br /&gt;
trial1 rs2 unit-weighting lorentzian lineshape 88.2%&lt;br /&gt;
&lt;br /&gt;
trial 2 gaussian line shape 90.9%&lt;br /&gt;
&lt;br /&gt;
trial 3 gaussian rs_hybrid 93.5% only 4059 files accepted&lt;br /&gt;
&lt;br /&gt;
trial 4 extend to 2.0 angstrom 87.9% (but 97.8% on lowest shell)&lt;br /&gt;
&lt;br /&gt;
=== Table of results ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CCiso &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Boutet, 2012 (initial report)&amp;lt;br&amp;gt;Hattne, 2014 (cctbx reprocessing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7%&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| rs2&amp;lt;br&amp;gt;unit weighting&amp;lt;br&amp;gt;lorentzian lineshape&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 4719&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 88.2% (74.8%)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 89.5%% (89.1%)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Barends, 2013 (SAD anomalous phasing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-22.html 22]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Barends, 2013 (SAD anomalous phasing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-22.html 22]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial4&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e157&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Hattne, 2014 (cctbx processing &amp;amp; weak Zn anomalous signal)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-23.html 23]&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Method&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e350&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| unpublished (illustrate CSPAD hi/lo gain settings)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1406</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1406"/>
		<updated>2017-02-17T15:29:31Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== cxi.merge program output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
                                            &amp;lt;asu   &amp;lt;obs&lt;br /&gt;
Bin  Resolution Range  Completeness   %    multi&amp;gt; multi&amp;gt; n_meas   &amp;lt;I&amp;gt;    &amp;lt;I/sig(I)&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
  1   -1.000 - 5.386    [1490/1490] 100.00 102.21 102.21 152295   103994   103.244&lt;br /&gt;
  2    5.386 - 4.275    [1500/1500] 100.00  62.76  62.76  94141   128403    95.046&lt;br /&gt;
  3    4.275 - 3.735    [1499/1499] 100.00  53.90  53.90  80795   143552    92.607&lt;br /&gt;
  4    3.735 - 3.393    [1497/1497] 100.00  47.14  47.14  70571   112723    70.575&lt;br /&gt;
  5    3.393 - 3.150    [1477/1477] 100.00  43.96  43.96  64928    76925    51.011&lt;br /&gt;
  6    3.150 - 2.964    [1488/1488] 100.00  39.87  39.87  59330    57060    37.899&lt;br /&gt;
  7    2.964 - 2.816    [1483/1483] 100.00  38.17  38.17  56611    44079    32.085&lt;br /&gt;
  8    2.816 - 2.693    [1455/1455] 100.00  36.34  36.34  52874    37117    27.460&lt;br /&gt;
  9    2.693 - 2.589    [1530/1530] 100.00  34.49  34.49  52763    30496    24.443&lt;br /&gt;
 10    2.589 - 2.500    [1476/1476] 100.00  31.83  31.83  46974    27147    21.564&lt;br /&gt;
&lt;br /&gt;
All                   [14895/14895] 100.00  49.10  49.10 731282    76275    55.681&lt;br /&gt;
----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fine tuning ==&lt;br /&gt;
&lt;br /&gt;
postrefine rs.  cc1/2 = 84.7%&lt;br /&gt;
&lt;br /&gt;
trial1 rs2 unit-weighting lorentzian lineshape 88.2%&lt;br /&gt;
&lt;br /&gt;
trial 2 gaussian line shape 90.9%&lt;br /&gt;
&lt;br /&gt;
trial 3 gaussian rs_hybrid 93.5% only 4059 files accepted&lt;br /&gt;
&lt;br /&gt;
trial 4 extend to 2.0 angstrom 87.9% (but 97.8% on lowest shell)&lt;br /&gt;
&lt;br /&gt;
=== Table of results ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&amp;lt;br&amp;gt;rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Boutet, 2012 (initial report)&amp;lt;br&amp;gt;Hattne, 2014 (cctbx reprocessing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7%&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Boutet, 2012 (initial report)&amp;lt;br&amp;gt;Hattne, 2014 (cctbx reprocessing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-17.html 17]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Barends, 2013 (SAD anomalous phasing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-22.html 22]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Barends, 2013 (SAD anomalous phasing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-22.html 22]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial4&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e157&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Hattne, 2014 (cctbx processing &amp;amp; weak Zn anomalous signal)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-23.html 23]&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| &#039;&#039;&#039;[[LB67 Thermolysin]]&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e350&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| unpublished (illustrate CSPAD hi/lo gain settings)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1405</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1405"/>
		<updated>2017-02-17T15:21:26Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* List of Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== Fine tuning ==&lt;br /&gt;
&lt;br /&gt;
postrefine rs.  cc1/2 = 84.7%&lt;br /&gt;
&lt;br /&gt;
trial1 rs2 unit-weighting lorentzian lineshape 88.2%&lt;br /&gt;
&lt;br /&gt;
trial 2 gaussian line shape 90.9%&lt;br /&gt;
&lt;br /&gt;
trial 3 gaussian rs_hybrid 93.5% only 4059 files accepted&lt;br /&gt;
&lt;br /&gt;
trial 4 extend to 2.0 angstrom 87.9% (but 97.8% on lowest shell)&lt;br /&gt;
&lt;br /&gt;
=== Table of results ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Tag&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Resolution&amp;lt;br&amp;gt;(Angstrom)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| # files accepted&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CC1/2 &amp;lt;br&amp;gt; (highest shell)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| basic&amp;lt;br&amp;gt;rs&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Boutet, 2012 (initial report)&amp;lt;br&amp;gt;Hattne, 2014 (cctbx reprocessing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| 84.7%&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial1&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Boutet, 2012 (initial report)&amp;lt;br&amp;gt;Hattne, 2014 (cctbx reprocessing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-17.html 17]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial2&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Barends, 2013 (SAD anomalous phasing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-22.html 22]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial3&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | 2.5&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Barends, 2013 (SAD anomalous phasing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-22.html 22]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| trial4&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e157&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Hattne, 2014 (cctbx processing &amp;amp; weak Zn anomalous signal)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-23.html 23]&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| &#039;&#039;&#039;[[LB67 Thermolysin]]&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e350&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| unpublished (illustrate CSPAD hi/lo gain settings)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1404</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1404"/>
		<updated>2017-02-17T15:10:20Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Initial characterization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
 $ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== Fine tuning ==&lt;br /&gt;
&lt;br /&gt;
postrefine rs.  cc1/2 = 84.7%&lt;br /&gt;
&lt;br /&gt;
trial1 rs2 unit-weighting lorentzian lineshape 88.2%&lt;br /&gt;
&lt;br /&gt;
trial 2 gaussian line shape 90.9%&lt;br /&gt;
&lt;br /&gt;
trial 3 gaussian rs_hybrid 93.5% only 4059 files accepted&lt;br /&gt;
&lt;br /&gt;
trial 4 extend to 2.0 angstrom 87.9% (but 97.8% on lowest shell)&lt;br /&gt;
&lt;br /&gt;
== List of Examples ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| &amp;lt;big&amp;gt;Dataset&amp;lt;/big&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| File Paths&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Reference &amp;amp; purpose&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CXIDB&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| &#039;&#039;&#039;L220 Lysozyme&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e60&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Boutet, 2012 (initial report)&amp;lt;br&amp;gt;Hattne, 2014 (cctbx reprocessing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-17.html 17]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| &#039;&#039;&#039;[[Gd-Lysozyme]]&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e239&amp;lt;br&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e240&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Barends, 2013 (SAD anomalous phasing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-22.html 22]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| &#039;&#039;&#039;[[Gd-Lysozyme-psana]]&#039;&#039;&#039; &amp;lt;br&amp;gt;Tutorial revised for psana migration&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e239&amp;lt;br&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e240&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Barends, 2013 (SAD anomalous phasing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-22.html 22]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| &#039;&#039;&#039;[[L498 Thermolysin]]&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e157&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Hattne, 2014 (cctbx processing &amp;amp; weak Zn anomalous signal)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-23.html 23]&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| &#039;&#039;&#039;[[LB67 Thermolysin]]&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e350&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| unpublished (illustrate CSPAD hi/lo gain settings)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_Tutorials&amp;diff=1403</id>
		<title>2017 Tutorials</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_Tutorials&amp;diff=1403"/>
		<updated>2017-02-17T15:02:00Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Feb 16th */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Feb 16th =&lt;br /&gt;
&lt;br /&gt;
9:00am: Session 1&lt;br /&gt;
&lt;br /&gt;
Nick Sauter: Welcome and &amp;quot;Trials and tribulations merging still image data&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Aaron Brewster: &amp;quot;Metrology and non-isomorphism: hidden challenges in still image data reduction&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Axel Brunger: &amp;quot;Data processing of XFEL data from a limited number of crystals&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10:20am: Break&lt;br /&gt;
&lt;br /&gt;
10:40am: Session 2&lt;br /&gt;
&lt;br /&gt;
Art Lyubimov: &amp;quot;IOTA: Integration optimization, triage and analysis tool for XFEL data processing&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Monarin Uervirojnangkoorn:  &amp;quot;Up and Running with Prime&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Jacques-Philippe Colletier: &amp;quot;Mosquito larvicide BinAB revealed by de novo phasing with an X-ray laser&amp;quot;&lt;br /&gt;
&lt;br /&gt;
James Holton: &amp;quot;What if? Using at-scale image simulations to optimize data processing algorithms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Noon: Working Lunch - Roundtable discussion of data processing challenges&lt;br /&gt;
&lt;br /&gt;
1:00pm: Session 3&lt;br /&gt;
&lt;br /&gt;
Graeme Winter and Richard Gildea:  &amp;quot;DIALS - new methods for processing X-ray diffraction data&amp;quot;&lt;br /&gt;
&lt;br /&gt;
James Parkhurst: &amp;quot;Robust background modelling in the presence of outliers in DIALS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Jan Kern:  TBD&lt;br /&gt;
&lt;br /&gt;
Franklin Fuller:  &amp;quot;Drop-by-Drop Transient Serial Crystallography of Metalloenzymes at an X-ray free electron laser&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Iris Young:  &amp;quot;Room temperature studies of the oxygen-evolving complex of photosystem II using an X-ray free electron laser (XFEL)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
2:40pm: Break&lt;br /&gt;
&lt;br /&gt;
3:00pm: Session 4&lt;br /&gt;
&lt;br /&gt;
Aina Cohen: TBD&lt;br /&gt;
&lt;br /&gt;
Rahel Woldeyes:  &amp;quot;Using X-ray Free Electron lasers to visualize solvent in the M2 proton channel&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Danny Axford: &amp;quot;Highly efficient serial data collection from high-density fixed targets&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Christoph Mueller-Dieckmann: &amp;quot;Serial Synchrotron Crystallography at the ESRF using a high viscosity extruder&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Allen Orville:  TBD&lt;br /&gt;
&lt;br /&gt;
= Feb 17th =&lt;br /&gt;
&lt;br /&gt;
== 9am: Tutorials 1 ==&lt;br /&gt;
Aaron Brewster and Iris Young: cctbx.xfel&lt;br /&gt;
Break: 10:00 am&lt;br /&gt;
== 10:15 am: Tutorials 2 ==&lt;br /&gt;
* Aaron Brewster and James Parkhurst: dials.stills_process&lt;br /&gt;
* Art Lyubimov: IOTA&lt;br /&gt;
* Monarin Uervirojnangkoorn: [[2017_prime_tutorial | PRIME]]&lt;br /&gt;
* Nick Sauter: [[2017_cxi_merge_tutorial | cxi.merge]]&lt;br /&gt;
&lt;br /&gt;
== 12:15pm-2:30pm:  Round table discussion. == &lt;br /&gt;
Topics will include:&lt;br /&gt;
Is the current software meeting needs?&lt;br /&gt;
What are essential/timely avenues most useful for near-term development (first half of 2017)?&lt;br /&gt;
Where should we be going next (longer term future)?&lt;br /&gt;
Time resolved experiments?&lt;br /&gt;
Synchrotron serial crystallography?&lt;br /&gt;
== 2:30-4pm: Breakout sessions: ==&lt;br /&gt;
users work with developers and instructors on their own data.  Hands-on walkthroughs and data analysis.&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1373</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1373"/>
		<updated>2017-02-10T23:37:30Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Fine tuning */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
$ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
$ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== Fine tuning ==&lt;br /&gt;
&lt;br /&gt;
postrefine rs.  cc1/2 = 84.7%&lt;br /&gt;
&lt;br /&gt;
trial1 rs2 unit-weighting lorentzian lineshape 88.2%&lt;br /&gt;
&lt;br /&gt;
trial 2 gaussian line shape 90.9%&lt;br /&gt;
&lt;br /&gt;
trial 3 gaussian rs_hybrid 93.5% only 4059 files accepted&lt;br /&gt;
&lt;br /&gt;
trial 4 extend to 2.0 angstrom 87.9% (but 97.8% on lowest shell)&lt;br /&gt;
&lt;br /&gt;
== List of Examples ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| &amp;lt;big&amp;gt;Dataset&amp;lt;/big&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| File Paths&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Reference &amp;amp; purpose&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| CXIDB&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| &#039;&#039;&#039;L220 Lysozyme&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e60&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Boutet, 2012 (initial report)&amp;lt;br&amp;gt;Hattne, 2014 (cctbx reprocessing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-17.html 17]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| &#039;&#039;&#039;[[Gd-Lysozyme]]&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e239&amp;lt;br&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e240&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Barends, 2013 (SAD anomalous phasing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-22.html 22]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| &#039;&#039;&#039;[[Gd-Lysozyme-psana]]&#039;&#039;&#039; &amp;lt;br&amp;gt;Tutorial revised for psana migration&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e239&amp;lt;br&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e240&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Barends, 2013 (SAD anomalous phasing)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-22.html 22]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| &#039;&#039;&#039;[[L498 Thermolysin]]&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e157&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| Hattne, 2014 (cctbx processing &amp;amp; weak Zn anomalous signal)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| [http://cxidb.org/id-23.html 23]&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;padding: 10px;&amp;quot;| &#039;&#039;&#039;[[LB67 Thermolysin]]&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | &amp;lt;code&amp;gt;/reg/d/psdm/cxi/cxi84914/xtc/e350&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot;| unpublished (illustrate CSPAD hi/lo gain settings)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1372</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1372"/>
		<updated>2017-02-09T22:34:18Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* Fine tuning */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
$ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
$ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== Fine tuning ==&lt;br /&gt;
&lt;br /&gt;
postrefine rs.  cc1/2 = 84.7%&lt;br /&gt;
&lt;br /&gt;
trial1 rs2 unit-weighting lorentzian lineshape 88.2%&lt;br /&gt;
&lt;br /&gt;
trial 2 gaussian line shape 90.9%&lt;br /&gt;
&lt;br /&gt;
trial 3 gaussian rs_hybrid 93.5% only 4059 files accepted&lt;br /&gt;
&lt;br /&gt;
trial 4 extend to 2.0 angstrom 87.9% (but 97.8% on lowest shell)&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1371</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1371"/>
		<updated>2017-02-09T22:33:50Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
$ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
$ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;br /&gt;
&lt;br /&gt;
=== 3) Apply reindexing operators and merge ===&lt;br /&gt;
&lt;br /&gt;
== Fine tuning ==&lt;br /&gt;
&lt;br /&gt;
postrefine rs.  cc1/2 = 84.7%&lt;br /&gt;
trial1 rs2 unit-weighting lorentzian lineshape 88.2%&lt;br /&gt;
trial 2 gaussian line shape 90.9%&lt;br /&gt;
trial 3 gaussian rs_hybrid 93.5% only 4059 files accepted&lt;br /&gt;
trial 4 extend to 2.0 angstrom 87.9% (but 97.8% on lowest shell)&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1370</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1370"/>
		<updated>2017-02-09T20:57:23Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* 2) Sort the lattices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
$ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
$ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2503  h,-h-k,-1=2485  total 4988&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1369</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1369"/>
		<updated>2017-02-09T20:52:21Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* 1) Generate a database of observations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
$ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
$ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark1 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This yields 4988 of 5031 integration files accepted.&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2492  h,-h-k,-1=2506  total 4998&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1368</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1368"/>
		<updated>2017-02-09T20:41:54Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* 1) Generate a database of observations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
$ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
$ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
model=5m3s.pdb \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark0 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
scaling.show_plots=False \&lt;br /&gt;
scaling.log_cutoff=None \&lt;br /&gt;
scaling.mtz_column_F=iobs \&lt;br /&gt;
scaling.report_ML=True \&lt;br /&gt;
set_average_unit_cell=True \&lt;br /&gt;
rescale_with_average_cell=False \&lt;br /&gt;
significance_filter.apply=False \&lt;br /&gt;
significance_filter.min_ct=30 \&lt;br /&gt;
significance_filter.sigma=0.2 \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2492  h,-h-k,-1=2506  total 4998&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1367</id>
		<title>2017 cxi merge tutorial</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=2017_cxi_merge_tutorial&amp;diff=1367"/>
		<updated>2017-02-09T20:41:38Z</updated>

		<summary type="html">&lt;p&gt;Nicksauter: /* 2) Sort the lattices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This is an updated, worked example of data merging using cxi.merge, for presentation at the Feb 17, 2017 Berkeley Lab Serial Crystallography Workshop.  Previous documentation sets are [[Merging | here]] and [[Advanced Merging | here]].&lt;br /&gt;
&lt;br /&gt;
== Initial characterization ==&lt;br /&gt;
In this example, we are given integrated still-shot data collected by Danny Axford at Diamond, for P6 myoglobin, PDB code [http://www.rcsb.org/pdb/explore/explore.do?structureId=5M3S 5M3S].&lt;br /&gt;
&lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted # cctbx-style integration pickles &lt;br /&gt;
* /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted  # same data, with per-image resolution cutoff during integration&lt;br /&gt;
&lt;br /&gt;
Unix ls reveals 5031 *.pickle files in each directory. &lt;br /&gt;
&lt;br /&gt;
Immediately there is a problem:&lt;br /&gt;
&lt;br /&gt;
$ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/sig_filter/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
...fails on image 0059 with a traceback; it looks like the file is corrupted.&lt;br /&gt;
&lt;br /&gt;
So focus on the data without integration resolution cutoff:&lt;br /&gt;
&lt;br /&gt;
$ cxi.print_pickle /net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle&lt;br /&gt;
&lt;br /&gt;
Some conclusions with the aid of grep:&lt;br /&gt;
* all integration pickles have space group P6 (good)&lt;br /&gt;
* distance and beam center is fixed throughout the integrated dataset&lt;br /&gt;
* Unit cells are variable but do seem to cluster around 91.4 91.4 45.9 90 90 120&lt;br /&gt;
&lt;br /&gt;
 phenix.fetch_pdb --mtz 5m3s&lt;br /&gt;
&lt;br /&gt;
Merge command file:&lt;br /&gt;
 #!/bin/csh -f&lt;br /&gt;
 &lt;br /&gt;
 set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
 data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted/*.pickle \&lt;br /&gt;
 output.n_bins=10 \&lt;br /&gt;
 pixel_size=0.172 \&lt;br /&gt;
 backend=FS \&lt;br /&gt;
 nproc=1 \&lt;br /&gt;
 model=5m3s.pdb \&lt;br /&gt;
 merge_anomalous=True \&lt;br /&gt;
 plot_single_index_histograms=False \&lt;br /&gt;
 scaling.algorithm=mark0 \&lt;br /&gt;
 raw_data.sdfac_auto=False \&lt;br /&gt;
 scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
 scaling.show_plots=False \&lt;br /&gt;
 scaling.log_cutoff=None \&lt;br /&gt;
 scaling.mtz_column_F=i-obs \&lt;br /&gt;
 scaling.report_ML=True \&lt;br /&gt;
 set_average_unit_cell=True \&lt;br /&gt;
 rescale_with_average_cell=False \&lt;br /&gt;
 significance_filter.apply=True \&lt;br /&gt;
 significance_filter.min_ct=30 \&lt;br /&gt;
 significance_filter.sigma=0.2 \&lt;br /&gt;
 include_negatives=NEG \&lt;br /&gt;
 postrefinement.enable=True \&lt;br /&gt;
 postrefinement.algorithm=rs \&lt;br /&gt;
 output.prefix=TAG&amp;quot;&lt;br /&gt;
 set tag = p6m&lt;br /&gt;
 set dmin = 2.5&lt;br /&gt;
 set neg = True&lt;br /&gt;
 set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
 &lt;br /&gt;
 cxi.merge ${eff}&lt;br /&gt;
 exit&lt;br /&gt;
 cxi.xmerge ${eff}&lt;br /&gt;
&lt;br /&gt;
Initial trial nproc=1 just to see if it runs.  Had to fix PDB reference. Can&#039;t use *.pickle on the data= line&lt;br /&gt;
&lt;br /&gt;
Scale-up trial nproc=60, no postrefinement.&lt;br /&gt;
set the MTZ flag = jobs&lt;br /&gt;
  4493 of 5031 integration files were accepted&lt;br /&gt;
  0 rejected due to wrong Bravais group&lt;br /&gt;
  11 rejected for unit cell outliers&lt;br /&gt;
  22 rejected for low signal&lt;br /&gt;
  505 rejected due to up-front poor correlation under min_corr parameter&lt;br /&gt;
  0 rejected for file errors or no reindex matrix&lt;br /&gt;
Usage: 5m3s.mtz does not contain any observations labelled [fobs, imean, i-obs].  Please set scaling.mtz_column_F to one of [iobs].&lt;br /&gt;
  File &amp;quot;/net/viper/raid1/sauter/proj-e/modules/cctbx_project/xfel/cxi/util.py&amp;quot;, line 13, in is_odd_numbered&lt;br /&gt;
    return int(os.path.basename(file_name).split(allowable)[0][-1])%2==1&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &#039;d&#039;&lt;br /&gt;
&lt;br /&gt;
Something is wrong in the ability to determine even/odd numbered-ness.  Added &amp;quot;_extracted.pickle&amp;quot; in the code; had to put it first.&lt;br /&gt;
&lt;br /&gt;
Table of Scaling Results:&lt;br /&gt;
&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
                                       CC      N     CC     N     R     R     R   Scale  Scale    SpSig&lt;br /&gt;
 Bin  Resolution Range  Completeness  int    int    iso   iso    int  split  iso   int    iso      Test&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
   1 -1.0000 -  5.3861     [809/809] 80.0%     809 75.2%    805 61.0% 40.1% 52.9% 0.551 214.059 12489.8850&lt;br /&gt;
   2  5.3861 -  4.2749     [791/791] 54.9%     791 74.5%    791 53.0% 38.8% 49.7% 0.693 270.307 1785.4625&lt;br /&gt;
   3  4.2749 -  3.7345     [781/781] 65.8%     781 81.6%    781 46.5% 33.6% 40.7% 0.762 337.287 1149.4218&lt;br /&gt;
   4  3.7345 -  3.3930     [776/776] 63.9%     776 74.5%    776 49.3% 36.4% 48.6% 0.764 283.109  758.0388&lt;br /&gt;
   5  3.3930 -  3.1498     [765/765] 67.1%     765 81.9%    765 48.4% 35.6% 43.4% 0.795 338.091  533.7650&lt;br /&gt;
   6  3.1498 -  2.9641     [771/771] 58.6%     771 72.4%    771 49.3% 36.6% 50.7% 0.759 286.707  222.4718&lt;br /&gt;
   7  2.9641 -  2.8156     [765/765] 56.0%     765 72.3%    765 48.5% 35.3% 46.7% 0.765 320.954  154.5299&lt;br /&gt;
   8  2.8156 -  2.6930     [746/746] 63.0%     746 76.1%    746 46.4% 34.3% 42.6% 0.867 357.183  99.4430&lt;br /&gt;
   9  2.6930 -  2.5894     [790/790] 52.1%     790 69.4%    790 50.4% 37.4% 47.5% 0.814 314.326  113.1264&lt;br /&gt;
  10  2.5894 -  2.5000     [757/757] 54.9%     757 78.6%    757 52.4% 38.9% 44.4% 0.794 306.403  109.0768&lt;br /&gt;
 &lt;br /&gt;
 All                     [7751/7751] 74.9%    7751 78.8%   7747 51.9% 36.9% 50.1% 0.680 266.538   1298.0&lt;br /&gt;
 ---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Of course we know the data do not scale because this is a polar space group, and data must be sorted by Brehm/Diederichs method.&lt;br /&gt;
&lt;br /&gt;
== Breaking the indexing ambiguity ==&lt;br /&gt;
&lt;br /&gt;
Take note of our detail instructions on [[Resolving an Indexing Ambiguity]].  Do this in three steps:&lt;br /&gt;
&lt;br /&gt;
=== 1) Generate a database of observations ===&lt;br /&gt;
&lt;br /&gt;
step1.csh:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
data=/net/dials/raid1/aaron/zurich0038/jr_006_batches/split_reintegrated/extracted \&lt;br /&gt;
output.n_bins=10 \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
model=5m3s.pdb \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
plot_single_index_histograms=False \&lt;br /&gt;
scaling.algorithm=mark0 \&lt;br /&gt;
raw_data.sdfac_auto=False \&lt;br /&gt;
scaling.mtz_file=5m3s.mtz \&lt;br /&gt;
scaling.show_plots=False \&lt;br /&gt;
scaling.log_cutoff=None \&lt;br /&gt;
scaling.mtz_column_F=iobs \&lt;br /&gt;
scaling.report_ML=True \&lt;br /&gt;
set_average_unit_cell=True \&lt;br /&gt;
rescale_with_average_cell=False \&lt;br /&gt;
significance_filter.apply=True \&lt;br /&gt;
significance_filter.min_ct=30 \&lt;br /&gt;
significance_filter.sigma=0.2 \&lt;br /&gt;
include_negatives=NEG \&lt;br /&gt;
postrefinement.enable=False \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 2.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.merge ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2) Sort the lattices ===&lt;br /&gt;
&lt;br /&gt;
step2.csh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/csh -f&lt;br /&gt;
&lt;br /&gt;
set effective_params = &amp;quot;d_min=DMIN \&lt;br /&gt;
pixel_size=0.172 \&lt;br /&gt;
target_unit_cell=91.4,91.4,45.9,90,90,120 \&lt;br /&gt;
target_space_group=P6 \&lt;br /&gt;
backend=FS \&lt;br /&gt;
nproc=60 \&lt;br /&gt;
merge_anomalous=True \&lt;br /&gt;
output.prefix=TAG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set tag = p6m&lt;br /&gt;
set dmin = 3.5&lt;br /&gt;
set neg = False&lt;br /&gt;
set eff = `echo $effective_params|sed -e &amp;quot;s,FS,Flex,g&amp;quot;|sed -e &amp;quot;s,DMIN,$dmin,g&amp;quot;|sed -e &amp;quot;s,NEG,$neg,g&amp;quot;|sed -e &amp;quot;s,TAG,$tag,g&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
cxi.brehm_diederichs ${eff}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BOOST crash--floating point error&lt;br /&gt;
&lt;br /&gt;
^Z; kill %%&lt;br /&gt;
&lt;br /&gt;
Try using d_min 3.5 instead of 2.5--still crash&lt;br /&gt;
&lt;br /&gt;
Try using fewer proc; use 30 instead of 60. (increases problem size by 2**2=4) --still crash&lt;br /&gt;
&lt;br /&gt;
Try nproc=15&lt;br /&gt;
&lt;br /&gt;
It looks like the crash is associated with the matplotlib plot as I only experience it when I mouse-over the plot.&lt;br /&gt;
&lt;br /&gt;
setenv BOOST_ADAPTBX_FPE_DEFAULT 1&lt;br /&gt;
&lt;br /&gt;
14 plots total.  h,k,l=2492  h,-h-k,-1=2506  total 4998&lt;/div&gt;</summary>
		<author><name>Nicksauter</name></author>
	</entry>
</feed>