Copyright (C) 2005 Chaok Seok, Evangelos Coutsias, Matthew Jacobson and Ken Dill
                                                                                                                         
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
                                                                                                                         
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.
                                                                                                                         
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
------------------------------------------------------------------------------

This is an implementaion of the analytical loop closure algorithm
as described in

"A Kinematic View of Loop Closure",  E. A. Coutsias, C. Seok,
M. P. Jacobson, and K. A. Dill, Journal of Computational Chemistry,
Volume 25, Issue 4, Pages 510 - 528 (2004),

which solves a polynomial equation to find loop closure solutions.
This is a generalization of previously published algorithms
in that any rigid segments are allowed between the pairs of torsion 
angles. The angle perturbation schemes described in the paper are not
included in this distribution. The implementation here is not identical
to the one in the paper, but the differences are transparent to the user.

This program can be used to find loop structures involving six backbone
torsion angles given the position of the two atoms before
the loop and two atoms after the loop. For example, in the case of
protein, possible structures for a three residue gap can be found
given the coordinates of the N and CA atoms of the first residue and 
the CA ans C atoms of the third residue. Multiple conformations 
are generated in general.

Contact Chaok Seok <chaok@maxwell.ucsf.edu> 
     or Vageli Coutsias <vageli@math.unm.edu>
for any questions.
