Yes I have always been annoyed by that. I tend to use sftools to trim
and then rename the columns I want followed by mtz2various with
something along the lines of "labin FP=F SIGFP=SIGF FREE=FreeR" and then
finally edit the resulting text file to remove the header and all the
"FREE"'s as you did. It's always annoyed me that you have to do these
extra steps.
I have a conspiracy theory along the lines that no matter how user
friendly GUI's/crystallography programs may become, veteran
crystallographers will always make sure there are a couple little twists
just to show who's boss!
Simon
-----Original Message-----
From: CCP4 bulletin board [mailto:[log in to unmask]] On Behalf Of
Ian Tickle
Sent: 01 March 2007 18:18
To: [log in to unmask]
Subject: [ccp4bb] MTZ to Shel-X?
All, I thought this would be a simple task, but for the life of me I
can't see how to do it! All I want to do is convert an MTZ file to
Shel-X format for refinement. I thought it would take me 2 secs, but
it's taken me at least 5 attempts, and it's still not right!
First I tried mtz2various with this command line:
echo 'labi FP=F SIGFP=SIGF FREE=FreeR_flag\noutp shelx' | mtz2various
hklin 16294 hklout 16294.hkl
with 'HKLF 3' in my .ins file. This works fine, but then shelxl
complains with:
11112222333344444444555555556666
>> -48 0 27 37.49 19.74 -1<< ??
** REFLECTION 30 HAS WRONG FORMAT **
OK fair enough I should have read the Shel-X manual first, because it
appears that 'HKLF 3' doesn't accept free R flags, it has to be 'HKLF 4'
(i.e. I's not F's). So when all else fails read the mtz2various
documentation (at least read it more thoroughly):
* If only FP SIGFP or IP SIGIP are assigned on LABIN, then h k l FP
SIGFP or h k l IP SIGIP is output.
Great, precisely what I want! So for my second try let's go with:
echo 'labi IP=IMEAN SIGIP=SIGIMEAN FREE=FreeR_flag\noutp shelx' |
mtz2various hklin 16294 hklout 16294.hkl
but no:
Data line--- labi IP=IMEAN SIGIP=SIGIMEAN FREE=FreeR_flag
MtzParseLabin: neither label recognised: IP IMEAN
MTZ2VARIOUS: Error in label assignments in LABIN
Yet the output also says:
LABIN <program label>=<file label> ...
Valid program labels are: FP, SIGFP
and optionally FPH, SIGFPH, IP, SIGIP, FC, PHIC, W, FPART, PHIPART,
PHIB, FOM, HLA HLB HLC HLD FREE
My first thought was "I've got the IMEAN/SIGIMEAN label wrong", but no,
mtzdump says:
Col Sort Min Max Num % Mean Mean Resolution
Type Column
num order Missing complete abs. Low High
label
1 ASC -49 43 0 100.00 -8.7 18.6 48.75 1.33
H H
2 NONE 0 32 0 100.00 12.0 12.0 48.75 1.33
H K
3 NONE 0 41 0 100.00 15.7 15.7 48.75 1.33
H L
4 NONE 4.2 854.8 314 99.01 82.26 82.26 34.92 1.33
F F
5 NONE 0.7 241.2 314 99.01 3.38 3.38 34.92 1.33
Q SIGF
6 NONE -58.6 8600.6 314 99.01 146.23 146.25 34.92 1.33
J IMEAN
7 NONE 0.5 5370.6 314 99.01 5.88 5.88 34.92 1.33
Q SIGIMEAN
8 NONE 0.0 19.0 0 100.00 9.48 9.48 48.75 1.33
I FreeR_flag
Then I look further down in mtz2various.doc:
Input labels accepted are:
H, K, L Indices
FP, SIGFP F and Sigma for native
FPH, SIGFPH F and Sigma for derivative
FC, PHIC F and Phase from model
FPART, PHIPART F and Phase from partial structure
DP, SIGDP Anomalous difference and Sigma
I, SIGI I and Sigma
So OK, fair enough IP, SIGIP was a typo (happens all the time in CCP4
documentation!), so problem solved, for my third go let's try:
echo 'labi I=IMEAN SIGI=SIGIMEAN FREE=FreeR_flag\noutp shelx' |
mtz2various hklin 16294 hklout 16294.hkl
Yes it worked!!! or did it??? I see that the output file has "HKLF 3"
in the header, and when I read the log file I see: ****NB Amplitude
Output , flagged with HKLF 3 ***. No good, Shel-X won't take free R
flags with HKLF 3 - and I thought mtz2various.doc said that if I/SIGI
are assigned then I/SIGI are output? (which would make a lot of sense!).
Then I read in mtz2various.doc:
FSQUARED
If this flag is set, the program expects F and SIGF and will output
I
and SIGI: I = F*F, SIGI = 2*SIGF*F + SIGF*SIGF. These intensities
are
not necessarily the same as the measured intensities
(pre-TRUNCATE);
it is better to use the measured values if you have them.
I completely agree with the last sentence! - but how to make it read I's
and write I's?
So in desperation to get something working, my fourth go is with:
echo 'labi FP=F SIGFP=SIGF FREE=FreeR_flag\nfsqu\noutp shelx' |
mtz2various hklin 16294 hklout 16294.hkl
This works: a file in HKLF 4 format containing apparently I & SIGI is
produced, but again Shel-X complains:
11112222333344444444555555556666
>> -48 0 27 37.49 19.74 -1<< ??
** REFLECTION 30 HAS WRONG FORMAT **
Aaaargh - back to step 1!
So next I seek advice from a Shel-X user who says they've never seen the
"FREE" text at the end of the test reflection lines, e.g.:
-48 0 27 114.07 151.73 -1 FREE
and I say something along the lines of "don't be silly there's no way
the program would write it out like that if Shel-X didn't accept it" -
and just to prove to them how dumb their suggestion is I do a global
edit of the file, and of course it turns out they're quite right, and
technically it works - except of course that I is not the same as F^2 if
F has come from truncate (good thing I read the documentation!).
I see that mtz2various.doc says "You may still have trouble getting
exactly the output you want.". Maybe that's the answer I've been
seeking! - or I've missed something very obvious. I could of course
have knocked up a jiffy Fortran program in 5 mins to read h, k ,l, I,
SIGI, Rflag in one format and write out h, k, l, I, SIGI, Rflag in
another format (and I'll probably end up doing just that!), but pity
those users who are not programmers!
So what have I missed - any ideas?
-- Ian
Disclaimer
This communication is confidential and may contain privileged
information intended solely for the named addressee(s). It may not be
used or disclosed except for the purpose for which it has been sent. If
you are not the intended recipient you must not review, use, disclose,
copy, distribute or take any action in reliance upon it. If you have
received this communication in error, please notify Astex Therapeutics
Ltd by emailing [log in to unmask] and destroy all copies
of the message and any attached documents.
Astex Therapeutics Ltd monitors, controls and protects all its messaging
traffic in compliance with its corporate email policy. The Company
accepts no liability or responsibility for any onward transmission or
use of emails and attachments having left the Astex Therapeutics domain.
Unless expressly stated, opinions in this message are those of the
individual sender and not of Astex Therapeutics Ltd. The recipient
should check this email and any attachments for the presence of computer
viruses. Astex Therapeutics Ltd accepts no liability for damage caused
by any virus transmitted by this email. E-mail is susceptible to data
corruption, interception, unauthorized amendment, and tampering, Astex
Therapeutics Ltd only send and receive e-mails on the basis that the
Company is not liable for any such alteration or any consequences
thereof.
|