[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Reply to: [list | sender only]
Re: [ddlm-group] CIF-2 changes
- To: [email protected], Group finalising DDLm and associated dictionaries <[email protected]>
- Subject: Re: [ddlm-group] CIF-2 changes
- From: "Herbert J. Bernstein" <[email protected]>
- Date: Thu, 29 Oct 2009 07:31:02 -0400 (EDT)
- In-Reply-To: <C70E140F.12220%[email protected]>
- References: <C70E140F.12220%[email protected]>
I have no objection to Nick's approach. I would suggest a straw vote as
soon as possible, so that we can have move forward on coding. So to be as
specific as possible, here is what I think Nick is proposing:
1. All the bracketed constructs in a CIF be delimited by {}:
Lists: { ..., ... }
Tuples: { ..., ... }
Arrays: { ..., ... }
Tables: { key:value, key:value } with the distinctions among them
made primarily by the type specifications. Note that the key in a table
should be a quoted string.
2. That array dimensions in a CIF also be delimited by {} as in
{3} or {3,4}
3. That the same changes be made in dREL
(Nick, did I get that right?)
I can work with all of the above, and I suspect Nick is right about the
long-term value of consistency here, and reasonably strong typing does
tend to reduce coding errors. What do other people think?
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
[email protected]
=====================================================
On Wed, 28 Oct 2009, Nick Spadaccini wrote:
> The move away from [] lists to {} lists (thus overlapping with {}
> associative arrays) had to do with cleaning up the syntax under CIF-2.
>
> There are legacy issues with existing CIF data names with embedded [] which
> meant that using [ to initiate a list would come unstuck.
>
> Accordingly to simplify matters and to move forward, I proposed using {} to
> define lists or associative arrays. The complication to the parser is that
> you must start to look inside the object to determine which it is.
>
> That is CIF. dREL is a different matter but consistency is a good thing, so
> that it makes sense to keep the syntax the same as a CIF data file. Hence
> your transcription of the dREL code is correct. It makes my work a lot more
> difficult of course because until now I just called up a Python parser to
> handle almost all of dREL.
>
> Such is life.
>
>
> On 25/10/09 10:24 PM, "Herbert J. Bernstein" <[email protected]>
> wrote:
>
>> Dear Colleagues,
>>
>> Please take a look at the dictionaries I have drafted at
>>
>> http://vcif.sf.net/cif2_dicts
>>
>> and tell me if I am on the right track in trying to convert to CIF-2
>> format dictionaries. I have taken all the August 2008 () style tuples in
>> the upper level and converted them to October 2009 CIF-2 {} style lists.
>> I have not changed any array dimension specifications, e.g. [*], nor the
>> innards of any methods.
>>
>> Questions:
>>
>> 1. Should the dimensions be changed, e.g. from [3] to {3}?
>> 2. Should there be any changes in dREL methods themselves?
>>
>> For example consider:
>>
>> ======
>> save_function.SymEquiv
>> _definition.id 'function.SymEquiv'
>> _definition.update 2007-10-11
>> _description.text
>> ;
>> The function
>> xyz' = SymEquiv( symop, symcat, xyz )
>>
>> returns a fractional coordinate vector xyz' which is input vector
>> xyz transformed by the input symop 'n_pqr' applied to the symmetry
>> equivalent matrix extracted from the category symcat.
>> ;
>> _name.category_id function
>> _name.object_id SymEquiv
>> _type.purpose Assigned
>> _type.container Array
>> _type.contents Real
>> _type.dimension [3]
>> loop_
>> _method.purpose
>> _method.expression
>> Evaluation
>> ;
>> Function SymEquiv( c :[Single, Symop], # symop string n_pqr
>> l :[Category, Tag], # loop of symmetry matrices
>> x :[Array, Real] ) # fract coordinate vector
>> {
>> s = l [ SymKey( c ) ]
>>
>> SymEquiv = s.R * x + s.T + SymLat( c )
>> }
>> ;
>> save_
>> ======
>>
>> Should that remain the same, or should it be as follows
>>
>> ======
>> save_function.SymEquiv
>> _definition.id 'function.SymEquiv'
>> _definition.update 2007-10-11
>> _description.text
>> ;
>> The function
>> xyz' = SymEquiv( symop, symcat, xyz )
>>
>> returns a fractional coordinate vector xyz' which is input vector
>> xyz transformed by the input symop 'n_pqr' applied to the symmetry
>> equivalent matrix extracted from the category symcat.
>> ;
>> _name.category_id function
>> _name.object_id SymEquiv
>> _type.purpose Assigned
>> _type.container Array
>> _type.contents Real
>> _type.dimension {3}
>> loop_
>> _method.purpose
>> _method.expression
>> Evaluation
>> ;
>> Function SymEquiv( c :{Single, Symop}, # symop string n_pqr
>> l :{Category, Tag}, # loop of symmetry matrices
>> x :{Array, Real} ) # fract coordinate vector
>> {
>> s = l { SymKey( c ) }
>>
>> SymEquiv = s.R * x + s.T + SymLat( c )
>> }
>> ;
>> save_
>> ======
>>
>> 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
>> [email protected]
>> =====================================================
>>
>> _______________________________________________
>> ddlm-group mailing list
>> [email protected]
>> http://scripts.iucr.org/mailman/listinfo/ddlm-group
>
> cheers
>
> Nick
>
> --------------------------------
> Associate Professor N. Spadaccini, PhD
> School of Computer Science & Software Engineering
>
> The University of Western Australia t: +61 (0)8 6488 3452
> 35 Stirling Highway f: +61 (0)8 6488 1089
> CRAWLEY, Perth, WA 6009 AUSTRALIA w3: www.csse.uwa.edu.au/~nick
> MBDP M002
>
> CRICOS Provider Code: 00126G
>
> e: [email protected]
>
>
>
>
> _______________________________________________
> ddlm-group mailing list
> [email protected]
> http://scripts.iucr.org/mailman/listinfo/ddlm-group
>
_______________________________________________
ddlm-group mailing list
[email protected]
http://scripts.iucr.org/mailman/listinfo/ddlm-group
Reply to: [list | sender only]
- Follow-Ups:
- Re: [ddlm-group] CIF-2 changes (James Hester)
- References:
- Re: [ddlm-group] CIF-2 changes (Nick Spadaccini)
- Prev by Date: Re: [ddlm-group] CIF-2 changes
- Next by Date: Re: [ddlm-group] [THREAD 4] UTF8
- Prev by thread: Re: [ddlm-group] CIF-2 changes
- Next by thread: Re: [ddlm-group] CIF-2 changes
- Index(es):

