-
Notifications
You must be signed in to change notification settings - Fork 3
/
pipeline.sh
72 lines (61 loc) · 2.28 KB
/
pipeline.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# An example script for processing a fixed-target rotation-series dataset. The data used
# here can be downloaded at https://zenodo.org/record/6407157. You may need to alter
# option values for other datasets.
#SBATCH --account=<project_id>
#SBATCH --partition=main
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=1
#SBATCH --mem=8G
#SBATCH --time=1:00:00
FILE_INPUT_TEMPLATE="PATH/TO/DATA/e080_###.mccd"
# Import data
# You may need to change some of these values to match your data set
dials.import geometry.scan.oscillation=0,1 \
geometry.goniometer.axes=0,1,0 \
geometry.beam.wavelength=1.04 \
geometry.detector.panel.pixel=0.08854,0.08854 \
lookup.mask="pixels.mask" \
input.template=$FILE_INPUT_TEMPLATE
# Get a monochromatic geometry model
laue.find_spots imported.expt \
spotfinder.mp.nproc=8 \
spotfinder.threshold.dispersion.gain=0.35 \
spotfinder.filter.max_separation=10 \
lookup.mask="pixels.mask"
# Get a monochromatic geometry model
laue.index imported.expt strong.refl \
indexer.indexing.known_symmetry.space_group=19 \
indexer.indexing.refinement_protocol.mode=refine_shells \
indexer.refinement.parameterisation.auto_reduction.action=fix \
laue_output.index_only=False
# Split sequence into stills
laue.sequence_to_stills monochromatic.*
# Polychromatic pipeline
N=12 # Max multiprocessing
laue.optimize_indexing stills.* \
output.experiments="optimized.expt" \
output.reflections="optimized.refl" \
output.log="laue.optimize_indexing.log" \
wavelengths.lam_min=0.95 \
wavelengths.lam_max=1.15 \
reciprocal_grid.d_min=1.4 \
nproc=$N
N=8 # Max multiprocessing
laue.refine optimized.* \
output.experiments="poly_refined.expt" \
output.reflections="poly_refined.refl" \
output.log="laue.poly_refined.log" \
nproc=$N
laue.predict poly_refined.* \
output.reflections="predicted.refl" \
output.log="laue.predict.log" \
wavelengths.lam_min=0.95 \
wavelengths.lam_max=1.15 \
reciprocal_grid.d_min=1.4 \
nproc=$N
laue.integrate poly_refined.expt predicted.refl \
output.filename="integrated.mtz" \
output.log="laue.integrate.log" \
nproc=$N
# This is where laue_dials ends. The output file integrated.mtz can be merged in careless and refined in phenix to get a model