Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Oleksii Turkot
CrystFEL
Commits
7d097392
Commit
7d097392
authored
Jun 03, 2010
by
Thomas White
Browse files
Configure PDB filename for get_hkl and pattern_sim
parent
056de872
Changes
4
Hide whitespace changes
Inline
Side-by-side
src/get_hkl.c
View file @
7d097392
...
...
@@ -41,7 +41,9 @@ static void show_help(const char *s)
" --zone-axis Generate hk0 intensities only (and add
\n
"
" Synth2D-style header.
\n
"
" -i, --intensities=<file> Read intensities from file instead of
\n
"
" calculating them from scratch.
\n
"
" calculating them from scratch. You might use
\n
"
" this if you need to apply noise or twinning.
\n
"
" -p, --pdb=<file> PDB file from which to get the structure.
\n
"
);
}
...
...
@@ -114,6 +116,7 @@ int main(int argc, char *argv[])
unsigned
int
*
cts
;
char
*
input
=
NULL
;
signed
int
h
,
k
,
l
;
char
*
filename
=
NULL
;
/* Long options */
const
struct
option
longopts
[]
=
{
...
...
@@ -124,11 +127,12 @@ int main(int argc, char *argv[])
{
"twin"
,
0
,
&
config_twin
,
1
},
{
"zone-axis"
,
0
,
&
config_za
,
1
},
{
"intensities"
,
1
,
NULL
,
'i'
},
{
"pdb"
,
1
,
NULL
,
'p'
},
{
0
,
0
,
NULL
,
0
}
};
/* Short options */
while
((
c
=
getopt_long
(
argc
,
argv
,
"ht:o:i:"
,
longopts
,
NULL
))
!=
-
1
)
{
while
((
c
=
getopt_long
(
argc
,
argv
,
"ht:o:i:
p:
"
,
longopts
,
NULL
))
!=
-
1
)
{
switch
(
c
)
{
case
'h'
:
{
...
...
@@ -151,6 +155,11 @@ int main(int argc, char *argv[])
break
;
}
case
'p'
:
{
filename
=
strdup
(
optarg
);
break
;
}
case
0
:
{
break
;
}
...
...
@@ -162,10 +171,14 @@ int main(int argc, char *argv[])
}
mol
=
load_molecule
();
if
(
filename
==
NULL
)
{
filename
=
strdup
(
"molecule.pdb"
);
}
mol
=
load_molecule
(
filename
);
cts
=
new_list_count
();
if
(
input
==
NULL
)
{
ideal_ref
=
get_reflections
(
mol
,
eV_to_J
(
1790
.
0
),
1
/
(
0.
6
e-9
),
cts
);
ideal_ref
=
get_reflections
(
mol
,
eV_to_J
(
1790
.
0
),
1
/
(
0.
05
e-9
),
cts
);
}
else
{
ideal_ref
=
read_reflections
(
input
,
cts
);
free
(
input
);
...
...
src/pattern_sim.c
View file @
7d097392
...
...
@@ -41,6 +41,9 @@ static void show_help(const char *s)
"pulses of X-rays from a free electron laser.
\n
"
"
\n
"
" -h, --help Display this help message.
\n
"
" -p, --pdb=<file> PDB file from which to get the unit cell.
\n
"
" (The actual Bragg intensities come from the
\n
"
" intensities file)
\n
"
" --simulation-details Show technical details of the simulation.
\n
"
" --gpu Use the GPU to speed up the calculation.
\n
"
"
\n
"
...
...
@@ -166,6 +169,7 @@ int main(int argc, char *argv[])
int
config_nosfac
=
0
;
int
config_gpu
=
0
;
int
config_powder
=
0
;
char
*
filename
=
NULL
;
char
*
grad_str
=
NULL
;
GradientMethod
grad
;
int
ndone
=
0
;
/* Number of simulations done (images or not) */
...
...
@@ -189,11 +193,12 @@ int main(int argc, char *argv[])
{
"intensities"
,
1
,
NULL
,
'i'
},
{
"powder"
,
0
,
&
config_powder
,
1
},
{
"gradients"
,
1
,
NULL
,
'g'
},
{
"pdb"
,
1
,
NULL
,
'p'
},
{
0
,
0
,
NULL
,
0
}
};
/* Short options */
while
((
c
=
getopt_long
(
argc
,
argv
,
"hrn:i:g:"
,
longopts
,
NULL
))
!=
-
1
)
{
while
((
c
=
getopt_long
(
argc
,
argv
,
"hrn:i:g:
p:
"
,
longopts
,
NULL
))
!=
-
1
)
{
switch
(
c
)
{
case
'h'
:
{
...
...
@@ -221,6 +226,11 @@ int main(int argc, char *argv[])
break
;
}
case
'p'
:
{
filename
=
strdup
(
optarg
);
break
;
}
case
0
:
{
break
;
}
...
...
@@ -232,6 +242,10 @@ int main(int argc, char *argv[])
}
if
(
filename
==
NULL
)
{
filename
=
strdup
(
"molecule.pdb"
);
}
if
(
config_simdetails
)
{
show_details
();
return
0
;
...
...
@@ -282,7 +296,7 @@ int main(int argc, char *argv[])
image
.
width
=
1024
;
image
.
height
=
1024
;
image
.
lambda
=
ph_en_to_lambda
(
eV_to_J
(
1790
.
0
));
/* Wavelength */
cell
=
load_cell_from_pdb
(
"molecule.pdb"
);
cell
=
load_cell_from_pdb
(
filename
);
image
.
filename
=
NULL
;
#include
"geometry-lcls.tmp"
...
...
src/sfac.c
View file @
7d097392
...
...
@@ -311,7 +311,7 @@ static void centre_molecule(struct molecule *mol)
/* Load PDB file into a memory format suitable for efficient(ish) structure
* factor calculation */
struct
molecule
*
load_molecule
()
struct
molecule
*
load_molecule
(
const
char
*
filename
)
{
struct
molecule
*
mol
;
FILE
*
fh
;
...
...
@@ -327,7 +327,7 @@ struct molecule *load_molecule()
mol
->
reflections
=
NULL
;
mol
->
cell
=
NULL
;
fh
=
fopen
(
"molecule.pdb"
,
"r"
);
fh
=
fopen
(
filename
,
"r"
);
if
(
fh
==
NULL
)
{
ERROR
(
"Couldn't open PDB file
\n
"
);
return
NULL
;
...
...
src/sfac.h
View file @
7d097392
...
...
@@ -58,7 +58,7 @@ struct molecule
/* This is so that the water background calculation can use it */
extern
double
complex
get_sfac
(
const
char
*
n
,
double
s
,
double
en
);
extern
struct
molecule
*
load_molecule
(
void
);
extern
struct
molecule
*
load_molecule
(
const
char
*
filename
);
extern
void
free_molecule
(
struct
molecule
*
mol
);
extern
double
*
get_reflections
(
struct
molecule
*
mol
,
double
en
,
double
res
,
unsigned
int
*
counts
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment