[Imgcif-l] CBF adds new lines to character data

Herbert J. Bernstein yaya at bernstein-plus-sons.com
Thu Oct 16 02:10:31 BST 2008


Dear Michael,

   The only reason we don't do it, is that nobody thought to
ask for it in CBFlib.  We have it in a separate utility called
CIFFOLD.  I'll add that into CBFlib when I get back from a talk
I am giving in Dubuque this weekend.  If you need it sooner,
the  is at

  http://www.bernstein-plus-sons.com/software/ciffold/

but that one is not prepared for the image portion of a CBF.
I'll merge it into CBFlib, so it is image aware.

   Regards,
     Herbert
=====================================================
  Herbert J. Bernstein, Professor of Computer Science
    Dowling College, Kramer Science Center, KSC 121
         Idle Hour Blvd, Oakdale, NY, 11769

                  +1-631-244-3035
                  yaya at dowling.edu
=====================================================

On Wed, 15 Oct 2008, Michael Blum wrote:

>
> Thanks Herb - I'll switch to using _widefile - that should solve my
> problem.
>
> But why doesn't cbflib "unfold" the lines again when it reads them?
> Isn't the point of
> escaping the extra newlines so they can be recognized and removed?
>
> Michael
>
>
> On Oct 15, 2008, at 6:32 PM, Herbert J. Bernstein wrote:
>
>> There are two flavors of CIF -- the original 80 character line
>> length CIFs that can be read by all parsers, and the newer 2048
>> character line length CIFS that can be read by most newer parsers.
>> CBFlib can handle either line length, but, if you are in the 80
>> character mode and give it longer lines, it folds them with the
>> backslash escape.  To avoid this, you need to tell it you want
>> to use the longer line length, using cbf_write_widefile rather
>> than cbf_write_file, and cbf_read_widefile instead of cbf_read_file.
>>
>> =====================================================
>>  Herbert J. Bernstein, Professor of Computer Science
>>    Dowling College, Kramer Science Center, KSC 121
>>         Idle Hour Blvd, Oakdale, NY, 11769
>>
>>                  +1-631-244-3035
>>                  yaya at dowling.edu
>> =====================================================
>>
>> On Wed, 15 Oct 2008, Michael Blum wrote:
>>
>>> Hi Herb et al,
>>>
>>> For testing our production of CBF files, I am converting our marccd
>>> frames to CBF,  converting the CBF back to marccd, and
>>> then doing a "diff" between the original and final marccd frame
>>> files.  All interactions with the CBF file and data are done using
>>> CBFlib.
>>>
>>> I am having trouble getting some string values  back intact.
>>>
>>> Long comments  (strings) that are written to the CBF using
>>> set_value()  get newlines  (or carriage returns) added to them in the
>>> CBF file.
>>> When the text is extracted again, using cbf_get_value(),  it has the
>>> extra newlines it.  The original strings may or may not have their
>>> own
>>> newlines.  The added newlines seem to be "escaped', using '\', but
>>> neither the escapes nor the  escaped newlines  get removed from the
>>> string.
>>>
>>> This a little more than just a cosmetic issue, as sometimes we have
>>> formatted text in the comments, with columns that line up and
>>> we would like to get the text back in a readable format.
>>>
>>>
>>> two real examples using CBFlib v0.7.9 on a redhat 5.2 linux box.
>>> ( BTW, CBFlib 0.7.9 writes "0.7.8" into the header prologue! )
>>>
>>> --------------------------------
>>> This is OK:
>>>
>>> C-string input:
>>> "file comments for a blank image on the marMosaic simulator with
>>> dummy
>>> values"
>>>
>>> CBF result:  (with cbf_set_value() )
>>> _diffrn_data_frame.details^M
>>> 'file comments for a blank image on the marMosaic simulator with
>>> dummy values'^M
>>> ^M
>>>
>>> C-string result of reading CBF:  (with cbf_get_value())
>>> "file comments for a blank image on the marMosaic simulator with
>>> dummy
>>> values"
>>> --------------------------------
>>> --------------------------------
>>> This is NOT OK:
>>>
>>> C-string input:
>>> "dataset comments for a blank image on the marMosaic simulator with
>>> dummy values"
>>>
>>> CBF result:  ( of cbf_set_value() )
>>> _diffrn_measurement.details^M
>>> ;\
>>> dataset comments for a blank image on the marMosaic simulator with\
>>> dummy values\
>>> ;
>>>
>>> C-string result of parsing CBF:  (with cbf_get_value())
>>> "\
>>> dataset comments for a blank image on the marMosaic simulator with\
>>> dummy values\"
>>>
>>> --------------------------------
>>>
>>>
>>>
>>> Note NEW Company name and email address!
>>> _______________
>>> Michael L. Blum                    Toll Free: 877-627-XRAY (627-9729)
>>> Rayonix, LLC                        Tel: 847-869-1548
>>> 1880 Oak Avenue                 Fax: 847-869-1587
>>> Evanston, IL  60201              Email: blum at rayonix.com
>>> USA                                       WWW: www.rayonix.com
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> imgcif-l mailing list
>>> imgcif-l at iucr.org
>>> http://scripts.iucr.org/mailman/listinfo/imgcif-l
>>>
>> _______________________________________________
>> imgcif-l mailing list
>> imgcif-l at iucr.org
>> http://scripts.iucr.org/mailman/listinfo/imgcif-l
>
>
> Note NEW Company name and email address!
> _______________
> Michael L. Blum                    Toll Free: 877-627-XRAY (627-9729)
> Rayonix, LLC                        Tel: 847-869-1548
> 1880 Oak Avenue                 Fax: 847-869-1587
> Evanston, IL  60201              Email: blum at rayonix.com
> USA                                       WWW: www.rayonix.com
>
>
>
>
>
> _______________________________________________
> imgcif-l mailing list
> imgcif-l at iucr.org
> http://scripts.iucr.org/mailman/listinfo/imgcif-l
>


More information about the imgcif-l mailing list