[Ifeffit] artemis development in the near future

Matt Newville newville at cars.uchicago.edu
Thu Jul 29 12:15:09 CDT 2004


Hi Bruce,

Sorry for taking a few days to come back to this, but I do have 
a few comments on this plan even if most of the thread devolved 
into a discussion of current issues with Artemis....

First, the overall plan for a 'development' branch for artemis
seems OK to me.  Perhaps the principle questions for users are: 1)
will both 'stable' and 'development' be supported for bug fixes,
and 2) how quickly will developments be folded back into 'stable'.  
The main concern for me is that it will be too much work for you.
So, we all promise to forgive you if you give up on having two
different versions of artemis as too much work, and be patient
when the very nice features in the development version are slow to
make it into the stable version.

Second, making 'development' be source-only makes sense.  Windows
users interested in the development version could use ActiveState
perl and the current dlls, or cygwin (I am just coming back to
trying cygwin after several years, so I am not sure how easily it
will all work, but my understanding is that it can work). 

Third, your list of proposed developments seems OK to me.  I'd
guess that many of the listed features-to-add could be added to
'stable' without much chance of breaking other things.  But
artemis is a hard problem, and deciding that a partial or total
redesign is OK. Personally, I don't think you should rule fairly
dramatic changes (including asking more from Feff6 and Ifeffit)
just to get more features in Artemis.  None of the feature on your
list are more important than having a well-planned and -documented
internal structure that can last many years.

Fourth, separating horae into Athena and Artemis for development
might be OK - I can certainly understand that Athena seems done -
but might cause some problems or limitations too.  The first and
last item on your proposed list of changes (better atoms interface
and 'a bunch of internal changes') might benefit Athena too.

Another possible goal might be to make the horae perl modules more
"scripter friendly" so that others could use or add to the
components of Athena, Artemis, etc.  The Xray module with Atoms
was (and is) very useful, and I'd suspect that there would be
folks interested in using and contributing components, with the
CIF/PDB readers being a prime example:  I assume you'll rewrite
much of these contributions to fit your needs.  It might be better
to have components that make this and other developments easier.
And of course, making it so that others can write elaborate perl
programs based on your work would be highly useful.

I guess the two points I'm trying to make are that a development
branch is a good excuse to _really_ change (and break) things not
to just add a few features, and that a sound and documented
internal design cannot be overemphasized.

--Matt








More information about the Ifeffit mailing list