yes - prob. converted from lcf to mtz at some point..
Maybe on a VAX /

E

On Wed, 14 Nov 2018 at 10:46, Harry Powell <
0000193323b1e616-dmarc-requ...@jiscmail.ac.uk> wrote:

> Hi
>
> Okay, I can read that (sort of) with errors using a copy of mtzdmp from
> ccp4 v 5.0, dated 23/01/04; I can tell that Ben Luisi's name is in there
> (hello Ben!) and that the file was "converted to MTZ file mark 1 on 15/
> 5/92", inter alia. I can even tell that there are five columns and 17218
> reflections...
>
> Unfortunately, I get an error in reading the reflections themselves -
>
>  LIST OF REFLECTIONS
>  ===================
>
> >>>>>> CCP4 library signal library_file:Bad mode (Error)
>          raised in ccp4_file_readfloat <<<<<<
> >>>>>> System signal 22:Invalid argument (Error)
>          raised in ccp4_file_read <<<<<<
> <B><FONT COLOR="#FF0000"><!--SUMMARY_BEGIN-->
>  MTZDUMP:   Normal termination of mtzdump
> Times: User:       0.0s System:    0.0s Elapsed:     0:00
>
>
>
> My feeling is that all the discussion about VAXes etc may be irrelevant -
> in my view it's more likely that the programs for reading and writing the
> MTZ format changed (and the MTZ format itself changed as well) and are no
> longer capable of dealing with "MTZ file mark 1"...
>
> If I can actually get the VAXes to which I referred to read an old DAT
> tape, I may be able to build a copy of CCP4 from 1993... but that's a
> problem for another day (anyone got a SCSI DDS drive I could plug into a
> VAX?).
>
> On 14 Nov 2018, at 10:25, Eleanor Dodson wrote:
>
> Here is the file I was trying to read - please feel free to play with it!!
> Eleanor
>
> On Wed, 14 Nov 2018 at 10:17, Harry Powell <
> 0000193323b1e616-dmarc-requ...@jiscmail.ac.uk> wrote:
>
>> Hi
>>
>> Weren't the CCP4 base-level routines re-written from FORTRAN to C
>> sometime in the late 1990's? Very occasionally I used to find bugs that had
>> been introduced in this process (or possibly not corrected...) so it's
>> possible that Eleanor's file might be readable with a really old code base.
>>
>> BTW, I have recently had cause to search out a VMS system and have found
>> someone with a whole farm of running VAXes (or VAXen if you're geeky).
>>
>> Harry
>>
>> On 14 Nov 2018, at 09:46, Ian Tickle wrote:
>>
>> The CCP4 routines for MTZ and map files are written in C and thus do not
>> use a Fortran unformatted OPEN statement, they use C-style block read &
>> write.
>>
>> Cheers
>>
>> -- Ian
>>
>>
>> On Wed, 14 Nov 2018 at 08:59, Kay Diederichs <
>> kay.diederi...@uni-konstanz.de> wrote:
>>
>>> It is not necessary to do error-prone conversions manually: the ifort
>>> Compiler understands the convert='VAXD' Option in its OPEN statement - see
>>>
>>> https://software.intel.com/en-us/fortran-compiler-developer-guide-and-reference-open-convert-specifier
>>>
>>> Thus one could just write a tiny read-write loop.
>>>
>>> HTH
>>> Kay
>>>
>>> On Wed, 14 Nov 2018 00:51:02 +0000, Zhijie Li <zhijie...@utoronto.ca>
>>> wrote:
>>>
>>> >It's also said here, at the end of file :
>>> >
>>> >https://www.cs.auckland.ac.nz/~patrice/210LN/DR4.pdf
>>> >
>>> >"add 1 to the left, with the binary point"
>>> >
>>> >0.10000.....
>>> >
>>> >
>>> >
>>> >________________________________
>>> >From: CCP4 bulletin board <CCP4BB@JISCMAIL.AC.UK> on behalf of Zhijie
>>> Li <zhijie...@utoronto.ca>
>>> >Sent: Tuesday, November 13, 2018 7:43 PM
>>> >To: CCP4BB@JISCMAIL.AC.UK
>>> >Subject: Re: [ccp4bb] VERY old mtz file..
>>> >
>>> >
>>> >Hi all,
>>> >
>>> >
>>> >I think I know why it is a division of 4 instead of 2 is involved in
>>> conversion from VAX to IEEE now. Short answer: a 2 is in the exponent bits
>>> (bias of 128 instead of 127, visible), another 2 is hidden in the
>>> scientific notation.
>>> >
>>> >
>>> >I found this explanation+example on VAX F-float:
>>> >
>>> >http://courseweb.stthomas.edu/tpsturm/private/notes/qm300/FLOATPT.html
>>> >
>>> >
>>> >So for IEEE754 float32, if we want to represent a same 12.75 (1100.11)
>>> in the above example, we  would first conceptually write it in scientific
>>> notation as 1.10011 x 1000 in binary. Then the mantissa part is the part
>>> after the dot filled with zero to 23 bits: '10011000000000000000000', the
>>> exponent part is 3+127=130 (dec)=10000010(bin). Then the binary IEEE754
>>> float32 number is 0[10000010][10011000000000000000000]. (You can check it
>>> here: https://www.h-schmidt.net/FloatConverter/IEEE754.html)
>>> >
>>> >
>>> >Now compare this with the VAX 12.75 in the linked example, we can find
>>> that besides the bias becoming 128, the conceptual binary scientific
>>> notation is actually  0.110011 x 10000, instead of 1.10011 x 1000.  So the
>>> exponent needed is 4 instead of 3. Then the exponent bits are
>>> 4+128=132=10000100 and the VAX float32 becomes
>>> >
>>> >0[10000100][10011000000000000000000] ---if we write in a IEEE-style
>>> order. Note that the mantissa appears to be same as the ieee mantissa, and
>>> the exponent to be applied is 132-128=4. If this number is interpreted as
>>> IEEE754, then it will be 1.10011 x 2exp(132-127)=1.10011 x 100000, four
>>> times of what it should be.
>>> >
>>> >
>>> >So, for normalised values, rearranging the VAX F-float bytes, reading
>>> as IEEE, then dividing by 4 gives the correct value. (The C[0]-1 treatment
>>> in the ccp4 lib is neat.)
>>> >
>>> >
>>> >In this link describing VAX floats, it is unfortunate that it only
>>> states that the bias for F-float is 128, but not that the mantissa starts
>>> from 0.01 instead of 0.1. Therefore the confusion.
>>> >
>>> >https://nssdc.gsfc.nasa.gov/nssdc/formats/VAXFloatingPoint.htm
>>> >
>>> >
>>> >
>>> >Thanks to all responded!
>>> >
>>> >
>>> >Zhijie
>>> >
>>> >
>>> >________________________________
>>> >From: Ian Tickle <ianj...@gmail.com>
>>> >Sent: Tuesday, November 13, 2018 4:54 PM
>>> >To: Zhijie Li
>>> >Cc: CCP4BB@JISCMAIL.AC.UK
>>> >Subject: Re: [ccp4bb] VERY old mtz file..
>>> >
>>> >
>>> >Hi Zhijie
>>> >
>>> >It's definitely a factor 4.  The code is in subroutine QTIEEE in the
>>> Fortran source I mentioned previously at this line:
>>> >
>>> >See line:
>>> >
>>> >      A(I)=((A(I)+SIGN(2,A(I)))/4.AND..NOT.MNAN).OR.MDN2
>>> >
>>> >If you prefer it in C code it's in function vaxF2ieeeF in:
>>> >
>>> >ccp4-7.0-src/checkout/libccp4/ccp4/vmslibrary.c
>>> >
>>> >See line:
>>> >
>>> >out.c[0] = buffer[i].c[1] - (uint8)1; /* subtracts 2 from exponent */
>>> >
>>> >i.e. subtract 2 from exponent -> division by 4.
>>> >
>>> >Cheers
>>> >
>>> >-- Ian
>>> >
>>> >
>>> >On Tue, 13 Nov 2018 at 19:52, Zhijie Li <zhijie...@utoronto.ca<mailto:
>>> zhijie...@utoronto.ca>> wrote:
>>> >If somebody is going to send these files by email, please send one to
>>> me too. Thanks in advance. I actually prefer to get a MTZ file because the
>>> miller indices would serve as good clues for understanding the encodings.
>>> Even the first 1024 bytes of an MTZ would do (data array starts at byte 80
>>> in MTZ).
>>> >
>>> >In my life I had only seen ieee754.  According to what I can find, VAX
>>> has an exponent bias of 128 (ieee754 uses 127). Then it seems to me that
>>> when converting from vax to ieee a division of 2 is involved. However all
>>> procedures I have seen use a division of 4, which is quite puzzling to me.
>>> A real data file containing meaningful numbers (eg., HKL indices) would be
>>> very helpful. Thanks in advance.
>>> >
>>> >Zhijie
>>> >
>>> >> On Nov 13, 2018, at 2:21 PM, Johan Hattne <hat...@ucla.edu<mailto:
>>> hat...@ucla.edu>> wrote:
>>> >>
>>> >> Related by not exactly on topic: would anybody on the list be able to
>>> share old map files (not MTZ:s) with Convex, Cray, Fujitsu, or VAX
>>> reals/strings?  I�d be interested to see what those files actually look(ed)
>>> like.
>>> >>
>>> >> // Best wishes; Johan
>>> >>
>>> >>> On Nov 9, 2018, at 18:38, Zhijie Li <zhijie...@utoronto.ca<mailto:
>>> zhijie...@utoronto.ca>> wrote:
>>> >>>
>>> >>> Hi all,
>>> >>>
>>> >>> On linux there are a few good GUI HEX editors. Here I�d like to
>>> recommend BLESS, which conveniently displays all possible numerical
>>> interpretations of the four bytes under cursor. It also allows the user to
>>> switch between big endian or little endian through a checkbox.
>>> Unfortunately all floats are assumed to be IEEE754, therefore VAX floats
>>> won�t be interpreted correctly.  ( The simplest way to convert vax to ieee
>>> float would be to write a little program to do some bit operations. I�d be
>>> happy to take that as my weekend project)
>>> >>>
>>> >>>
>>> >>> BTW, along the line of space efficiency, I can�t help noticing that
>>> the miller indices are saved as float32 in mtz, as all other numbers in
>>> mtz. This certainly have made mtz format a beautiful homogeneous data
>>> format ;).  In this particular case, if we have doubts about the
>>> reliability of the machine stamp, trying to restore the miller indices
>>> would be a good way to test hypotheses.
>>> >>>
>>> >>> Zhijie
>>> >>>
>>> >>>> On Nov 9, 2018, at 9:04 PM, James Holton <
>>> 0000270165b9f4cf-dmarc-requ...@jiscmail.ac.uk<mailto:
>>> 0000270165b9f4cf-dmarc-requ...@jiscmail.ac.uk>> wrote:
>>> >>>>
>>> >>>> As a beamline scientist I must say I am glad that diffraction image
>>> data is not usually stored as ASCII text.  In fact, I am slowly warming to
>>> the idea of storing it as not just binary, but compressed formats.
>>> Problem, I'm sure will be that it won't be  long before we forget how to
>>> decompress them, as most of the algorithms we are using aren't all that
>>> widespread.  Probably around the same time future generations will curse us
>>> for using ASCII instead of unicode, which is a 16-bit standard. I'm sure we
>>> will be reviled for limiting ourselves so, just to save a factor of two in
>>> disk space.
>>> >>>> In situations like this I always use the unix "od" command.  It
>>> makes everything "human readable" by converting the bytes into strings you
>>> can read.  Then it is just a matter of figuring out what the bytes are.
>>> >>>> Unfortunately, "od" only decodes floats on the native platform, so
>>> if the mtz is from another platform (Windows vs Linux, for example), then
>>> you might need to do some swapping.  Thus far, I have encountered files
>>> that require one of a few swapping strategies in order to make them work:
>>> >>>>
>>> >>>> 1 2 3 4 - no swapping
>>> >>>>
>>> >>>> 4 3 2 1 - reverse all bytes
>>> >>>>
>>> >>>> 3 4 1 2 - swap words and swap bytes within the words
>>> >>>> 2 1 4 3 - reverse of previous
>>> >>>>
>>> >>>> 2-1 1 4 3 - same as last, but if not all zero, decrement byte #2
>>> before swapping
>>> >>>> 3 4 1 2+1 - same as 3412, but if not all zero increment byte #2
>>> before swapping
>>> >>>> I'm sure there are other combinations, but the oldest MTZ I have is
>>> only from 1996.
>>> >>>>
>>> >>>> -James Holton
>>> >>>> MAD Scientist
>>> >>>>
>>> >>>>
>>> >>>>> On 11/9/2018 4:47 AM, Eleanor Dodson wrote:
>>> >>>>> Anyone any idea what to do about this?? Created in 1992!!
>>> >>>>> Seems unreadable..
>>> >>>>>
>>> >>>>> No CTYP lines input for file:  1
>>> >>>>>    Indices output even if all data items flagged "missing"
>>> >>>>> Warning, NOT all LABOUT data lines given
>>> >>>>> Warning: Machine stamp corrupted? Assuming native format.
>>> >>>>>>>>>>> CCP4 library signal library_file:End of File (Error)
>>> >>>>>
>>> >>>>>
>>> >>>>> To unsubscribe from the CCP4BB list, click the following link:
>>> >>>>> https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=CCP4BB&A=1
>>> >>>>>
>>> >>>>
>>> >>>>
>>> >>>> To unsubscribe from the CCP4BB list, click the following link:
>>> >>>> https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=CCP4BB&A=1
>>> >>>>
>>> >>>
>>> >>> To unsubscribe from the CCP4BB list, click the following link:
>>> >>> https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=CCP4BB&A=1
>>> >>>
>>> >>
>>> >>          Research Specialist @ Gonen Lab
>>> >> ____________________________________________________
>>> >>      UCLA * 615 Charles E. Young Drive South
>>> >>         BSRB #347 * Los Angeles, CA 90095
>>> >>
>>> >>
>>> ########################################################################
>>> >>
>>> >> To unsubscribe from the CCP4BB list, click the following link:
>>> >> https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=CCP4BB&A=1
>>> >
>>> >########################################################################
>>> >
>>> >To unsubscribe from the CCP4BB list, click the following link:
>>> >https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=CCP4BB&A=1
>>> >
>>> >________________________________
>>> >
>>> >To unsubscribe from the CCP4BB list, click the following link:
>>> >https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=CCP4BB&A=1
>>> >
>>> >########################################################################
>>> >
>>> >To unsubscribe from the CCP4BB list, click the following link:
>>> >https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=CCP4BB&A=1
>>> >
>>>
>>> ########################################################################
>>>
>>> To unsubscribe from the CCP4BB list, click the following link:
>>> https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=CCP4BB&A=1
>>>
>>
>> ------------------------------
>>
>> To unsubscribe from the CCP4BB list, click the following link:
>> https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=CCP4BB&A=1
>>
>>
>>
>> ------------------------------
>>
>> To unsubscribe from the CCP4BB list, click the following link:
>> https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=CCP4BB&A=1
>>
>
> ------------------------------
>
> To unsubscribe from the CCP4BB list, click the following link:
> https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=CCP4BB&A=1
> <semioxyhb_tstate_BetaCobalt.mtz>
>
>
>
> ------------------------------
>
> To unsubscribe from the CCP4BB list, click the following link:
> https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=CCP4BB&A=1
>

########################################################################

To unsubscribe from the CCP4BB list, click the following link:
https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=CCP4BB&A=1

Reply via email to