diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..769122c --- /dev/null +++ b/Makefile @@ -0,0 +1,230 @@ +# Makefile for DRAGON-IV +# 27-Aug-1998. (c) Andras Aszodi + +# The directory layout is as follows:- +# +# dragon4: root to the whole project <--YOU ARE HERE +# | +# +-- src++: *.c++, *.h files for the C++ modules +# | +# +-- src: *.[ch] files for the C modules +# | +# +-- test: c++, *.[ch] files for the module test programs +# | +# +-- bin: objects,libraries,executables +# | | +# | +-- irix-o32: old 32-bit SGI ABI \ +# | | | +# | +-- irix-n32: new 32/64-bit SGI ABI | +# | | | +# | +-- irix-n64: new 64-bit SGI ABI | +# | | |-- $(ABI) directories +# | +-- solaris-sparc: GCC/Solaris SPARC | +# | | | +# | +-- solaris-i86 : GCC/Solaris x86 | +# | | | +# | +-- linux: GCC/Linux ABI / +# | | +# | +-- startup: C shell scripts for env var setup +# | +# +-> lib: root of the utility hierarchy (symlink to ~/lib) +# | +# +-- irix-o32: old 32-bit SGI ABI \ +# | | +# +-- irix-n32: new 32/64-bit SGI ABI | +# | | +# +-- irix-n64: new 64-bit SGI ABI | +# | |-- $(UTILS) directories +# +-- solaris-sparc: GCC/solaris SPARC | +# | | +# +-- solaris-i86 : GCC/Solaris x86 | +# | | +# +-- linux: GCC/Linux ABI / +# | +# +-- c: C source tree +# | | +# | +-- incl: header files (*.h) +# | | +# | +-- src: function definition files (*.c) +# | +# +-- cc: C++ source tree +# | +# +-- incl: non-template class header files (*.h) +# | +# +-- src: non-template function definition files (*.c++) +# | +# +-- tmpl: template declarations (*.h) and definitions (*.c++) + +# ---- GENERAL DEFINITIONS ---- + +VERSION=4.18.1 + +# The shell +SHELL = /bin/sh + +# Location of object files and executables +BIN = bin + +# Location of the utilities +LIB = lib + +# ---- ABI-DEPENDENT DEFINITIONS ---- + +# NOTE: this Makefile supports the maintenance of incompatible +# ABIs. Currently SGI o32,n32,n64,GCC/Linux, +# GCC/Solaris (SPARC and X86) are supported. +# The current workaround is to call another Makefile in 'bin' which +# carries out the compilation of individual objects and then performs +# the linking and puts the result into the appropriate subdirectory of 'bin'. +# The choice of the ABI depends on the value of the environment variable +# DRAGON_ABI, which is normally set by 'startup.csh'. This can be +# overridden manually (if compiling for all SGI ABIs, for example) +# by specifying the desired ABI on the make command line:- +# +# make "DRAGON_ABI=irix-n32" dragon +# +# will make DRAGON for the SGI N32 ABI. + +# The ABI-specific macros are in the include files "./lib/Makefile." +# and "./bin/Makefile.". The former contain general settings for +# all programs which use the "lib" utilities and will be included +# by the sub-Makefiles in both "lib" and "bin". The latter include files +# contain macros for the DRAGON package only and will be included +# by the sub-Makefile in "bin". +# When porting to a new architecture, new include files like these +# should be constructed. + +# ---- Explanation of macros ---- + +# The sub/Makefiles (one in "bin", the other in "lib") expect this +# macro to be set on the command line when invoked. +# ABI: selects the ABI directory +ABI = $(DRAGON_ABI) + +# ---- PROGRAMS ---- + +# List the program (target) names here. +PROGRAMS = dragon clumsy hbassign rank secmap sidech + +help: + @echo "Targets: " $(PROGRAMS) + @echo "ABI: " $(ABI) + +all: $(PROGRAMS) + +$(BIN)/$(ABI)/: + if ( [ ! -d $(BIN)/$(ABI) ] ) then mkdir -p $(BIN)/$(ABI); fi + +$(PROGRAMS): + if ( [ ! -d $(LIB)/$(ABI) ] ) then mkdir $(LIB)/$(ABI); fi + cd $(LIB)/$(ABI); $(MAKE) -f ../Makefile ABI='$(ABI)' all-c all-cc + if ( [ ! -d $(BIN)/$(ABI) ] ) then mkdir $(BIN)/$(ABI); fi + cd $(BIN)/$(ABI); $(MAKE) -f ../Makefile ABI='$(ABI)' VERSION='$(VERSION)' $@ + +# +# ---- MAKEFILES AND INSTALLATION SCRIPTS ---- +# + +# These are the various Makefiles which have something to do with DRAGON. +# Add a ./lib/Makefile. to LIBMAKEFILES for each architecture. +MAKEFILES = ./Makefile ./bin/Makefile +LIBMAKEFILES = ./lib/Makefile ./lib/Makefile.irix-o32 ./lib/Makefile.irix-n32 \ + ./lib/Makefile.irix-n64 ./lib/Makefile.linux \ + ./lib/Makefile.solaris-sparc ./lib/Makefile.solaris-i86 +BINMAKEFILES = ./bin/Makefile ./bin/Makefile.irix-o32 ./bin/Makefile.irix-n32 \ + ./bin/Makefile.irix-n64 ./bin/Makefile.linux \ + ./bin/Makefile.solaris-sparc ./bin/Makefile.solaris-i86 +INSTLOC = ./bin/startup +INSTSCRIPTS = startup-dev.csh \ + $(INSTLOC)/startup-irix-o32.csh \ + $(INSTLOC)/startup-irix-n32.csh \ + $(INSTLOC)/startup-irix-n64.csh \ + $(INSTLOC)/startup-linux.csh \ + $(INSTLOC)/startup-solaris-sparc.csh \ + $(INSTLOC)/startup-solaris-i86.csh + +# +# ---- DATA FILES ---- +# + +# Default data file directory +DATA = ./data + +# Default data files +DATAFILES = $(DATA)/DEFAULT.aln $(DATA)/DEFAULT.acd $(DATA)/DEFAULT.pho \ +$(DATA)/DEFAULT.par $(DATA)/DEFAULT.sim $(DATA)/pam120.sim $(DATA)/pam250.sim \ +$(DATA)/DEFAULT.vol + +# Example subdirectory +EXAMPLE = ./example + +# +# ---- DOCUMENTATION ---- +# + +# default document directory +DOC = ./doc +MAN = $(DOC)/man1 + +# documentation +DOCDISTR = README.txt $(DOC)/ug.html $(DOC)/dragon.gif $(DOC)/infoflow.gif \ + $(DOC)/sgilogo.gif $(DOC)/penguin.gif $(DOC)/sun.gif \ + $(DOC)/gradproj.gif $(DOC)/movie.gif $(MAN)/dragon.1 $(MAN)/hbassign.1 $(MAN)/sidech.1 +DOCFILES = $(DOCDISTR) + +# +# -------- HOUSEKEEPING ------ +# + +# srclib: saves the full DRAGON source except the test code in a tarfile. +# The full library source (which is not all needed) is also saved. + +# srcown: only the DRAGON source is saved (no library) + +# distr: makes a distribution. Saves all executables in ./bin and below, +# plus data files and selected items from the documentation. + +# Tarfile names and compression program +TAR_SRCLIB = dragon-srclib-$(VERSION).tar +TAR_SRCOWN = dragon-srcown-$(VERSION).tar +TAR_EXEC = dragon-$(VERSION) +COMPRESS = gzip +UNCOMPRESS = gunzip + +# Source directories +SRC_OWN = src++ src +SRC_LIB = lib/cc/tmpl lib/cc/incl lib/cc/src lib/c/incl lib/c/src +SRCDIRS = $(SRC_OWN) $(SRC_LIB) + +# Make the archives +# the GNU tar does not understand the '-' (read from stdin) argument +# the Emacs and Nedit backup files will be deleted +srclib-gnu: + find $(SRCDIRS) \( -name '*~' -o -name '*.bck' \) -exec rm {} \; + tar -cvBz -f $(TAR_SRCLIB).gz $(SRCDIRS) $(MAKEFILES) $(LIBMAKEFILES) $(BINMAKEFILES) $(INSTSCRIPTS) $(DATAFILES) $(EXAMPLE) $(DOCFILES) +srclib: + find $(SRCDIRS) \( -name '*~' -o -name '*.bck' \) -exec rm {} \; + find $(SRCDIRS) \( -name '*.[ch]' -o -name '*.c++' \) -follow \ + | tar cvBf $(TAR_SRCLIB) - + tar rvBf $(TAR_SRCLIB) $(MAKEFILES) $(LIBMAKEFILES) $(BINMAKEFILES) $(INSTSCRIPTS) $(DATAFILES) $(EXAMPLE) $(DOCFILES) + $(COMPRESS) $(TAR_SRCLIB) +srcown: + find $(SRCDIRS) \( -name '*~' -o -name '*.bck' \) -exec rm {} \; + find $(SRC_OWN) \( -name '*.[ch]' -o -name '*.c++' \) -follow \ + | tar cvBf $(TAR_SRCOWN) - + tar rvBf $(TAR_SRCOWN) $(MAKEFILES) $(INSTSCRIPTS) $(DATAFILES) $(EXAMPLE) $(DOCFILES) + $(COMPRESS) $(TAR_SRCOWN) + +distr: + cd $(BIN)/$(ABI); strip $(PROGRAMS) + tar cvBf $(TAR_EXEC)-$(ABI).tar `find $(BIN)/$(ABI) -type f -perm -100` + tar rvBf $(TAR_EXEC)-$(ABI).tar $(DATAFILES) $(EXAMPLE) $(DOCDISTR) $(INSTLOC)/startup-$(ABI).csh; $(COMPRESS) $(TAR_EXEC)-$(ABI).tar + +# cleanup: removes all DRAGON object files and libraries +# corresponding to the current ABI +clean: clean-bin clean-lib +clean-bin: + if ( [ -d $(BIN)/$(ABI) ] ) then cd $(BIN)/$(ABI); rm -f *.[oa] ii_files/* ; fi +clean-lib: + if ( [ -d $(LIB)/$(ABI) ] ) then cd $(LIB)/$(ABI); rm -f *.[oa] ii_files/* ; fi + diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..d40002e --- /dev/null +++ b/README.txt @@ -0,0 +1,188 @@ +README.txt +========== + +The SGI distributions +--------------------- + +The DRAGON package for SGI comes in three flavors, i.e. the executables +are compiled for the three SGI application binary interfaces (ABIs). +The gzip-compressed tarfiles are called + +dragon--.tar.gz + +where is the version number like "4.18.0", and + is "irix-o32","irix-n32" or "irix-n64". + +Choosing the right SGI Application Binary Interface (ABI) +--------------------------------------------------------- + +The 'irix-o32' executables can be run on any SGI R4k/R5k/R8k/R10k system +under IRIX 5.3 and above that supports the MIPS-II instruction set. +Use this ABI if you have not upgraded from IRIX 5.3 yet for some reason. +Note that o32 will not be supported in the future. + +The 'irix-n32' executables can be run on any SGI R4k/R5k/R8k/R10k system +under IRIX 6.2 that supports the MIPS-III instruction set. +I recommend that you use this ABI. + +The 'irix-n64' executables can be run on SGI R8k/R10k systems under +IRIX 6.2 and above, using the MIPS-IV instruction set: +the only exceptions are O2 machines running IRIX 6.3 +which do NOT support the 64-bit ABI even with an R10000 processor. The +'n64' executables were optimised for the R10000 processor +but they run on R8000-based machines as well. + +There is no support for the Intel-based SGI workstations running Windows NT. + +The IBM PC distribution +----------------------- + +This is contained in the compressed tarfile + +dragon--linux.tar.gz. + +DRAGON can be run on IBM PCs and compatibles +having Intel 486, Pentium and Pentium II processors +or compatibles under Linux 2.0.x in ELF executable format. +If you have XFree86 installed and your X server +is capable of displaying 16-bit colours, then you can even enjoy +the OpenGL graphics output, thanks to Brian Paul's MESA library. +Some features do not work yet, due to bugs in GCC (version 2.8.1). + +There is no DOS or Windows version of DRAGON. + +The SUN distributions +--------------------- + +Executables are provided in the compressed tarfiles + +dragon--.tar.gz + +where is 'solaris-sparc' for SPARC processors +or 'solaris-x86' for Intel-based systems. Unfortunately +OpenGL graphics is not supported by these executables. + +Instructions for installing the DRAGON executables +-------------------------------------------------- + +1) Create a directory where you want DRAGON to live (say /usr/local/dragon4). + +2) Copy the compressed tarfile to it. Uncompress and expand the distribution. +The executables will be expanded into the 'bin/' directory +where ={irix-o32|irix-n32|irix-n64|linux|solaris-sparc|solaris-i86}. +In addition, the following subdirectories will be created:- + +'data': default data files +'doc': documentation + +3) Edit the 'startup-.csh' file in the 'bin/startup' directory +so that the variable DRAGON_ROOT is set to the +DRAGON location (/usr/local/dragon4 in our example). +You may have to edit the PVM_LOCATION variable to tell +the program where to look for PVM (if installed). +For the irix-n32 architecture, make sure that you have +the n32 ABI version of the PVM libraries. +Then source the file. +It is recommended to source 'bin/startup/startup-.csh' from the +.cshrc files of those users who access DRAGON regularly. + +Executables +----------- + +These can be found in the subdirectories of the 'bin' directory. + +'dragon': the DRAGON program itself +'secmap': a program for mapping secondary structure assignments + onto the target sequence in comparative modelling +'rank': a program that helps you to rank the models according to + various scores +'sidech': a partial side-chain constructing program to be used + in comparative modelling +'hbassign': a tool for generating hydrogen bond assignments + to be used with QUANTA +'clumsy': a simple clustering program to generate families + from structures produced by DRAGON + +PVM support +----------- + +DRAGON can run in parallel using the Parallel Virtual Machine (PVM). +However, you have to obtain and install PVM yourself as it is not +part of this distribution. Try anonymous FTP from NETLIB or +a mirror site near to you. + +If you want to use PVM, then set the PVM_ROOT environment variable +in 'startup-.csh' appropriately. Consult the PVM User Guide +for details on how to set up PVM. + +Data files +---------- + +These live in the 'data' subdirectory. If you set up an environment +variable "DRAGON_DATA" pointing to this directory then you can refer +to these files in the DRAGON parameter file using the $DRAGON_DATA macro. +Refer to the User Guide for details. + +Documentation +------------- + +The complete DRAGON User Guide is the HTML document 'ug.html' in the +'doc' subdirectory. Users are strongly encouraged to read it before +attempting to use the programs. Some outdated manual pages can be found in +the 'doc/man1' subdirectory which can be moved to more convenient +locations. Manpages may be slightly out of sync with respect to the +User Guide: when in doubt, rely on the User Guide. + +Bugs +---- + +Bug reports may be sent to me (aaszodi@nimr.mrc.ac.uk). +Reply and bug fixes are not guaranteed. + +Support +------- + +There is essentially none as I have discontinued active development +since I left the National Institute for Medical Research in 1996. +Sporadic updates and bug fixes may happen from time to time, though. +In general, I will not provide tutorials. + +Please note that my present employer, the Novartis Forschungsinstitut GmbH +does not endorse this package in any way. + +Copyright information +--------------------- + +Copyright (C) 1993-1997. Andras Aszodi, William R. Taylor. + +The DRAGON program suite is distributed free of charge. +The copyright holders therefore undertake no warranty of any kind, +as detailed the "NO WARRANTY" section below which was taken from +the GNU General Public License:- + +-------------------- + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + + NO WARRANTY + + BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. +-------------------- diff --git a/bin/Makefile b/bin/Makefile new file mode 100644 index 0000000..2e6b680 --- /dev/null +++ b/bin/Makefile @@ -0,0 +1,444 @@ +# Makefile for DRAGON-IV +# 27-Aug-1998. (c) Andras Aszodi + +# The directory layout is as follows:- +# +# dragon4: root to the whole project +# | +# +-- src++: *.c++, *.h files for the C++ modules +# | +# +-- src: *.[ch] files for the C modules +# | +# +-- test: c++, *.[ch] files for the module test programs +# | +# +-- bin: objects,libraries,executables <--YOU ARE HERE +# | | +# | +-- irix-o32: old 32-bit SGI ABI \ +# | | | +# | +-- irix-n32: new 32/64-bit SGI ABI | +# | | | +# | +-- irix-n64: new 64-bit SGI ABI | +# | | |-- $(ABI) directories +# | +-- solaris-sparc: GCC/Solaris SPARC | +# | | | +# | +-- solaris-i86 : GCC/Solaris x86 | +# | | | +# | +-- linux: GCC/Linux ABI / +# | +# +-> lib: root of the utility hierarchy (symlink to ~/lib) +# | +# +-- irix-o32: old 32-bit SGI ABI \ +# | | +# +-- irix-n32: new 32/64-bit SGI ABI | +# | | +# +-- irix-n64: new 64-bit SGI ABI | +# | |-- $(UTILS) directories +# +-- solaris-sparc: GCC/solaris SPARC | +# | | +# +-- solaris-i86 : GCC/Solaris x86 | +# | | +# +-- linux: GCC/Linux ABI / +# | +# +-- c: C source tree +# | | +# | +-- incl: header files (*.h) +# | | +# | +-- src: function definition files (*.c) +# | +# +-- cc: C++ source tree +# | +# +-- incl: non-template class header files (*.h) +# | +# +-- src: non-template function definition files (*.c++) +# | +# +-- tmpl: template declarations (*.h) and definitions (*.c++) + +# ---- ABI-DEPENDENT DEFINITIONS ---- + +# NOTE: this Makefile supports the maintenance of incompatible +# ABIs. Currently SGI o32,n32,n64,GCC/Linux,GCC/Solaris are supported. +# The Top Makefile should cd to bin/$(ABI) and invoke make from +# there as make -f ../Makefile (which is this file). +# ABI: currently (irix-(o32|n32|n64)|solaris-(sparc|i86)|linux), +# selects the application binary interface directory + +# ---- Local settings ---- + +# Note: macros prefixed with "CC" are for the C++ compiler, +# the macros beginning with "C" are for the C compiler. + +# Source directories +CSRC = ../../src +CCSRC = ../../src++ + +# Library +LIB = ../../lib +UTILS = $(LIB)/$(ABI) + +# Utility header locations +CHDR = $(LIB)/c/incl +CCHDR = $(LIB)/cc/incl +TMPLHDR = $(LIB)/cc/tmpl + +# ---- ABI-specific macros ---- + +# The settings for a given ABI or architecture come from two +# include files which are called "Makefile." in the "lib" +# and "bin" directories. The first contains general settings +# for the architecture and is supposed to be used by all programs +# using the utilities in "lib". The second contains settings +# specific to the DRAGON package (linking etc.). +# When porting to a new ABI, new include files must be prepared. + +include $(LIB)/Makefile.$(ABI) +include ../Makefile.$(ABI) + +PVMHDR = $(PVMROOT)/include + +# ---- All compiler flags together ---- + +CFLAGS = $(LIBABIFG) $(BINABIFG) $(COPT) -I$(CHDR) +CCFLAGS = $(LIBABIFG) $(BINABIFG) $(CCOPT) -I$(CCHDR) -I$(TMPLHDR) -I$(PVMHDR) + +# ==== C++ MODULES ==== + +# ---- LIBRARIES ---- + +# ---- libpoly.a ---- + +# the model chain class (alignment, geometry etc.) collection +libpoly.a: libpoly.a(Acdist.o) libpoly.a(Align.o) libpoly.a(Distpred.o) \ + libpoly.a(Polymer.o) libpoly.a(Property.o) libpoly.a(Simil.o) + rm $? + +# Side-chain atom distances from centroid and C-alpha +libpoly.a(Acdist.o): $(CCSRC)/Acdist.c++ $(CCSRC)/Acdist.h $(TMPLHDR)/Array.h $(CCHDR)/String.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Acdist.c++ -o $% + $(TMPLINK) $% + $(AR) $(ARFLAGS) $@ $% + +# Multiple alignment storage +libpoly.a(Align.o): $(CCSRC)/Align.c++ $(CCSRC)/Align.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Align.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# Distance prediction +libpoly.a(Distpred.o): $(CCSRC)/Distpred.c++ $(CCSRC)/Distpred.h \ + $(TMPLHDR)/Array.h $(CCHDR)/Vector.h $(CCHDR)/Spl.h $(CCHDR)/Cdf.h $(CCHDR)/Pmest.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Distpred.c++ -o $% + $(TMPLINK) $% + $(AR) $(ARFLAGS) $@ $% + +# Polymer data +libpoly.a(Polymer.o): $(CCSRC)/Polymer.c++ $(CCSRC)/Polymer.h \ + $(CCSRC)/Acdist.h $(CCSRC)/Align.h $(CCSRC)/Distpred.h \ + $(CCSRC)/Property.h $(CCSRC)/Simil.h \ + $(CCHDR)/Stat2.h $(TMPLHDR)/Array.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Polymer.c++ -o $% + $(TMPLINK) $% + $(AR) $(ARFLAGS) $@ $% + +# Monomer properties +libpoly.a(Property.o): $(CCSRC)/Property.c++ $(CCSRC)/Property.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Property.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# Similarity matrix +libpoly.a(Simil.o): $(CCSRC)/Simil.c++ $(CCSRC)/Simil.h $(CCHDR)/Sqmat.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Simil.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# ---- libpieces.a ---- + +# the secondary-structure segment handling class collection + +libpieces.a: libpieces.a(Beta.o) libpieces.a(Helix.o) libpieces.a(Pieces.o) \ + libpieces.a(Segment.o) libpieces.a(Sstrbase.o) + rm $? + +# beta-sheets +libpieces.a(Beta.o): $(CCSRC)/Beta.c++ $(CCSRC)/Beta.h \ + $(CCSRC)/Sstrbase.h $(CCSRC)/Segment.h \ + $(CCHDR)/Bits.h $(CCHDR)/Points.h $(TMPLHDR)/Array.h $(CCHDR)/Trimat.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Beta.c++ -o $% + $(TMPLINK) $% + $(AR) $(ARFLAGS) $@ $% + +# alpha-helices +libpieces.a(Helix.o): $(CCSRC)/Helix.c++ $(CCSRC)/Helix.h \ + $(CCSRC)/Sstrbase.h $(CCSRC)/Segment.h \ + $(CCHDR)/Bits.h $(CCHDR)/Points.h $(TMPLHDR)/Array.h $(CCHDR)/Trimat.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Helix.c++ -o $% + $(TMPLINK) $% + $(AR) $(ARFLAGS) $@ $% + +# Pieces of secstr together +libpieces.a(Pieces.o): $(CCSRC)/Pieces.c++ $(CCSRC)/Pieces.h \ + $(CCSRC)/Segment.h $(CCSRC)/Sstrbase.h \ + $(CCSRC)/Helix.h $(CCSRC)/Beta.h $(CCHDR)/Bits.h \ + $(TMPLHDR)/Array.h $(TMPLHDR)/List1.h $(TMPLHDR)/Smartptr.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Pieces.c++ -o $% + $(TMPLINK) $% + $(AR) $(ARFLAGS) $@ $% + +# Chain segments +libpieces.a(Segment.o): $(CCSRC)/Segment.c++ $(CCSRC)/Segment.h \ + $(CCHDR)/Bits.h $(TMPLHDR)/Array.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Segment.c++ -o $% + $(TMPLINK) $% + $(AR) $(ARFLAGS) $@ $% + +# Secondary structure base class +libpieces.a(Sstrbase.o): $(CCSRC)/Sstrbase.c++ $(CCSRC)/Sstrbase.h $(CCSRC)/Segment.h \ + $(CCHDR)/Bits.h $(CCHDR)/Points.h $(TMPLHDR)/Array.h $(CCHDR)/Trimat.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Sstrbase.c++ -o $% + $(TMPLINK) $% + $(AR) $(ARFLAGS) $@ $% + +# ---- libgraph.a ---- + +# OpenGL graphics +libgraph.a: libgraph.a(Graphics.o) libgraph.a(cadraw.o) \ + libgraph.a(matplot.o) libgraph.a(glxwinutils.o) + rm $? + +# Graphics class +libgraph.a(Graphics.o): $(CCSRC)/Graphics.c++ $(CCSRC)/Graphics.h $(CCSRC)/Polymer.h \ + $(CCHDR)/Points.h $(CSRC)/cadraw.h $(CSRC)/matplot.h $(CSRC)/glxwinutils.h + $(CXX) $(CCFLAGS) -I$(CSRC) -I$(CHDR) $(TMPLOPTS) -c $(CCSRC)/Graphics.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# Molecule draw +libgraph.a(cadraw.o): $(CSRC)/cadraw.c $(CSRC)/cadraw.h $(CSRC)/glxwinutils.h + $(CC) $(CFLAGS) -c $(CSRC)/cadraw.c -o $% + $(AR) $(ARFLAGS) $@ $% + +# Distance matrix plot +libgraph.a(matplot.o): $(CSRC)/matplot.c $(CSRC)/matplot.h $(CSRC)/glxwinutils.h + $(CC) $(CFLAGS) -c $(CSRC)/matplot.c -o $% + $(AR) $(ARFLAGS) $@ $% + +# OpenGL/X window utilities +libgraph.a(glxwinutils.o): $(CSRC)/glxwinutils.c $(CSRC)/glxwinutils.h + $(CC) $(CFLAGS) -c $(CSRC)/glxwinutils.c -o $% + $(AR) $(ARFLAGS) $@ $% + +# ---- MAIN MODULES ---- + +# DRAGON +Dragon.o: $(CCSRC)/Dragon.c++ $(CCSRC)/Access.h $(CCSRC)/Clip.h $(CCSRC)/Density.h \ + $(CCSRC)/Graphics.h $(CCSRC)/Hmom.h $(CCSRC)/Homodel.h $(CCSRC)/Iproj.h \ + $(CCSRC)/Params.h $(CCSRC)/Pieces.h $(CCSRC)/Polymer.h $(CCSRC)/Pvmtask.h $(CCSRC)/Output.h \ + $(CCSRC)/Restr.h $(CCSRC)/Score.h $(CCSRC)/Sigproc.h $(CCSRC)/Steric.h \ + $(CCSRC)/Sterchem.h $(CCSRC)/Tangles.h $(CCSRC)/Viol.h \ + $(CSRC)/version.h $(CHDR)/cmdopt.h $(CHDR)/tstamp.h $(CCHDR)/String.h + $(CXX) $(CCFLAGS) -I$(CSRC) -I$(CHDR) $(TMPLOPTS) -c $(CCSRC)/Dragon.c++ -o $@ + +# Quanta H-bond assignment +hbassign.o: $(CCSRC)/hbassign.c++ $(CCSRC)/Align.h $(CHDR)/dsspread.h $(TMPLHDR)/List1.h + $(CXX) $(CCFLAGS) -I$(CHDR) $(TMPLOPTS) -c $(CCSRC)/hbassign.c++ -o $@ + +# Secondary structure mapping +Secmap.o: $(CCSRC)/Secmap.h $(CCSRC)/Secmap.c++ + $(CXX) $(CCFLAGS) -I$(CHDR) -c $(CCSRC)/Secmap.c++ -o $@ +secmap.o: $(CCSRC)/secmap.c++ $(CCSRC)/Align.h $(CCSRC)/Secmap.h $(CHDR)/dsspread.h + $(CXX) $(CCFLAGS) -I$(CHDR) $(TMPLOPTS) -c $(CCSRC)/secmap.c++ -o $@ + +# side chain homology +Aacid.o: $(CCSRC)/Aacid.c++ $(CCSRC)/Aacid.h $(CCHDR)/Points.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Aacid.c++ -o $@ +sidech.o: $(CCSRC)/sidech.c++ $(CCSRC)/Align.h $(CCSRC)/Aacid.h \ + $(CCHDR)/Hirot.h $(TMPLHDR)/Array.h $(CHDR)/pdbprot.h + $(CXX) $(CCFLAGS) -I$(CHDR) $(TMPLOPTS) -c $(CCSRC)/sidech.c++ -o $@ + +# ---- MODULES ---- + +# Accessibility +Access.o: $(CCSRC)/Access.c++ $(CCSRC)/Access.h $(CCSRC)/Fakebeta.h $(CCSRC)/Polymer.h \ + $(CCHDR)/Bits.h $(CCHDR)/Points.h $(CCHDR)/Trimat.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Access.c++ -o $@ + +# Command line interpreter +Clip.o: $(CCSRC)/Clip.c++ $(CCSRC)/Clip.h $(CCSRC)/Params.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Clip.c++ -o $@ + +# Density +Density.o: $(CCSRC)/Density.c++ $(CCSRC)/Density.h $(CCSRC)/Pieces.h \ + $(CCHDR)/Points.h $(CCHDR)/Trimat.h \ + $(CCHDR)/Sqmat.h $(CCHDR)/Ql.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Density.c++ -o $@ + +# Fake CB distances +Fakebeta.o: $(CCSRC)/Fakebeta.c++ $(CCSRC)/Fakebeta.h $(CCSRC)/Polymer.h $(CCHDR)/Points.h \ + $(TMPLHDR)/Array.h $(CCHDR)/Sqmat.h $(CCHDR)/Trimat.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Fakebeta.c++ -o $@ + +# Hydrophobic moments +Hmom.o: $(CCSRC)/Hmom.c++ $(CCSRC)/Hmom.h $(CCSRC)/Fakebeta.h $(CCSRC)/Pieces.h $(CCSRC)/Polymer.h \ + $(CCHDR)/Points.h $(CCHDR)/Svd.h \ + $(CCHDR)/Vector.h $(CCHDR)/Sqmat.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Hmom.c++ -o $@ + +# Homology modelling +Homodel.o: $(CCSRC)/Homodel.c++ $(CCSRC)/Homodel.h $(CCSRC)/Polymer.h \ + $(CCSRC)/Pvmtask.h $(CCSRC)/Restr.h \ + $(CCHDR)/Points.h $(CCHDR)/Hirot.h $(CCHDR)/Vector.h $(CHDR)/pdbprot.h + $(CXX) $(CCFLAGS) -I$(CHDR) $(TMPLOPTS) -c $(CCSRC)/Homodel.c++ -o $@ + +# Inertial projection +Iproj.o: $(CCSRC)/Iproj.c++ $(CCSRC)/Iproj.h $(CCSRC)/Pieces.h $(CCHDR)/Rsmdiag.h \ + $(CCHDR)/Vector.h $(CCHDR)/Trimat.h $(CCHDR)/Sqmat.h \ + $(CCHDR)/Hirot.h $(CCHDR)/Ql.h $(CCHDR)/Points.h $(TMPLHDR)/Array.h $(TMPLHDR)/Maskarr.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Iproj.c++ -o $@ + +# Output to PDB +Output.o: $(CCSRC)/Output.c++ $(CCSRC)/Output.h $(CCSRC)/Fakebeta.h \ + $(CCSRC)/Polymer.h $(CCSRC)/Pieces.h $(CCSRC)/Score.h $(CSRC)/version.h \ + $(CCHDR)/String.h $(TMPLHDR)/List1.h $(CHDR)/pdbprot.h + $(CXX) $(CCFLAGS) -I$(CSRC) -I$(CHDR) $(TMPLOPTS) -c $(CCSRC)/Output.c++ -o $@ + +# Parameters +Paramstr.o: $(CCSRC)/Paramstr.c++ $(CCSRC)/Paramstr.h $(CCSRC)/Parambase.h \ + $(CCHDR)/String.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Paramstr.c++ -o $@ + +Params.o: $(CCSRC)/Params.c++ $(CCSRC)/Params.h \ + $(CCSRC)/Parambase.h $(CCSRC)/Paramstr.h $(CCSRC)/Paramlim.h \ + $(CCHDR)/String.h $(TMPLHDR)/Array.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Params.c++ -o $@ + +# Parallel Virtual Machine support +Pvmtask.o: $(CCSRC)/Pvmtask.c++ $(CCSRC)/Pvmtask.h $(CCSRC)/Params.h \ + $(CCSRC)/Sigproc.h $(CCHDR)/String.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Pvmtask.c++ -o $@ + +# Distance restraints +Restr.o: $(CCSRC)/Restr.c++ $(CCSRC)/Restr.h \ + $(CCSRC)/Polymer.h $(CCSRC)/Pieces.h $(CHDR)/portrandom.h $(CCHDR)/Bits.h $(TMPLHDR)/Array.h $(TMPLHDR)/List1.h + $(CXX) $(CCFLAGS) -I$(CHDR) $(TMPLOPTS) -c $(CCSRC)/Restr.c++ -o $@ + +# Scores +Score.o: $(CCSRC)/Score.c++ $(CCSRC)/Score.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Score.c++ -o $@ + +# Signal traps and multiple process management +Sigproc.o: $(CCSRC)/Sigproc.c++ $(CCSRC)/Sigproc.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Sigproc.c++ -o $@ + +# Spectral Gradient +Specgrad.o: $(CCSRC)/Specgrad.c++ $(CCSRC)/Specgrad.h $(CCHDR)/Points.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Specgrad.c++ -o $@ + +# Steric adjustments +Steric.o: $(CCSRC)/Steric.c++ $(CCSRC)/Steric.h \ + $(CCSRC)/Pieces.h $(CCSRC)/Restr.h $(CCSRC)/Polymer.h \ + $(CCSRC)/Fakebeta.h $(CCSRC)/Specgrad.h \ + $(CCSRC)/Score.h $(CCSRC)/Viol.h \ + $(CCHDR)/Trimat.h $(CCHDR)/Vector.h $(CCHDR)/Points.h $(CCHDR)/Hirot.h $(TMPLHDR)/Array.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Steric.c++ -o $@ + +# General stereochemical adjustments +Sterchem.o: $(CCSRC)/Sterchem.c++ $(CCSRC)/Sterchem.h $(CCSRC)/Pieces.h \ + $(CCHDR)/Points.h $(CCHDR)/Trimat.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Sterchem.c++ -o $@ + +# Tangle detection and elimination +Tangles.o: $(CCSRC)/Tangles.c++ $(CCSRC)/Tangles.h $(CCSRC)/Pieces.h \ + $(CCHDR)/Bits.h $(CCHDR)/Points.h $(CCHDR)/Svd.h \ + $(TMPLHDR)/Array.h $(TMPLHDR)/List1.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Tangles.c++ -o $@ + +# Violation list +Viol.o: $(CCSRC)/Viol.c++ $(CCSRC)/Viol.h $(TMPLHDR)/List1.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Viol.c++ -o $@ + +# ==== C MODULES ==== + +# ---- rank ---- + +# ranks the output files according to score +rank.o: $(CSRC)/rank.c $(CHDR)/cmdopt.h + $(CC) $(CFLAGS) -c $(CSRC)/rank.c -o $@ + +# ---- clumsy ---- + +# Similarity with hierarchic metric single-linkage clustering +clumsy.o: $(CSRC)/clumsy.c $(CSRC)/dslclu.h $(CSRC)/rotpdb.h \ + $(CHDR)/cmdopt.h $(CHDR)/siva.h + $(CC) $(CFLAGS) -c $(CSRC)/clumsy.c -o $@ + +# PDB I/O and optimal rotation +rotpdb.o: $(CSRC)/rotpdb.c $(CSRC)/rotpdb.h \ + $(CHDR)/matrix.h $(CHDR)/bestrot.h $(CHDR)/pdbprot.h + $(CC) $(CFLAGS) -c $(CSRC)/rotpdb.c -o $@ + +# single-linked metric distance clustering +dslclu.o: $(CSRC)/dslclu.c $(CSRC)/dslclu.h $(CHDR)/matrix.h + $(CC) $(CFLAGS) -c $(CSRC)/dslclu.c -o $@ + +# ==== PROGRAMS ==== + +# C++ utility objects +C++UTILOBJS = $(UTILS)/Hirot.o $(UTILS)/Points.o + +# C utility objects +CUTILOBJS = $(UTILS)/cmdopt.o $(UTILS)/pdbprot.o \ + $(UTILS)/portrandom.o $(UTILS)/tstamp.o + +# C++ modules +C++MODOBJS = Access.o Clip.o Density.o \ + Fakebeta.o Hmom.o Homodel.o \ + Iproj.o Output.o Paramstr.o Params.o Pvmtask.o \ + Restr.o Score.o Sigproc.o \ + Specgrad.o Steric.o \ + Sterchem.o Tangles.o Viol.o + +# Library paths +LIBPATH = -L$(UTILS) -L../$(ABI) $(PVMPATH) + +# Libraries +LIBS = -lpoly -lpieces -lccstat -lccutils -linalg $(PVMLIB) $(GLIB) $(MATHLIB) + +# DRAGON +dragon: $(UTILS)/libinalg.a $(UTILS)/libccstat.a $(UTILS)/libccutils.a $(C++UTILOBJS) \ + libpoly.a libpieces.a libgraph.a \ + Dragon.o $(C++MODOBJS) $(C++UTILOBJS) $(CUTILOBJS) + $(CC) $(CFLAGS) -DDRAGON_VERSION='"$(VERSION)-$(ABI)"' -c $(CSRC)/version.c -o version.o; + $(CXX) $(CCFLAGS) $(TMPLOPTS) $(C++UTILOBJS) Dragon.o $(C++MODOBJS) \ + $(CUTILOBJS) version.o \ + $(LIBPATH) $(LIBS) -o $@ +# Use this for Linux memory leak detection after $(LIBS) +# /usr/local/lib/ccmalloc.o -ldl +# +# Use this for SGI memory leak detection (if you have CaseVision/Workshop) +# -lmalloc_cv +# + +# QUANTA H-bond restraint generation +hbassign: hbassign.o libpoly.a $(UTILS)/dsspread.o + $(CXX) $(CCFLAGS) $(TMPLOPTS) hbassign.o $(UTILS)/dsspread.o \ + -L../$(ABI) -lpoly -lm -o $@ + +# Secondary structure mapping +secmap: secmap.o Secmap.o libpoly.a $(UTILS)/dsspread.o + $(CXX) $(CCFLAGS) $(TMPLOPTS) secmap.o Secmap.o $(UTILS)/dsspread.o \ + -L../$(ABI) -lpoly -lm -o $@ + +# Homology-based side chains +sidech: sidech.o Aacid.o $(UTILS)/Hirot.o $(UTILS)/pdbprot.o \ + $(UTILS)/libccutils.a $(UTILS)/libinalg.a + $(CXX) $(CCFLAGS) $(TMPLOPTS) sidech.o \ + Aacid.o $(UTILS)/Hirot.o $(UTILS)/Points.o $(UTILS)/pdbprot.o \ + -L$(UTILS) -L../$(ABI) -lpoly -lccutils -linalg -lm -o $@ + +# Output file ranking (C only) +rank: $(UTILS)/cmdopt.o rank.o + $(CC) $(CFLAGS) $(UTILS)/cmdopt.o rank.o -o $@ + +# Structure clustering (C only) +clumsy: clumsy.o dslclu.o rotpdb.o \ + $(UTILS)/cmdopt.o $(UTILS)/bestrot.o $(UTILS)/pdbprot.o \ + $(UTILS)/siva.o $(UTILS)/matrix.o $(UTILS)/ql.o + $(CC) $(CFLAGS) clumsy.o dslclu.o rotpdb.o $(UTILS)/cmdopt.o $(UTILS)/bestrot.o \ + $(UTILS)/pdbprot.o $(UTILS)/siva.o $(UTILS)/matrix.o $(UTILS)/ql.o \ + -lm -o $@ diff --git a/bin/Makefile.irix-n32 b/bin/Makefile.irix-n32 new file mode 100644 index 0000000..21cd66b --- /dev/null +++ b/bin/Makefile.irix-n32 @@ -0,0 +1,26 @@ +# Makefile.irix-n32 +# +# This file contains the macros needed for the SGI N32 ABI. +# It will be included by the Makefile in the "bin" directory. +# 9-Jul-1997. + +# BINABIFG: the ABI-specific flags for the DRAGON package. +BINABIFG = -DUSE_OPENGL_GRAPHICS -DUSE_PVM -DHAS_MATHERR + +# PVMROOT: the root of the PVM hierarchy. +# PVMPATH: the location of the PVM library for each ABI. +# PVMLIB: the link name (ie. '-lpvm3') of the PVM library. +# Leave both blank if no PVM support is desired (and do not set USE_PVM above) +PVMROOT = $(PVM_ROOT) +PVMPATH = -L$(PVMROOT)/lib/SGI6 +PVMLIB = -lpvm3 + +# MATHLIB: maths library specification for the linker. +# -lmx links in the extended maths library (with matherr()) on SGI. +# Set the HAS_MATHERR macro below, too. +# Use -lm for other architectures. +MATHLIB = -lmx + +# GLIB: graphics library specification for the linker. +# This should be empty for those architectures which have no OpenGL. +GLIB = -lgraph -delay_load -lGLU -lGL -lX11 diff --git a/bin/Makefile.irix-n64 b/bin/Makefile.irix-n64 new file mode 100644 index 0000000..891a669 --- /dev/null +++ b/bin/Makefile.irix-n64 @@ -0,0 +1,26 @@ +# Makefile.irix-n64 +# +# This file contains the macros needed for the SGI N64 ABI. +# It will be included by the Makefile in the "bin" directory. +# 9-Jul-1997. + +# BINABIFG: the ABI-specific flags for the DRAGON package. +BINABIFG = -DUSE_OPENGL_GRAPHICS -DUSE_PVM -DHAS_MATHERR + +# PVMROOT: the root of the PVM hierarchy. +# PVMPATH: the location of the PVM library for each ABI. +# PVMLIB: the link name (ie. '-lpvm3') of the PVM library. +# Leave both blank if no PVM support is desired (and do not set USE_PVM above) +PVMROOT = $(PVM_ROOT) +PVMPATH = -L$(PVMROOT)/lib/$(PVM_ARCH) +PVMLIB = -lpvm3 + +# MATHLIB: maths library specification for the linker. +# -lmx links in the extended maths library (with matherr()) on SGI. +# Set the HAS_MATHERR macro below, too. +# Use -lm for other architectures. +MATHLIB = -lmx + +# GLIB: graphics library specification for the linker. +# This should be empty for those architectures which have no OpenGL. +GLIB =-lgraph -delay_load -lGLU -lGL -lX11 diff --git a/bin/Makefile.irix-o32 b/bin/Makefile.irix-o32 new file mode 100644 index 0000000..6a9408b --- /dev/null +++ b/bin/Makefile.irix-o32 @@ -0,0 +1,27 @@ +# Makefile.irix-o32 +# +# This file contains the macros needed for the SGI O32 ABI. +# It will be included by the Makefile in the "bin" directory. +# 20-Oct-1998. + +# BINABIFG: the ABI-specific flags for the DRAGON package. +BINABIFG = -DUSE_OPENGL_GRAPHICS -DUSE_PVM + +# PVMROOT: the root of the PVM hierarchy. +# PVMPATH: the location of the PVM library for each ABI. +# PVMLIB: the link name (ie. '-lpvm3') of the PVM library. +# Leave both blank if no PVM support is desired (and do not set USE_PVM above) +PVMROOT = $(PVM_ROOT) +PVMPATH = -L$(PVMROOT)/lib/SGI5 +PVMLIB = -lpvm3 + +# MATHLIB: maths library specification for the linker. +# -lmx links in the extended maths library (with matherr()) on SGI. +# Set the HAS_MATHERR macro below, too. +# Use -lm for other architectures. +# NOTE: -lmx is done for SGI N32 and N64 only as of 11-Nov-1999. +MATHLIB = -lm + +# GLIB: graphics library specification for the linker. +# This should be empty for those architectures which have no OpenGL. +GLIB = -lgraph -delay_load -lGLU -lGL -lX11 diff --git a/bin/Makefile.linux b/bin/Makefile.linux new file mode 100644 index 0000000..d28ab6b --- /dev/null +++ b/bin/Makefile.linux @@ -0,0 +1,31 @@ +# Makefile.linux +# +# This file contains the macros needed for the GCC compiler under Linux. +# It will be included by the Makefile in the "bin" directory. +# 20-Oct-1998. + +# BINABIFG: the ABI-specific flags for the DRAGON package. +# Add -DUSE_PVM if you want to have PVM parallel support. +# Add -DUSE_OPENGL_GRAPHICS if you want to use Mesa or another OpenGL port. +BINABIFG = -DUSE_PVM + +# PVMROOT: the root of the PVM hierarchy. +# PVMPATH: the location of the PVM library for each ABI. +# PVMLIB: the link name (ie. '-lpvm3') of the PVM library. +# Leave both blank if no PVM support is desired (and do not set USE_PVM above) +PVMROOT = $(PVM_ROOT) +PVMPATH = -L$(PVMROOT)/lib/LINUX +PVMLIB = -lpvm3 + +# MATHLIB: maths library specification for the linker. +# -lmx links in the extended maths library (with matherr()) on SGI. +# Set the HAS_MATHERR macro below, too. +# Use -lm for other architectures. +MATHLIB = -lm + +# GLIB: graphics library specification for the linker. +# This should be empty for those architectures which have no OpenGL. +# For Linux, we use the Mesa library, add the flag -DUSE_OPENGL_GRAPHICS +# to BINABIFG, and define GLIB as follows:- +# GLIB = -lgraph -L/usr/local/lib -lGLU -lGL -L/usr/X11/lib -lXext -lX11 +GLIB = diff --git a/bin/Makefile.solaris-i86 b/bin/Makefile.solaris-i86 new file mode 100644 index 0000000..3e3c810 --- /dev/null +++ b/bin/Makefile.solaris-i86 @@ -0,0 +1,32 @@ +# Makefile.solaris-i86 +# +# This file contains the macros needed for the GCC compiler under +# Solaris on Sun i86 architectures. +# It will be included by the Makefile in the "bin" directory. +# 10-May-1998. + +# BINABIFG: the ABI-specific flags for the DRAGON package. +# Add -DUSE_PVM if you want to have PVM parallel support. +# Add -DUSE_OPENGL_GRAPHICS if you want to use Mesa or another OpenGL port. +BINABIFG = -DUSE_PVM + +# PVMROOT: the root of the PVM hierarchy. +# PVMPATH: the location of the PVM library for each ABI. +# PVMLIB: the link name (ie. '-lpvm3') of the PVM library. +# Leave both blank if no PVM support is desired (and do not set USE_PVM above) +PVMROOT = $(PVM_ROOT) +PVMPATH = -L$(PVMROOT)/lib/X86SOL2 +PVMLIB = -lpvm3 + +# MATHLIB: maths library specification for the linker. +# -lmx links in the extended maths library (with matherr()) on SGI. +# Set the HAS_MATHERR macro below, too. +# Use -lm for other architectures. +MATHLIB = -lm + +# GLIB: graphics library specification for the linker. +# This should be empty for those architectures which have no OpenGL. +# For Linux, we use the Mesa library, add the flag -DUSE_OPENGL_GRAPHICS +# to BINABIFG, and define GLIB as follows:- +# GLIB = -lgraph -L/usr/local/lib -lGLU -lGL -L/usr/X11/lib -lXext -lX11 +GLIB = diff --git a/bin/Makefile.solaris-sparc b/bin/Makefile.solaris-sparc new file mode 100644 index 0000000..992df17 --- /dev/null +++ b/bin/Makefile.solaris-sparc @@ -0,0 +1,31 @@ +# Makefile.solaris-sparc +# +# This file contains the macros needed for the GCC compiler under Solaris. +# It will be included by the Makefile in the "bin" directory. +# 10-May-1998. + +# BINABIFG: the ABI-specific flags for the DRAGON package. +# Add -DUSE_PVM if you want to have PVM parallel support. +# Add -DUSE_OPENGL_GRAPHICS if you want to use Mesa or another OpenGL port. +BINABIFG = -DUSE_PVM + +# PVMROOT: the root of the PVM hierarchy. +# PVMPATH: the location of the PVM library for each ABI. +# PVMLIB: the link name (ie. '-lpvm3') of the PVM library. +# Leave both blank if no PVM support is desired (and do not set USE_PVM above) +PVMROOT = $(PVM_ROOT) +PVMPATH = -L$(PVMROOT)/lib/SUN4SOL2 +PVMLIB = -lpvm3 + +# MATHLIB: maths library specification for the linker. +# -lmx links in the extended maths library (with matherr()) on SGI. +# Set the HAS_MATHERR macro below, too. +# Use -lm for other architectures. +MATHLIB = -lm + +# GLIB: graphics library specification for the linker. +# This should be empty for those architectures which have no OpenGL. +# For Linux, we use the Mesa library, add the flag -DUSE_OPENGL_GRAPHICS +# to BINABIFG, and define GLIB as follows:- +# GLIB = -lgraph -L/usr/local/lib -lGLU -lGL -L/usr/X11/lib -lXext -lX11 +GLIB = diff --git a/bin/startup/startup-irix-n32.csh b/bin/startup/startup-irix-n32.csh new file mode 100644 index 0000000..0c60c99 --- /dev/null +++ b/bin/startup/startup-irix-n32.csh @@ -0,0 +1,51 @@ +#!/bin/csh +# +# DRAGON-IV startup script for SGI IRIX, n32 ABI. +# IRIX 6.2 and above, MIPS-III instruction set, +# R4k, R5k, R8k, R10k processors. +# +# 14-Jan-1999. +# +# Source this script before using the programs. +# + +# ---- Program locations ---- + +# DRAGON_ROOT: this is where the beast lives. +# If you want to make the programs available system-wide, +# a good setting would be /usr/local/dragon4. +setenv DRAGON_ROOT $HOME/dragon4 + +# PVM_LOCATION: you need this variable to tell DRAGON +# where it can find PVM, the Parallel Virtual Machine. +# If the PVM setup is done centrally (ie. the env var +# PVM_ROOT is already set when this script is run) +# then you do not need to set PVM_LOCATION. +set PVM_LOCATION = /usr/local/pvm/pvm3 + +# PVM architecture: PVM 3.10 used the 64-bit ABI +# for R8k and R10k processors and o32 for R4k processors +# and there was no separate SGIN32 architecture +# so check your setup carefully - you may need to hack around a bit. +setenv PVM_ARCH SGI6 + +# ==== No need to edit anything below this line. ==== + +# Data files for DRAGON +setenv DRAGON_DATA $DRAGON_ROOT/data + +# Application binary interface +set ABI = irix-n32 + +# add executable subdirectory to path +set path = ( $path $DRAGON_ROOT/bin/$ABI ) + +# set up PVM if it is not done centrally +if ( ! $?PVM_ROOT ) then + setenv PVM_ROOT $PVM_LOCATION + set path = ( $path $PVM_ROOT/lib/$PVM_ARCH $PVM_ROOT/bin/$PVM_ARCH ) +endif + +# unset temporaries +unset ABI +unset PVM_LOCATION diff --git a/bin/startup/startup-irix-n64.csh b/bin/startup/startup-irix-n64.csh new file mode 100644 index 0000000..e047812 --- /dev/null +++ b/bin/startup/startup-irix-n64.csh @@ -0,0 +1,57 @@ +#!/bin/csh +# +# DRAGON-IV startup script for SGI IRIX, n64 ABI. +# IRIX 6.2, 6.4 and above, MIPS-IV instruction set, +# R8k, R10k processors. +# WARNING: R10k O2-s do NOT support this ABI, use n32 instead. +# +# 14-Jan-1999. +# +# Source this script before using the programs. +# + +# ---- Program locations ---- + +# DRAGON_ROOT: this is where the beast lives. +# If you want to make the programs available system-wide, +# a good setting would be /usr/local/dragon4. +setenv DRAGON_ROOT $HOME/dragon4 + +# PVM_LOCATION: you need this variable to tell DRAGON +# where it can find PVM, the Parallel Virtual Machine. +# If the PVM setup is done centrally (ie. the env var +# PVM_ROOT is already set when this script is run) +# then you do not need to set PVM_LOCATION. +set PVM_LOCATION = /usr/local/pvm/pvm3 + +# ==== No need to edit anything below this line. ==== + +# Data files for DRAGON +setenv DRAGON_DATA $DRAGON_ROOT/data + +# Application binary interface +set ABI = irix-n64 + +# PVM architecture +set IPNO = `uname -m` +# use symmetric multiprocessing for +# Origins and Octanes +if ( $IPNO == "IP27" || $IPNO == "IP30" ) then + setenv PVM_ARCH SGIMP64 +else + setenv PVM_ARCH SGI64 +endif +unset IPNO + +# add executable subdirectory to path +set path = ( $path $DRAGON_ROOT/bin/$ABI ) + +# set up PVM if it is not done centrally +if ( ! $?PVM_ROOT ) then + setenv PVM_ROOT $PVM_LOCATION + set path = ( $path $PVM_ROOT/lib/$PVM_ARCH $PVM_ROOT/bin/$PVM_ARCH ) +endif + +# unset temporaries +unset ABI +unset PVM_LOCATION diff --git a/bin/startup/startup-irix-o32.csh b/bin/startup/startup-irix-o32.csh new file mode 100644 index 0000000..4e542ef --- /dev/null +++ b/bin/startup/startup-irix-o32.csh @@ -0,0 +1,48 @@ +#!/bin/csh +# +# DRAGON-IV startup script for SGI IRIX, o32 ABI. +# IRIX 5.3 and above, MIPS-II instruction set, +# R4k, R5k, R8k, R10k processors. +# +# 14-Jan-1999. +# +# Source this script before using the programs. +# + +# ---- Program locations ---- + +# DRAGON_ROOT: this is where the beast lives. +# If you want to make the programs available system-wide, +# a good setting would be /usr/local/dragon4. +setenv DRAGON_ROOT $HOME/dragon4 + +# PVM_LOCATION: you need this variable to tell DRAGON +# where it can find PVM, the Parallel Virtual Machine. +# If the PVM setup is done centrally (ie. the env var +# PVM_ROOT is already set when this script is run) +# then you do not need to set PVM_LOCATION. +set PVM_LOCATION = /usr/local/pvm/pvm3 + +# ==== No need to edit anything below this line. ==== + +# Data files for DRAGON +setenv DRAGON_DATA $DRAGON_ROOT/data + +# Application binary interface +set ABI = irix-o32 + +# PVM architecture +setenv PVM_ARCH SGI5 + +# add executable subdirectory to path +set path = ( $path $DRAGON_ROOT/bin/$ABI ) + +# set up PVM if it is not done centrally +if ( ! $?PVM_ROOT ) then + setenv PVM_ROOT $PVM_LOCATION + set path = ( $path $PVM_ROOT/lib/$PVM_ARCH $PVM_ROOT/bin/$PVM_ARCH ) +endif + +# unset temporaries +unset ABI +unset PVM_LOCATION diff --git a/bin/startup/startup-linux.csh b/bin/startup/startup-linux.csh new file mode 100644 index 0000000..40e6c41 --- /dev/null +++ b/bin/startup/startup-linux.csh @@ -0,0 +1,49 @@ +#!/bin/csh +# +# DRAGON-IV startup script for IBM PC-s and compatibles. +# Linux 2.0 and above, ELF executables, +# Intel 486, Pentium, Pentium II and compatibles. +# WARNING: Microsoft operating systems are not supported. +# +# 14-Jan-1999. +# +# Source this script before using the programs. +# + +# ---- Program locations ---- + +# DRAGON_ROOT: this is where the beast lives. +# If you want to make the programs available system-wide, +# a good setting would be /usr/local/dragon4. +setenv DRAGON_ROOT $HOME/dragon4 + +# PVM_LOCATION: you need this variable to tell DRAGON +# where it can find PVM, the Parallel Virtual Machine. +# If the PVM setup is done centrally (ie. the env var +# PVM_ROOT is already set when this script is run) +# then you do not need to set PVM_LOCATION. +set PVM_LOCATION = /usr/local/pvm/pvm3 + +# ==== No need to edit anything below this line. ==== + +# Data files for DRAGON +setenv DRAGON_DATA $DRAGON_ROOT/data + +# Application binary interface +set ABI = linux + +# PVM architecture +setenv PVM_ARCH LINUX + +# add executable subdirectory to path +set path = ( $path $DRAGON_ROOT/bin/$ABI ) + +# set up PVM if it is not done centrally +if ( ! $?PVM_ROOT ) then + setenv PVM_ROOT $PVM_LOCATION + set path = ( $path $PVM_ROOT/lib/$PVM_ARCH $PVM_ROOT/bin/$PVM_ARCH ) +endif + +# unset temporaries +unset ABI +unset PVM_LOCATION diff --git a/bin/startup/startup-solaris-i86.csh b/bin/startup/startup-solaris-i86.csh new file mode 100644 index 0000000..71dae6c --- /dev/null +++ b/bin/startup/startup-solaris-i86.csh @@ -0,0 +1,48 @@ +#!/bin/csh +# +# DRAGON-IV startup script for SUN. +# Solaris 2.x and above, +# Intel X86 processors. +# +# 14-Jan-1999. +# +# Source this script before using the programs. +# + +# ---- Program locations ---- + +# DRAGON_ROOT: this is where the beast lives. +# If you want to make the programs available system-wide, +# a good setting would be /usr/local/dragon4. +setenv DRAGON_ROOT $HOME/dragon4 + +# PVM_LOCATION: you need this variable to tell DRAGON +# where it can find PVM, the Parallel Virtual Machine. +# If the PVM setup is done centrally (ie. the env var +# PVM_ROOT is already set when this script is run) +# then you do not need to set PVM_LOCATION. +set PVM_LOCATION = /usr/local/pvm/pvm3 + +# ==== No need to edit anything below this line. ==== + +# Data files for DRAGON +setenv DRAGON_DATA $DRAGON_ROOT/data + +# Application binary interface +set ABI = solaris-i86 + +# PVM architecture +setenv PVM_ARCH X86SOL2 + +# add executable subdirectory to path +set path = ( $path $DRAGON_ROOT/bin/$ABI ) + +# set up PVM if it is not done centrally +if ( ! $?PVM_ROOT ) then + setenv PVM_ROOT $PVM_LOCATION + set path = ( $path $PVM_ROOT/lib/$PVM_ARCH $PVM_ROOT/bin/$PVM_ARCH ) +endif + +# unset temporaries +unset ABI +unset PVM_LOCATION diff --git a/bin/startup/startup-solaris-sparc.csh b/bin/startup/startup-solaris-sparc.csh new file mode 100644 index 0000000..170730f --- /dev/null +++ b/bin/startup/startup-solaris-sparc.csh @@ -0,0 +1,48 @@ +#!/bin/csh +# +# DRAGON-IV startup script for SUN. +# Solaris 2.x and above, +# SPARC processors. +# +# 14-Jan-1999. +# +# Source this script before using the programs. +# + +# ---- Program locations ---- + +# DRAGON_ROOT: this is where the beast lives. +# If you want to make the programs available system-wide, +# a good setting would be /usr/local/dragon4. +setenv DRAGON_ROOT $HOME/dragon4 + +# PVM_LOCATION: you need this variable to tell DRAGON +# where it can find PVM, the Parallel Virtual Machine. +# If the PVM setup is done centrally (ie. the env var +# PVM_ROOT is already set when this script is run) +# then you do not need to set PVM_LOCATION. +set PVM_LOCATION = /usr/local/pvm/pvm3 + +# ==== No need to edit anything below this line. ==== + +# Data files for DRAGON +setenv DRAGON_DATA $DRAGON_ROOT/data + +# Application binary interface +set ABI = solaris-sparc + +# PVM architecture +setenv PVM_ARCH SUN4SOL2 + +# add executable subdirectory to path +set path = ( $path $DRAGON_ROOT/bin/$ABI ) + +# set up PVM if it is not done centrally +if ( ! $?PVM_ROOT ) then + setenv PVM_ROOT $PVM_LOCATION + set path = ( $path $PVM_ROOT/lib/$PVM_ARCH $PVM_ROOT/bin/$PVM_ARCH ) +endif + +# unset temporaries +unset ABI +unset PVM_LOCATION diff --git a/data/DEFAULT.acd b/data/DEFAULT.acd new file mode 100644 index 0000000..eca6f6f --- /dev/null +++ b/data/DEFAULT.acd @@ -0,0 +1,289 @@ +# Default data file PONDER.def +# Holds the amino acid side-chain atom distances from the C-alpha +# and sidechain centroid (third and fourth columns). +# Calculated using the most abundant (>=10%) Ponder/Richards rotamers +# as given by Quanta 4.1. Atom names follow the PDB convention. +# ALA +A CA 0.00 1.61 +A CB 1.53 0.08 +A HA 1.09 2.22 +A 1HB 2.17 1.07 +A 2HB 2.19 1.07 +A 3HB 2.17 1.07 +A H 2.13 3.25 +# CYS +C CA 0.00 2.36 +C CB 1.53 1.27 +C SG 2.80 0.55 +C HA 1.09 2.73 +C 1HB 2.15 1.88 +C 2HB 2.17 1.92 +C HG 3.49 1.59 +C H 2.13 3.85 +# ASP +D CA 0.00 2.56 +D CB 1.53 1.50 +D CG 2.59 0.06 +D OD1 2.83 1.27 +D OD2 3.70 1.24 +D HA 1.09 2.86 +D 1HB 2.14 2.12 +D 2HB 2.16 2.11 +D H 2.13 4.08 +# GLU +E CA 0.00 3.40 +E CB 1.53 2.10 +E CG 2.69 1.12 +E CD 3.92 0.54 +E OE1 4.21 1.33 +E OE2 4.93 1.72 +E HA 1.09 3.62 +E 1HB 2.13 2.45 +E 2HB 2.15 2.35 +E 1HG 2.98 1.86 +E 2HG 3.05 1.88 +E H 2.13 5.00 +# PHE +F CA 0.00 3.71 +F CB 1.53 2.57 +F CG 2.68 1.05 +F CD1 3.52 1.25 +F CD2 3.76 1.28 +F CE1 4.91 1.68 +F CE2 5.08 1.70 +F CZ 5.55 1.86 +F HA 1.09 4.04 +F 1HB 2.11 2.99 +F 2HB 2.16 3.03 +F HD1 3.45 2.33 +F HD2 3.89 2.35 +F HE1 5.68 2.76 +F HE2 5.94 2.78 +F HZ 6.64 2.95 +F H 2.13 5.03 +# GLY +G CA 0.00 1.09 +G HA 1.09 1.79 +G 2HA 1.09 0.00 +G H 2.13 2.84 +# HIS +H 1HB 2.14 2.80 +H 2HB 2.15 2.81 +H CA 0.00 3.16 +H CB 1.53 2.24 +H CG 2.59 0.69 +H CD2 3.54 1.12 +H CE1 4.37 1.44 +H ND1 3.34 1.08 +H NE2 4.54 1.61 +H HA 1.09 3.38 +H HD1 3.59 2.02 +H HD2 3.91 2.18 +H HE1 5.29 2.52 +H H 2.13 4.52 +# ILE +I CA 0.00 2.47 +I CB 1.53 1.08 +I CG1 2.66 1.00 +I CG2 2.63 1.82 +I CD1 3.97 1.79 +I HA 1.09 2.88 +I HB 2.06 1.71 +I 1HG1 2.96 1.75 +I 1HG2 3.58 2.01 +I 2HG1 2.95 1.91 +I 2HG2 2.89 2.76 +I 3HG2 2.92 2.34 +I 1HD1 4.75 2.73 +I 2HD1 4.27 2.21 +I 3HD1 4.27 2.09 +I H 2.13 4.03 +# LYS +K CA 0.00 4.06 +K CB 1.53 2.82 +K CG 2.71 1.53 +K CD 4.01 0.31 +K CE 5.32 1.38 +K NZ 6.49 2.48 +K HA 1.09 4.19 +K 1HB 2.11 3.21 +K 2HB 2.13 3.10 +K 1HG 2.92 2.06 +K 2HG 3.05 2.07 +K 1HD 4.29 1.31 +K 2HD 4.15 1.29 +K 1HE 5.47 1.97 +K 2HE 5.57 1.98 +K 1HZ 7.33 3.32 +K 2HZ 6.67 2.78 +K 3HZ 6.58 2.77 +K H 2.13 5.57 +# LEU +L CA 0.00 2.82 +L CB 1.53 1.62 +L CG 2.76 0.32 +L CD1 3.96 1.53 +L CD2 3.52 1.53 +L HA 1.09 3.01 +L 1HB 2.10 2.23 +L 2HB 2.11 2.12 +L HG 2.96 1.41 +L 1HD1 4.84 2.24 +L 2HD1 4.10 2.28 +L 3HD1 4.29 2.04 +L 1HD2 4.49 2.23 +L 2HD2 3.84 2.04 +L 3HD2 3.36 2.26 +L H 2.13 4.44 +# MET +M CA 0.00 3.26 +M CB 1.53 2.06 +M CG 2.69 1.24 +M SD 3.88 0.85 +M CE 4.68 1.79 +M HA 1.09 3.36 +M 1HB 2.12 2.52 +M 2HB 2.15 2.25 +M 1HG 2.92 2.15 +M 2HG 3.27 1.81 +M 1HE 5.55 2.65 +M 2HE 5.13 2.32 +M 3HE 4.30 2.09 +M H 2.13 4.90 +# ASN +N CA 0.00 2.57 +N CB 1.53 1.53 +N CG 2.57 0.05 +N ND2 3.54 1.30 +N OD1 3.05 1.28 +N HA 1.09 2.86 +N 1HB 2.15 2.12 +N 2HB 2.18 2.13 +N 2HD2 3.77 1.98 +N 1HD2 4.29 2.00 +N H 2.13 4.12 +# PRO +P CA 0.00 1.97 +P CB 1.58 1.28 +P CG 2.49 0.59 +P CD 2.46 1.28 +P HA 1.09 2.69 +P 1HB 2.24 2.14 +P 2HB 2.22 1.94 +P 1HG 3.03 1.54 +P 2HG 3.39 1.50 +P 1HD 3.35 2.13 +P 2HD 3.03 1.94 +# GLN +Q CA 0.00 3.39 +Q CB 1.53 2.08 +Q CG 2.70 1.16 +Q CD 3.89 0.53 +Q OE1 4.80 1.67 +Q NE2 4.32 1.44 +Q HA 1.09 3.62 +Q 1HB 2.12 2.47 +Q 2HB 2.14 2.33 +Q 1HG 2.96 1.91 +Q 2HG 3.11 1.90 +Q 1HE2 5.23 2.26 +Q 2HE2 3.99 1.90 +Q H 2.13 4.91 +# ARG +R CA 0.00 4.95 +R CB 1.53 3.67 +R CG 2.67 2.29 +R CD 4.10 1.03 +R NE 5.21 0.53 +R CZ 6.52 1.59 +R NH1 7.35 2.61 +R NH2 7.20 2.42 +R HA 1.09 5.19 +R 1HB 2.13 3.90 +R 2HB 2.13 3.93 +R 1HG 2.90 2.64 +R 2HG 2.89 2.61 +R 1HD 4.39 1.64 +R 2HD 4.41 1.69 +R HE 5.09 1.41 +R 1HH1 8.32 3.51 +R 2HH1 7.14 2.84 +R 1HH2 8.19 3.37 +R 2HH2 6.84 2.50 +R H 2.13 6.32 +# SER +S CA 0.00 2.01 +S CB 1.53 0.78 +S OG 2.46 0.66 +S HA 1.09 2.60 +S 1HB 2.14 1.50 +S 2HB 2.17 1.52 +S HG 3.30 1.30 +S H 2.13 3.49 +# THR +T CA 0.00 2.02 +T CB 1.53 0.62 +T OG1 2.44 1.19 +T CG2 2.67 1.32 +T HA 1.09 2.55 +T HB 2.10 1.49 +T HG1 2.40 1.78 +T 1HG2 3.57 1.78 +T 2HG2 2.95 2.22 +T 3HG2 2.94 1.86 +T H 2.13 3.55 +# VAL +V CA 0.00 2.07 +V CB 1.53 0.65 +V CG1 2.65 1.35 +V CG2 2.63 1.35 +V HA 1.09 2.54 +V HB 2.10 1.48 +V 1HG1 3.59 1.82 +V 2HG1 2.93 2.25 +V 3HG1 2.95 1.94 +V 1HG2 3.58 1.82 +V 2HG2 2.91 1.94 +V 3HG2 2.91 2.24 +V H 2.13 3.69 +# TRP +W CA 0.00 3.89 +W CB 1.53 3.06 +W CG 2.59 1.65 +W CD1 3.56 2.12 +W CD2 3.49 0.49 +W NE1 4.66 1.93 +W CE2 4.60 0.92 +W CE3 3.96 1.69 +W CZ2 5.83 2.03 +W CZ3 5.33 2.45 +W CH2 6.13 2.58 +W HA 1.09 4.01 +W 1HB 2.14 3.59 +W 2HB 2.16 3.52 +W HD1 3.86 3.22 +W HE1 5.52 2.81 +W HE3 3.64 2.59 +W HH2 7.18 3.66 +W HZ2 6.72 2.98 +W HZ3 5.96 3.51 +W H 2.13 5.33 +# TYR +Y CA 0.00 4.09 +Y CB 1.53 3.09 +Y CG 2.70 1.52 +Y CD1 3.53 1.43 +Y CD2 3.69 1.45 +Y CE1 4.84 1.40 +Y CE2 4.96 1.42 +Y CZ 5.42 1.38 +Y OH 6.72 2.76 +Y HA 1.09 4.28 +Y 1HB 2.10 3.56 +Y 2HB 2.16 3.58 +Y HD1 3.55 2.53 +Y HE1 5.63 2.49 +Y HD2 3.85 2.54 +Y HE2 5.78 2.51 +Y HH 7.27 3.24 +Y H 2.13 5.42 diff --git a/data/DEFAULT.aln b/data/DEFAULT.aln new file mode 100644 index 0000000..0fd605f --- /dev/null +++ b/data/DEFAULT.aln @@ -0,0 +1,41 @@ +# A short version of 2RHE.aln: default alignment file for DRAGON 4.x +# The following line is mandatory +Seqno 10 +# 2RHE = %SD BENCE-*JONES PROTEIN (LAMBDA, VARIABLE DOMAIN) HUMAN +# KV11$RABIT = %SD IG KAPPA-B5 CHAIN V REGION (2699) (FRAGMENTS). 8/87 +# LV6E$HUMAN = %SD IG LAMBDA CHAIN PRECURSOR V-VI REGION (EB4). 11/90 +# KV1W$HUMAN = %SD IG KAPPA CHAIN PRECURSOR V-I REGION (WALKER). 11/90 +# KV3C$HUMAN = %SD IG KAPPA CHAIN PRECURSOR V-III REGION (NG9) (FRAGMENT). 11/90 +# LV7A$HUMAN = %SD IG LAMBDA CHAIN V-VII REGION (MOT). 7/86 +# KV3I$MOUSE = %SD IG KAPPA CHAIN PRECURSOR V-III REGION (MOPC 63). 11/90 +# KV09$RABIT = %SD IG KAPPA CHAIN V REGION (3381) (FRAGMENT). 8/87 +# KV12$RABIT = %SD IG KAPPA CHAIN V REGION (3368). 8/87 +# KV05$RABIT = %SD IG KAPPA CHAIN V REGION (BS-1). 8/87 +--DGV-G--- +--CAP-S--- +--WRSVT--- +--ACGTG-A- +EANDEFNADD +SFFIIYIFIV +2EMQVEVEVV +LLLMLLLLMM +TTTTTTTTTT +QQQQQQQQQQ +-T-SS-STTT +PPPPPPPPPP +# PSHSGPAASA +# SSSSTSSSSS +# AVVLLVLVVV +# SESSSSAESS +# GAEALLVAAE +# TASSSASAAP +# PVPVPALVVV +# GGGGGGGGGG +# QGKDEQQGGG +# RTTRRTRTTT +# VVVVAAAVVV +# TTTTTMTTTT +# IIIILIIIII +# SNSTSTSNKK +# CCCCCCCCCC +# -Q-RR-RQQQ diff --git a/data/DEFAULT.par b/data/DEFAULT.par new file mode 100644 index 0000000..c552c7e --- /dev/null +++ b/data/DEFAULT.par @@ -0,0 +1,74 @@ +# --- String parameters --- + +# Alignment file (default=$DRAGON_DATA/DEFAULT.aln) +Alnfnm $DRAGON_DATA/DEFAULT.aln + +# Amino acid hydrophobicity file (default=$DRAGON_DATA/DEFAULT.pho) +Phobfnm $DRAGON_DATA/DEFAULT.pho + +# Side chain volume file (default=$DRAGON_DATA/DEFAULT.vol) +Volfnm $DRAGON_DATA/DEFAULT.vol + +# File holding atom distances from C-alpha and sidechain centroids (default=$DRAGON_DATA/DEFAULT.acd) +Adistfnm $DRAGON_DATA/DEFAULT.acd + +# Amino acid similarity matrix file (default=$DRAGON_DATA/DEFAULT.sim) +Simfnm $DRAGON_DATA/DEFAULT.sim + +# External restraint file (default=) +Restrfnm + +# Secondary structure assignment file (default=) +Sstrfnm + +# Surface/buried residue assignment file (default=) +Accfnm + +# Homologous structure PDB file (default=) +Homfnm + +# Result PDB file (default=DRAGON_OUT) +Outfnm DRAGON_OUT + +# --- Integer-valued parameters ---- + +# Master sequence number (0=consensus) (default=0, limits: [0 .. 2147483647] ) +Masterno 0 + +# Maximal number of iterations in 3D (default=40, limits: [1 .. 500] ) +Maxiter 40 + +# RNG seed (default=0, limits: [0 .. 2147483647] ) +Randseed 0 + +# Maximal number of detangling iterations (default=5, limits: [1 .. 100] ) +Tangiter 5 + +# Graphics off/on (SGI version only) (default=0, limits: [0 .. 1] ) +Graph 0 + +# Minimal sequential separation for homology restraints (default=2, limits: [2 .. 2147483647] ) +Minsepar 2 + +# Maximal number of Specgrad optimisation iterations (default=30, limits: [10 .. 100] ) +Speciter 30 + +# ---- Floating-point parameters ---- + +# Minimal score limit (default=0, limits: [0 .. 1.79769e+308] ) +Minscore 0 + +# Minimal relative score change (default=0, limits: [0 .. 1.79769e+308] ) +Minchange 0 + +# Fraction of eigenvalues kept (default=0.999, limits: [0 .. 1] ) +Evfract 0.999 + +# Residue density [1/A^3] (default=0.00636, limits: [0.001 .. 0.012] ) +Density 0.00636 + +# Maximal length of homology distance restraints (default=5, limits: [0 .. 1.79769e+308] ) +Maxdist 5 + +# Precision for Specgrad iterations (default=0.02, limits: [0.0001 .. 0.1] ) +Speceps 0.02 diff --git a/data/DEFAULT.pho b/data/DEFAULT.pho new file mode 100644 index 0000000..c08905d --- /dev/null +++ b/data/DEFAULT.pho @@ -0,0 +1,25 @@ +# Membrane hydrophobicity data +A 1.73 +B 0.02 +C 0.84 +D 0.03 +E 0.01 +F 1.48 +G 1.27 +H 0.06 +I 3.46 +K 0.03 +L 2.56 +M 0.86 +N 0.01 +P 0.18 +Q 0.03 +R 0.00 +S 0.49 +T 0.59 +V 2.46 +W 0.74 +X 0.5 +Y 0.59 +Z 0.02 +- 0.0 diff --git a/data/DEFAULT.sim b/data/DEFAULT.sim new file mode 100644 index 0000000..932fdb1 --- /dev/null +++ b/data/DEFAULT.sim @@ -0,0 +1,25 @@ +# Mutation Data Matrix (250 PAMs) DRAGON 4.x default +ARNDCQEGHILKMFPSTWYVBZX + 2 -2 0 0 -2 0 0 1 -1 -1 -2 -1 -1 -4 1 1 1 -6 -3 0 0 0 0 + -2 6 0 -1 -4 1 -1 -3 2 -2 -3 3 0 -4 0 0 -1 2 -4 -2 -1 0 0 + 0 0 2 2 -4 1 1 0 2 -2 -3 1 -2 -4 -1 1 0 -4 -2 -2 2 1 0 + 0 -1 2 4 -5 2 3 1 1 -2 -4 0 -3 -6 -1 0 0 -7 -4 -2 3 3 0 + -2 -4 -4 -5 12 -5 -5 -3 -3 -2 -6 -5 -5 -4 -3 0 -2 -8 0 -2 -4 -5 0 + 0 1 1 2 -5 4 2 -1 3 -2 -2 1 -1 -5 0 -1 -1 -5 -4 -2 1 3 0 + 0 -1 1 3 -5 2 4 0 1 -2 -3 0 -2 -5 -1 0 0 -7 -4 -2 2 3 0 + 1 -3 0 1 -3 -1 0 5 -2 -3 -4 -2 -3 -5 -1 1 0 -7 -5 -1 0 -1 0 + -1 2 2 1 -3 3 1 -2 6 -2 -2 0 -2 -2 0 -1 -1 -3 0 -2 1 2 0 + -1 -2 -2 -2 -2 -2 -2 -3 -2 5 2 -2 2 1 -2 -1 0 -5 -1 4 -2 -2 0 + -2 -3 -3 -4 -6 -2 -3 -4 -2 2 6 -3 4 2 -3 -3 -2 -2 -1 2 -3 -3 0 + -1 3 1 0 -5 1 0 -2 0 -2 -3 5 0 -5 -1 0 0 -3 -4 -2 1 0 0 + -1 0 -2 -3 -5 -1 -2 -3 -2 2 4 0 6 0 -2 -2 -1 -4 -2 2 -2 -2 0 + -4 -4 -4 -6 -4 -5 -5 -5 -2 1 2 -5 0 9 -5 -3 -3 0 7 -1 -5 -5 0 + 1 0 -1 -1 -3 0 -1 -1 0 -2 -3 -1 -2 -5 6 1 0 -6 -5 -1 -1 0 0 + 1 0 1 0 0 -1 0 1 -1 -1 -3 0 -2 -3 1 2 1 -2 -3 -1 0 0 0 + 1 -1 0 0 -2 -1 0 0 -1 0 -2 0 -1 -3 0 1 3 -5 -3 0 0 -1 0 + -6 2 -4 -7 -8 -5 -7 -7 -3 -5 -2 -3 -4 0 -6 -2 -5 17 0 -6 -5 -6 0 + -3 -4 -2 -4 0 -4 -4 -5 0 -1 -1 -4 -2 7 -5 -3 -3 0 10 -2 -3 -4 0 + 0 -2 -2 -2 -2 -2 -2 -1 -2 4 2 -2 2 -1 -1 -1 0 -6 -2 4 -2 -2 0 + 0 -1 2 3 -4 1 2 0 1 -2 -3 1 -2 -5 -1 0 0 -5 -3 -2 2 2 0 + 0 0 1 3 -5 3 3 -1 2 -2 -3 0 -2 -5 0 0 -1 -6 -4 -2 2 3 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/data/DEFAULT.vol b/data/DEFAULT.vol new file mode 100644 index 0000000..f70eda9 --- /dev/null +++ b/data/DEFAULT.vol @@ -0,0 +1,25 @@ +# Amino acid volume data for DRAGON 4.x (default) +A 22.7 +B 50.2 +C 34.9 +D 46.5 +E 63.5 +F 91.1 +G 5.7 +H 74.7 +I 73.7 +K 79.5 +L 73.7 +M 74.6 +N 54.0 +P 45.3 +Q 71.0 +R 100.4 +S 30.4 +T 47.4 +V 56.7 +W 120.7 +X 50.0 +Y 100.2 +Z 67.2 +- 150.0 diff --git a/data/pam120.sim b/data/pam120.sim new file mode 100644 index 0000000..8faa065 --- /dev/null +++ b/data/pam120.sim @@ -0,0 +1,25 @@ +# Mutation Data Matrix (120 PAMs) +ARNDCQEGHILKMFPSTWYVBZX + 3 -3 -1 0 -3 -1 0 1 -3 -1 -3 -2 -2 -4 1 1 1 -7 -4 0 0 -1 -1 + -3 6 -1 -3 -4 1 -3 -4 1 -2 -4 2 -1 -5 -1 -1 -2 1 -5 -3 -2 -1 -2 + -1 -1 4 2 -5 0 1 0 2 -2 -4 1 -3 -4 -2 1 0 -4 -2 -3 3 0 -1 + 0 -3 2 5 -7 1 3 0 0 -3 -5 -1 -4 -7 -3 0 -1 -8 -5 -3 4 3 -2 + -3 -4 -5 -7 9 -7 -7 -4 -4 -3 -7 -7 -6 -6 -4 0 -3 -8 -1 -3 -6 -7 -4 + -1 1 0 1 -7 6 2 -3 3 -3 -2 0 -1 -6 0 -2 -2 -6 -5 -3 0 4 -1 + 0 -3 1 3 -7 2 5 -1 -1 -3 -4 -1 -3 -7 -2 -1 -2 -8 -5 -3 3 4 -1 + 1 -4 0 0 -4 -3 -1 5 -4 -4 -5 -3 -4 -5 -2 1 -1 -8 -6 -2 0 -2 -2 + -3 1 2 0 -4 3 -1 -4 7 -4 -3 -2 -4 -3 -1 -2 -3 -3 -1 -3 1 1 -2 + -1 -2 -2 -3 -3 -3 -3 -4 -4 6 1 -3 1 0 -3 -2 0 -6 -2 3 -3 -3 -1 + -3 -4 -4 -5 -7 -2 -4 -5 -3 1 5 -4 3 0 -3 -4 -3 -3 -2 1 -4 -3 -2 + -2 2 1 -1 -7 0 -1 -3 -2 -3 -4 5 0 -7 -2 -1 -1 -5 -5 -4 0 -1 -2 + -2 -1 -3 -4 -6 -1 -3 -4 -4 1 3 0 8 -1 -3 -2 -1 -6 -4 1 -4 -2 -2 + -4 -5 -4 -7 -6 -6 -7 -5 -3 0 0 -7 -1 8 -5 -3 -4 -1 4 -3 -5 -6 -3 + 1 -1 -2 -3 -4 0 -2 -2 -1 -3 -3 -2 -3 -5 6 1 -1 -7 -6 -2 -2 -1 -2 + 1 -1 1 0 0 -2 -1 1 -2 -2 -4 -1 -2 -3 1 3 2 -2 -3 -2 0 -1 -1 + 1 -2 0 -1 -3 -2 -2 -1 -3 0 -3 -1 -1 -4 -1 2 4 -6 -3 0 0 -2 -1 + -7 1 -4 -8 -8 -6 -8 -8 -3 -6 -3 -5 -6 -1 -7 -2 -6 12 -2 -8 -6 -7 -5 + -4 -5 -2 -5 -1 -5 -5 -6 -1 -2 -2 -5 -4 4 -6 -3 -3 -2 8 -3 -3 -5 -3 + 0 -3 -3 -3 -3 -3 -3 -2 -3 3 1 -4 1 -3 -2 -2 0 -8 -3 5 -3 -3 -1 + 0 -2 3 4 -6 0 3 0 1 -3 -4 0 -4 -5 -2 0 0 -6 -3 -3 4 2 -1 + -1 -1 0 3 -7 4 4 -2 1 -3 -3 -1 -2 -6 -1 -1 -2 -7 -5 -3 2 4 -1 + -1 -2 -1 -2 -4 -1 -1 -2 -2 -1 -2 -2 -2 -3 -2 -1 -1 -5 -3 -1 -1 -1 -2 diff --git a/data/pam250.sim b/data/pam250.sim new file mode 100644 index 0000000..932fdb1 --- /dev/null +++ b/data/pam250.sim @@ -0,0 +1,25 @@ +# Mutation Data Matrix (250 PAMs) DRAGON 4.x default +ARNDCQEGHILKMFPSTWYVBZX + 2 -2 0 0 -2 0 0 1 -1 -1 -2 -1 -1 -4 1 1 1 -6 -3 0 0 0 0 + -2 6 0 -1 -4 1 -1 -3 2 -2 -3 3 0 -4 0 0 -1 2 -4 -2 -1 0 0 + 0 0 2 2 -4 1 1 0 2 -2 -3 1 -2 -4 -1 1 0 -4 -2 -2 2 1 0 + 0 -1 2 4 -5 2 3 1 1 -2 -4 0 -3 -6 -1 0 0 -7 -4 -2 3 3 0 + -2 -4 -4 -5 12 -5 -5 -3 -3 -2 -6 -5 -5 -4 -3 0 -2 -8 0 -2 -4 -5 0 + 0 1 1 2 -5 4 2 -1 3 -2 -2 1 -1 -5 0 -1 -1 -5 -4 -2 1 3 0 + 0 -1 1 3 -5 2 4 0 1 -2 -3 0 -2 -5 -1 0 0 -7 -4 -2 2 3 0 + 1 -3 0 1 -3 -1 0 5 -2 -3 -4 -2 -3 -5 -1 1 0 -7 -5 -1 0 -1 0 + -1 2 2 1 -3 3 1 -2 6 -2 -2 0 -2 -2 0 -1 -1 -3 0 -2 1 2 0 + -1 -2 -2 -2 -2 -2 -2 -3 -2 5 2 -2 2 1 -2 -1 0 -5 -1 4 -2 -2 0 + -2 -3 -3 -4 -6 -2 -3 -4 -2 2 6 -3 4 2 -3 -3 -2 -2 -1 2 -3 -3 0 + -1 3 1 0 -5 1 0 -2 0 -2 -3 5 0 -5 -1 0 0 -3 -4 -2 1 0 0 + -1 0 -2 -3 -5 -1 -2 -3 -2 2 4 0 6 0 -2 -2 -1 -4 -2 2 -2 -2 0 + -4 -4 -4 -6 -4 -5 -5 -5 -2 1 2 -5 0 9 -5 -3 -3 0 7 -1 -5 -5 0 + 1 0 -1 -1 -3 0 -1 -1 0 -2 -3 -1 -2 -5 6 1 0 -6 -5 -1 -1 0 0 + 1 0 1 0 0 -1 0 1 -1 -1 -3 0 -2 -3 1 2 1 -2 -3 -1 0 0 0 + 1 -1 0 0 -2 -1 0 0 -1 0 -2 0 -1 -3 0 1 3 -5 -3 0 0 -1 0 + -6 2 -4 -7 -8 -5 -7 -7 -3 -5 -2 -3 -4 0 -6 -2 -5 17 0 -6 -5 -6 0 + -3 -4 -2 -4 0 -4 -4 -5 0 -1 -1 -4 -2 7 -5 -3 -3 0 10 -2 -3 -4 0 + 0 -2 -2 -2 -2 -2 -2 -1 -2 4 2 -2 2 -1 -1 -1 0 -6 -2 4 -2 -2 0 + 0 -1 2 3 -4 1 2 0 1 -2 -3 1 -2 -5 -1 0 0 -5 -3 -2 2 2 0 + 0 0 1 3 -5 3 3 -1 2 -2 -3 0 -2 -5 0 0 -1 -6 -4 -2 2 3 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/doc/dragon.gif b/doc/dragon.gif new file mode 100644 index 0000000..753d65f Binary files /dev/null and b/doc/dragon.gif differ diff --git a/doc/gradproj.gif b/doc/gradproj.gif new file mode 100644 index 0000000..2cbd1f0 Binary files /dev/null and b/doc/gradproj.gif differ diff --git a/doc/infoflow.gif b/doc/infoflow.gif new file mode 100644 index 0000000..057eab8 Binary files /dev/null and b/doc/infoflow.gif differ diff --git a/doc/man1/dragon.1 b/doc/man1/dragon.1 new file mode 100644 index 0000000..6ecbbf7 --- /dev/null +++ b/doc/man1/dragon.1 @@ -0,0 +1,553 @@ +.\" Copyright (c) 1993-1996 Andras Aszodi +.TH dragon 1 "22 May 1998" "Version 4.17" +.de BP +.sp +.ti \-.2i +\(** +.. + +.SH NAME +dragon \- Distance Geometry\-based protein modelling tool + +.SH SYNOPSIS +.hy 0 +.na +.B dragon \c +.RB "[\|" \-hMA "\|]" +.RB "[\|" "\-c \fIcommand_file" "\|]" +.RB "[\|" "\-m \fIproc_no" "\|]" +.RB "[\|" "\-p \fIparam_file" "[\|" "\-r \fIrun_no" "\|]" "\|]" +.ad b +.hy 1 +.SH DESCRIPTION +.B dragon\c +\& obtains the tertiary fold of a small protein from a multiple +alignment of its sequence and homologous sequences, the secondary +structure assignment and a set of structure\-specific distance +restraints. Distance restraints can be obtained from known +structures whose sequences participate in the alignment. + +.SH OPTIONS +If no options are given, the program enters +.B interactive mode\c +\& and displays the "DRAGON>" prompt. + +.TP +.B \-h +Prints a short help to the standard output, listing the version +number and the available command-line options, then exits. + +.TP +.B "\-c \fIcommand_file" +Executes the +.B dragon\c +\& commands in \fIcommand_file\fP. If no filename is given or +if \fIcommand_file\fP cannot be opened then the program +starts up in +.B interactive mode\c +\&. The commands + +.B "dragon \-c \fIcommand_file" +.br +.B dragon\c +\& < \fIcommand_file\fP +.br +cat \fIcommand_file\fP | +.B dragon + +are all equivalent. + +.TP +.B "\-m \fIproc_no" +Instructs +.B dragon\c +\& to spawn \fIproc_no\fP>=2 sub-processes when several simulation +runs are executed (see the +.B r[un]\c +\& command below). The simulation runs are distributed evenly +between the child processes. The parent process does not do +any work apart from monitoring the children and killing them +if is pressed. Standard output and standard error from the children +are automatically written to logfiles, one per run (not per +child process) with the name ``\fIoutput_file\fP_k.log'' +for the k-th run (cf. the parameter +.B Outfnm\c +\& below which specifies \fIoutput_file\fP). This option +implements coarse-grain parallelism on a multiprocessor machine. + +.TP +.B \-M +Start up in Parallel Virtual Machine (PVM) mode. PVM is free software +developed at the Oak Ridge National Laboratory +which links heterogeneous UNIX workstations on a network into a +virtual multiprocessor machine. Under PVM, +.B dragon -M\c +\& spawns a slave task on each node making up the virtual machine. +These slaves then perform the simulations requested by the +.B r[un]\c +\& command (see below). Before a run, the master process +checks the virtual machine configuration and therefore it is +possible to reconfigure it between runs without exiting from +.B dragon\c +\&. Load distribution is done using the "pool-of-tasks" +paradigm: the master process sends a run to the first idle slave it can find, +thus sending more work to the faster ones. +The master task communicates with the user and coordinates +data message passing. Signals caught by the master are re-sent +to the slaves which trap them exactly in the same manner +as the single-process +.B dragon\c +\& would. Consequently, in contrast to the multiprocess run, the slaves +are not killed if is caught by the master. +Standard output and standard error from the slaves +are automatically written to logfiles, one per slave +(not one per run) with the name ``\fIxxxxx@hostname\fP'' +where \fIxxxxx\fP is the PVM task ID (a hexadecimal number) +and \fIhostname\fP is the name of the node the slave is running on. +This option implements coarse-grain parallelism if no real +multiprocessor machine is available. If PVM is running, then +the +the +.B -M\c +\& option overrides the +.B -m\c +\& option. If PVM is not available, then various error messages +will be printed by the PVM library but these can be ignored. + +.TP +.B "\-p \fIparam_file [\-r \fIrun_no]" +Loads the parameters in \fIparam_file\fP into +.B dragon\c +\& and performs \fIrun_no\fP simulation runs. This option overrides +the +.B -c\c +\&, +.B -m\c +\& and +.B -M\c +\& options. + +.TP +.B \-A +This option is not entirely serious. Prints The Answer and exits. + +.SH COMMANDS +All commands are lowercase strings and the trailing +characters enclosed in square brackets can be omitted. Command names +and optional arguments are separated by whitespace. +Commands can be specified in ASCII text files where +only one command per line is allowed, or at the +``DRAGON>'' prompt in interactive mode. Lines in command +files beginning with the character +.B #\c +\& are interpreted as comments and ignored. Commands can also +be piped to the +.B dragon\c +\& standard input in which case care should be taken to separate +them by newlines. + +.TP +.B "c[ommand] \fIcommand_file" +Execute the commands in \fIcommand_file\fP. Command file calls +can be nested up to the maximal depth of 16. If \fIcommand_file\fP +is omitted then the program enters interactive mode. The number +of ``>'' characters following the ``DRAGON'' prompt indicates +the current call depth. + +.TP +.B d[efault] +Reset all parameters to their default values. + +.TP +.B h[elp] +Prints a short help on all available commands. This command works +in interactive mode only and is ignored when issued from within a command file. + +.TP +.B "l[ist] \fIParam" +List a short description and the value of parameter \fIParam\fP +to the standard output. If \fIParam\fP is omitted, then all +parameters are listed. + +.TP +.B o[s] +Invokes an OS shell (the user's default). Return to +.B dragon\c +\& by typing `exit'. + +.TP +.B "p[aram] \fIparameter_file" +Reads the parameter specifications in \fIparameter_file\fP. +It is an error if the file cannot be opened. For the parameter +description format, refer to the section +.B PARAMETERS\c +\& below. + +.TP +.B q[uit] +Quit +.B dragon\c +\&. If invoked in a nested command file, then execution of the +file is terminated and control will be returned to the caller. +.B dragon\c +\& exits only if +.B quit\c +\& was issued at the topmost level. Since execution automatically +terminates at the end of command files anyway, +.B quit\c +\& is mainly useful in interactive mode. The program asks for +confirmation before exiting. + +.TP +.B "r[un] \fIrepetition" +Perform the simulation \fIrepetition\fP times using the current +parameters but starting with a different random distance matrix +each time. If \fIrepetition\fP is omitted, then one simulation +is carried out. Simulations can be interrupted by typing . + +.TP +.B "s[ave] \fIparameter_file" +Saves the parameters to \fIparameter_file\fP or to the standard +output if \fIparameter_file\fP is omitted. + +.SH PARAMETERS +Parameters are usually specified in an ASCII text file, one +parameter per line. The name of the parameters start with +uppercase letters (to distinguish them from the commands, +see above) and must be specified literally. Commands +and parameter specifications may be freely mixed: the line + +.B "Param \fIvalue" + +encountered in a command file instructs the interpreter to +set the parameter +.B Param\c +\& to \fIvalue\fP. The parameter's +name and its value are separated by whitespaces. +Invalid parameter names and malformed parameter +specifications are ignored silently. +All parameters +have default values. The default data files live in the `data' +subdirectory and are called ``DEFAULT.*''. +Numeric parameters have a default value and +a permitted range. If a specified value is outside the range, +it will be adjusted silently to the closest upper (or lower) +limit. All distance measurements are given in angstrom +units. Lines beginning with the character +.B #\c +\& are interpreted as comments in the parameter file. + The full +list of parameters is saved to disk after each run +in the file "./DRAGON_LASTRUN.par" for reference. The following +parameters are available in the current version:- + +.TP +.B "Accfnm \fIaccessibility_file" +Residues which are known to be either on the surface or buried +inside may be specified in this file. The default is none. + +.TP +.B "Adistfnm \fIdistance_file" +Specifies the average distances of side-chain atoms from the C-alpha +atoms and from the centroid of the side chain. The default file +\fIdata/DEFAULT.acd\fP +contains data derived from the Ponder/Richards rotamer library. + +.TP +.B "Alnfnm \fIalignment_file" +Contains a multiple sequence alignment in MULTAL +vertical format or GCG horizontal format (MSF). Both formats +are quite forgiving: see the User Guide for details. +The alignment file specifies the sequence of the +model chain (see +.B Masterno\c +\& below) and the conserved hydrophobicity scores are also +deduced from it. If \fIalignment_file\fP cannot be read, +then the program falls back to a ``default alignment file'' +\fIdata/DEFAULT.aln\fP which is, of course, meaningless. + +.TP +.B "Density \fIfloat" +The number of C\-alpha atoms per cubic angstroms. This value +is surprisingly constant for proteins: use the default value +with confidence if no better guess is available. + +.TP +.B "Evfract \fIfloat" +Fraction of eigenvalues retained in each projection. A low +value means larger jumps in dimensionality towards 3D but +embedding accuracy is reduced. The default 0.95 is probably +inadequate for high-precision jobs: use 0.999 instead. + +.TP +.B "Graph \fIinteger" +This option is ignored on non-SGI machines. When set to 1, +then the distance matrices are displayed in fancy graphics +windows, and the 3D iterations can be monitored in a little +molecular movie. The graphics display uses the SGI GL graphics +language. Unfortunately this option incurs a heavy performance +penalty and therefore should be switched off when not needed. + +.TP +.B "Homfnm \fIhomologous_structure_file" +This file, if specified, contains the structure of one or more of the +sequences in the alignment in PDB format. Only monomeric structures +are considered: they may be separated by TER cards or enclosed +between MODEL/ENDMDL cards. Chain identifier characters are +ignored for the ATOM cards. The sequences belonging to the +structures are automatically +identified and then the structures are used as an additional source +of distance restraints. The distances between the positions +which are shorter than the maximal distance specified by +.B Maxdist\c +\& (see below) are used as restraints for the model. +No file is specified as default. + +.TP +.B "Masterno \fIinteger" +Specifies which sequence in the multiple alignment (see +.B Alnfnm\c +\& above) should serve as the ``master sequence'', i.e. +the model chain's sequence. If \fIinteger\fP=0 (the default), then +the consensus sequence of the alignment will be the +model sequence. + +.TP +.B "Maxdist \fIfloat" +The maximal C-alpha distance between two residues +in the known structure(s) that +can participate in homology-derived distance restraints (see +.B Homfnm\c +\&). The default +.B Maxdist\c +\& value is 5.0 angstroms, which roughly corresponds to the +first coordination sphere in protein interiors. Increased +.B Maxdist\c +\& values give better accuracy but the larger number of +restraints may result in longer simulation times. This +parameter is ignored if +.B Homfnm\c +\& is not specified (no homology modelling). + +.TP +.B "Maxiter \fIinteger" +The number of refinement iterations in 3D (default 40). +This is probably a good compromise. + +.TP +.B "Minchange \fIfloat" +The minimal change of the steric violation and distance scores +between two iterations. Serves as an exit criterion. + +.TP +.B "Minscore \fIfloat" +The minimal value of the steric violation and distance scores. +The simulation exits when the scores fall below this value. + +.TP +.B "Minsepar \fIinteger" +The minimal separation between two residues for which a homology +restraint will be generated. This parameter has to be larger than or +equal to 2 (the default value). + +.TP +.B "Outfnm \fIresult_file" +Specifies the name of the result file (default ``DRAGON_OUT''). +The best simulation result is saved to this file in PDB format, +listing the C-alpha atoms and the fake sidechain centroids +as C-beta atoms, as well as the sequence and secondary structure assignment. +The result of the k-th run will be saved +as ``\fIoutput_file\fP_k.pdb'', restraint violations are written +to ``\fIoutput_file\fP_k.viol''. + +.TP +.B "Phobfnm \fIphobicity_file" +Specifies the amino acid hydrophobicity values, the +default values are in \fIdata/DEFAULT.pho\fP. No need to be changed. + +.TP +.B "Randseed \fIinteger" +This number serves as the seed for the random number generator +used to fill up the initial distance matrix. If \fIinteger\fP=0 (the default), +then the random number generator will be seeded with the +output of \fItime(NULL)\fP, otherwise with \fIinteger\fP. +In the latter case, two consecutive runs shall give exactly +the same result (useful mainly for debugging). + +.TP +.B "Restrfnm \fIrestraint_file" +Contains the list of external distance restraints. Restraints may +be specified between C-alpha, side-chain atoms or a +pseudo-atom called `SCC' (side chain centroid) +in the form of lower/upper\-limit pairs with a ``strictness'' +value. Atom names should follow the PDB conventions. +No file is specified as the default, meaning that no +external distance restraints are available. + +.TP +.B "Simfnm \fIsimilarity_file" +Specifies the amino acid similarity matrix. The default file +\fIdata/DEFAULT.sim\fP +contains Dayhoff's PAM250 matrix. A variety of other similarity +matrices are also available in \fIdata/*.sim\fP files. + +.TP +.B "Speceps \fIprecision" +Spectral Gradient is an iterative optimisation method used to move a set of +points in Euclidean space so that their distances correspond to a prescribed +distance matrix (see Wells et al, J. Mol. Struct. 308: +263-271 (1994) for a detailed description). This parameter sets the precision +for the iteration: when the relative stress change is less than +.B Speceps\c +\&, then the iteration is terminated. Lower values mean more +iterations. + +.TP +.B "Speciter \fIiter_no" +This parameter controls the maximal number of Spectral Gradient iterations +used in Euclidean adjustments. Sometimes the method does not converge, in these +cases +.B dragon\c +\& performs a less elegant but more +robust steepest descent-like optimisation. + +.TP +.B "Sstrfnm \fIsecondary_structure_file" +This file holds the secondary structure assignments. Currently +3/10\-, alpha\- and pi\-helices and beta\-sheets are implemented. The user must +supply the alignment information for strands in a beta\-sheet. +Bifurcated sheets may be specified as overlapping "normal" sheets +following the PDB convention. A warning is issued when overlapping +sheets are encountered: all other overlapping secondary structure +elements are ignored. An optional "strictness" value between 0.0 and +1.0 may be specified for each secondary structure element in the +file which regulates the extent to which ideal secondary structure +is enforced on the model. +.B dragon\c +\& lists the accepted secondary structure specification +to stdout prior to the runs which can be used to verify that +the assignment supplied in the +.B Sstrfnm\c +\& file was correct. No file is specified as default. +Note, however, that currently a valid secondary structure +is necessary to perform detangling and +.B dragon\c +\& cannot predict secondary structure on its own yet. + +.TP +.B "Tangiter \fIinteger" +Maximal number of detangling iterations (default 5). The detangling +tries to get rid of the tangled conformations which are an +annoying artefact of Distance Geometry projections. The default +iteration number is probably a safe compromise between +speed and efficiency. Note that detangling cannot be +carried out if no secondary structure was specified. + +.TP +.B "Volfnm \fIvolume_file" +Specifies the average amino acid side-chain volumes, +the default values are in \fIdata/DEFAULT.vol\fP. No need to be changed. + +.SH DIAGNOSTICS +.B dragon\c +\& can generate various error messages of the form +.br +[ +.B ?!\c +\&] \fIclass\fP::\fImethod\fP: message + +where the prefix +.B ?\c +\& indicates warnings (recoverable errors), +the prefix +.B !\c +\& indicates fatal errors, +\fIclass\fP and \fImethod\fP specify where the error occurred +in the source. Most warnings are printed when an input file +is inaccessible or syntactically incorrect. The ``centre_dist'' +method occasionally complains about negative distances when +the input matrix is non-metric: this is normal and can safely +be ignored. Fatal errors always indicate a bug in the code. +.br +If PVM is available but +.B dragon\c +\& was invoked without the +.B \-M\c +\& flag, then the "Pvmtask_::enrol_pvm(SLAVE)" method will +complain about a missing parent task. This is harmless. +If PVM is not running then some messages about missing tempfiles +from "libpvm" may also be printed during startup. + +.B dragon\c +\& catches the following signals: SIGHUP, SIGINT, SIGQUIT, +SIGFPE, SIGPIPE, SIGALRM, SIGTERM, SIGPWR and aborts execution +immediately except on receiving SIGINT which terminates the current +simulation run only. The program returns with status code 0 +on normal termination (including a caught ), otherwise +a nonzero status code is returned which is equal to the int +value of the signal caught. + +.SH "SEE ALSO" +Aszodi, A. and Taylor, W. R. (1994): Folding polypeptide alpha\-carbon +backbones by distance geometry methods. Biopolymers \fI34\fP, 489\-505. +.br +Aszodi, A. and Taylor, W. R. (1994): Secondary structure formation +in model polypeptide chains. Prot. Engng. \fI7\fP, 633\-644. +.br +Aszodi, A. and Taylor, W. R. (1995): Estimating polypeptide alpha\-carbon +distances from multiple sequence alignments. J. Math. Chem. \fI17\fP, 167\-184. +.br +Aszodi, A., Gradwell, M. J. and Taylor, W. R. (1995): +Global fold determination from a small number of distance restraints. +J. Mol. Biol. \fI251\fP, 308\-326. +.br +Aszodi, A. and Taylor, W. R. (1996): +Hierarchic inertial projection: A fast distance matrix embedding algorithm. +Computers and Chemistry (in press) +.br +Aszodi, A. and Taylor, W. R. (1996): +Homology modelling by distance geometry. +Folding and Design\fI1\fP, 325\-334. +.br +Aszodi, A: The ``DRAGON'' User Manual. +.br +Al Geist et al.: The PVM 3 User Manual. + +.SH AUTHORS +The DRAGON algorithms were designed by Andras Aszodi and Willie Taylor +and the program was implemented by Andras Aszodi. The authors +retain all intellectual property rights. We can be reached +by e-mail at the following addresses:- +.br +a-aszodi@nimr.mrc.ac.uk +.br +w_taylor@nimr.mrc.ac.uk + +.SH PORTABILITY +Currently implemented on SGI workstations running IRIX 5.3 or +higher, and on Intel-based PCs running Linux 2.0.x. The source code +corresponds to the 3.0 version of C++ as defined in the +\fIAnnotated C++ Reference Manual\fP. The C modules conform +to pure ANSI C. Porting to other UNIX platforms should be +relatively easy apart from possible template linking problems. +The authors regret that the source code cannot +be made publicly available. + +.SH BUGS +Might creep out of the dark corners of the code. + +.SH FEATURES +Under PVM, both the master and the slaves go to sleep for 1-second +intervals before checking the message queue. This causes a little +delay between issuing the +.B r[un]\c +\& command and the first reports from the slaves. However, a lot +of CPU cycles are saved this way when the tasks are idle. + +.SH DISCLAIMER +This program is provided ``as is'' with no warranties, express or implied, +whatsoever. The fact that this software has been made publicly available +does not mean that the software is suitable for any particular +purpose. The authors will assume no responsibility for any damages +arising from the use of the software. Bug reports and suggestions +are welcome but we cannot guarantee support of any sort. diff --git a/doc/man1/hbassign.1 b/doc/man1/hbassign.1 new file mode 100644 index 0000000..7dc58cc --- /dev/null +++ b/doc/man1/hbassign.1 @@ -0,0 +1,60 @@ +.\" Copyright (c) 1993-1996 Andras Aszodi +.TH hbassign 1 "5 June 1996" +.de BP +.sp +.ti \-.2i +\(** +.. + +.SH NAME +hbassign \-main chain hydrogen bond restraint assignment + +.SH SYNOPSIS +.hy 0 +.na +.B hbassign \c +.RB control_file +.ad b +.hy 1 +.SH DESCRIPTION +.B hbassign\c +\& generates main chain hydrogen bond restraints for +homology models created with +.B dragon\c +\&. This is necessary to maintain correct secondary structure +geometries when the peptide bonds are added to the raw C\-alpha +trace of the model. + +.TP +\fIcontrol_file\fP format: + +.br +MULTAL_file +.br +target_no +.br +DSSP_file +.br +<...more DSSP files...> + +.SH +where \fIMULTAL_file\fP is the name of the alignment, +\fItarget_no\fP is the number of the target sequence +within the alignment, and \fIDSSP_file\fP is a DSSP +description of the known homologous structures in +the alignment. +.B hbassign\c +\& extracts the hydrogen bonds between equivalent main-chain +atoms and prints them to stdout in \fIQUANTA\fP NOE restraint +file format. + +.SH AUTHOR +Andras Aszodi (a-aszodi@nimr.mrc.ac.uk). + +.SH DISCLAIMER +This program is provided ``as is'' with no warranties, express or implied, +whatsoever. The fact that this software has been made publicly available +does not mean that the software is suitable for any particular +purpose. The author will assume no responsibility for any damages +arising from the use of the software. Bug reports and suggestions +are welcome but I cannot guarantee support of any sort. diff --git a/doc/man1/sidech.1 b/doc/man1/sidech.1 new file mode 100644 index 0000000..214363d --- /dev/null +++ b/doc/man1/sidech.1 @@ -0,0 +1,75 @@ +.\" Copyright (c) 1993-1996 Andras Aszodi +.TH sidech 1 "5 June 1996" +.de BP +.sp +.ti \-.2i +\(** +.. + +.SH NAME +sidech \-partial sidechain generator + +.SH SYNOPSIS +.hy 0 +.na +.B sidech \c +\fIMULTAL backbone homstruct outfile\fP +.ad b +.hy 1 +.SH DESCRIPTION +.B sidech\c +\& generates partial sidechains for protein backbone +homology models created with +.B dragon\c +\&. Equivalent sidechains are averaged and those atoms which +correspond to the target residues are transferred onto the +backbone. The program requires the following input files: + +.TP +\fIMULTAL\fP +The multiple alignment in vertical MULTAL format. +This should be the same as the "\fIAlnfnm\fP" parameter +in the DRAGON simulations. + +.TP +\fIbackbone\fP +This PDB file should contain the coordinates of the +model backbone. The recommended technique is to average +the C\-alpha backbone results from +.B dragon\c +\&'s output, add peptide atoms to it using the +.B catomain\c +\& program (by Michael Levitt) and use this as the +backbone of the target. + +.TP +\fIhomstruct\fP +This PDB file should contain the chains of the known +structures used in homology modelling (the same as the +"\fIHomfnm\fP" parameter in the DRAGON simulations). + +.TP +\fIoutfile\fP +The sidechain-decorated backbone is written to this file +in PDB format. + +.SH NOTE +.B sidech\c +\& generates only a partial side chain for an amino acid in +the target for which all equivalent residues are of different +types. If there are no equivalent amino acids (all homologous +structures are gapped), then no main-chain is generated. +The missing atoms in the output of +.B sidech\c +\& should be generated by another utility such as CHARMM. + +.SH AUTHOR +Andras Aszodi (a-aszodi@nimr.mrc.ac.uk). + +.SH DISCLAIMER +This program is provided ``as is'' with no warranties, express or implied, +whatsoever. The fact that this software has been made publicly available +does not mean that the software is suitable for any particular +purpose. The author will assume no responsibility for any damages +arising from the use of the software. Bug reports and suggestions +are welcome but I cannot guarantee support of any sort. diff --git a/doc/movie.gif b/doc/movie.gif new file mode 100644 index 0000000..3019502 Binary files /dev/null and b/doc/movie.gif differ diff --git a/doc/penguin.gif b/doc/penguin.gif new file mode 100644 index 0000000..9996f98 Binary files /dev/null and b/doc/penguin.gif differ diff --git a/doc/sgilogo.gif b/doc/sgilogo.gif new file mode 100644 index 0000000..0876183 Binary files /dev/null and b/doc/sgilogo.gif differ diff --git a/doc/sun.gif b/doc/sun.gif new file mode 100644 index 0000000..555e93b Binary files /dev/null and b/doc/sun.gif differ diff --git a/doc/ug.html b/doc/ug.html new file mode 100644 index 0000000..0729497 --- /dev/null +++ b/doc/ug.html @@ -0,0 +1,1734 @@ + + + + + The DRAGON User Guide + + + + + +
+

+The DRAGON User Guide
+Version 4.18.1
+May 2000
+

+ +
+ +
András Aszódi
+ +
Present address:
+ +
Novartis Forschungsinstitut GmbH
+ +
Brunnerstrasse 59
+ +
A-1235 Vienna, Austria
+ +
+
+

+Contents

+ + +
  • +Introduction
  • + +
  • +Preparing for a Simulation
  • + +
  • +Running a Simulation
  • + +
  • +After the Simulation
  • + +
  • +Command reference
  • + +
  • +Parameters
  • + +
  • +References
  • +
    + +
    +
    +

    +Introduction

    +DRAGON is a protein modelling tool using Distance Geometry. It was developed +at the Division of Mathematical +Biology of the National Institute +for Medical Research (NIMR) between 1993 and 1996: the algorithms were +designed by Willie R. Taylor and myself, while I am solely responsible +for the implementation. DRAGON attempts to predict the tertiary structure +of a small soluble protein, given its sequence, the secondary structure +and possibly a set of structure-specific restraints. DRAGON communicates +with you through a simple command-line interface which is used to specify +parameter values and input filenames. During the run, DRAGON keeps you +informed by writing a lot to the standard output. Finally, the model structures +are written to coordinate files in PDB format. +
    + +
    Distance restraints are obtained from external sources such +as NMR experiments and from estimates based on the conserved hydrophobicity +of residues. Background stereochemical knowledge is also included to model +the hydrophobic effect, the geometry and handedness of secondary structures +and the absence of native tangled conformations.
    + + +

    Why DRAGON? The acronym allegedly stands for "Distance Regularisation +Algorithm for Geometry OptimisatioN'', but +in fact any other silly acronym would have done, the main purpose of its +silliness being that people would remember it. +

    +

    +Typographical Conventions

    +Anything that appears in fixed-width typewriter font is either +a command, variable name etc. that must be typed literally or program output. +Emphasised words like filename describe general concepts which can +take different values depending on context etc. Items enclosed between +square brackets [ ] are optional. +
    +

    +Installation

    + +
    +

    +Supported platforms

    +Currently the following platforms and operating systems are supported:- +
      +
    • +Silicon Graphics
    • + +
        +
      • +irix-o32: IRIX 5.3 and above; MIPS-II, R4k, R5k, R8k, R10k ("old 32-bit +ABI")
      • + +
      • +irix-n32: IRIX 6.2 and above; MIPS-III, R4k, R5k, R8k, R10k ("new 32-bit +ABI")
      • + +
      • +irix-n64: IRIX 6.2 and above; MIPS-IV, R8k, R10k (64-bit ABI)
      • +
      + +
    • +IBM PC and compatibles
    • + +
        +
      • +linux: Linux 2.0.x, ELF executable format, Intel X86 processors
      • +
      + +
    • +Sun
    • + +
        +
      • +solaris-sparc: Solaris 2.x, SPARC processors
      • + +
      • +solaris-i86: Solaris 2.x, Intel X86 processors
      • +
      +
    +Please note that there is no support provided or even planned for the operating +systems marketed by Microsoft. +
    +

    +Executable installation

    +This distribution contains the executables in the subdirectories of dragon4/bin +corresponding to each architecture, and the data (dragon4/data) +and documentation (dragon4/doc) subtrees. A C shell script dragon4/bin/startup-<ARCH>.sh +is provided that sets the following environment variables:- +
      +
    • +DRAGON_ROOT: the location of the DRAGON installation tree
    • + +
    • +DRAGON_ABI: the application binary interface name
    • + +
    • +DRAGON_DATA: it contains the name of the data directory (without +the trailing slash). Data files names may then be specified in the parameter +file as $DRAGON_DATA/data.file.
    • + +
    • +PVM_ARCH: the PVM architecture name for picking the correct PVM +executable on your machines.
    • +
    +The startup script also adds the directories $DRAGON_ROOT/bin/$ABI +$PVM_ROOT/lib/$PVM_ARCH $PVM_ROOT/bin/$PVM_ARCH to your path. +
    + +
    +

    +Silicon Graphics

    +Since the introduction of IRIX 6.2, SGI provides three different application +binary interfaces (ABIs):- +
      +
    1. +irix-o32: this is the "old" 32-bit ABI which runs on every SGI machine +under IRIX 5.3 and above. The o32 version of DRAGON was compiled with the +-mips2 flag and consequently will not run on R3000 processors. +Use this ABI if you have not upgraded from IRIX 5.3 yet. Support for this +ABI will be discontinued soon.
    2. + +
    3. +irix-n32: this is the "new" 32-bit ABI which is allegedly faster than the +o32 version (your mileage may vary). From my point of view the main advantage +of this ABI was that the n32 C++ compiler supported more language features +than the old o32 version. The n32 executable of DRAGON was compiled with +the -mips3 flag and runs on R4000 processors and above under IRIX +6.2 and above. This is the preferred ABI as far as compatibility is concerned.
    4. + +
    5. +irix-n64: this is the 64-bit version of DRAGON compiled with the -mips4 +flag that runs on R8000 and R10000 processors. The code was optimised for +the R10000 processor. Please note that the n64 ABI is NOT +supported on R10000 O2 machines running IRIX 6.3.
    6. +
    +There is no support for the Intel-based SGI workstations running Windows +NT. +
    + +
    +

    +PC/Intel X86/Linux

    +The Linux executable (ELF format) was compiled with GCC/G++ 2.95.2 running +under Linux 2.2.x. You may get dire warnings in some cases where the bugs +in G++ cause problems (in particular, the program cannot catch and process +SIGINT interrupts (Ctrl-C) properly). OpenGL graphics is supported via +Brian Paul's Mesa +library. It is recommended to use an accelerated SVGA X server with +at least 16 bit colour to get the best graphics results. +
    + +
    Sun/Solaris
    + + +

    The Sun executables were compiled under Solaris 2.X using the Gnu GCC/G++ +compiler (version 2.8.1). Please note that OpenGL graphics is not supported +by the Sun version. Executables are provided for SPARC and X86 architectures. +

    +

    +Portability

    +Apart from the OpenGL graphics option, the C source is pure ANSI, while +the C++ source corresponds to the C++ Annotated Reference Manual. +It is straightforward to port DRAGON to other architectures supported +by GCC. The main obstacle to porting the code with other native compilers +is the C++ template instantiation which would require some tinkering with +the Makefiles. +
    +

    +Related software

    +There are auxiliary programs which can be used in conjunction with DRAGON +called rank, hbassign, sidech, +clumsy, secmap +but they are not absolutely necessary for using DRAGON itself. Some manual +pages are provided for these programs and they also print a few help lines +if you invoke them without any command-line arguments. + +

    DRAGON can run under PVM, a simulated parallel-processing environment. +You can obtain PVM from Netlib +but DRAGON will run without it anyway if you don't want to install it. +

    +

    +Licensing

    +The executables of DRAGON can be used by anyone, no licence is needed. +However, please keep in mind that DRAGON is the intellectual property of +William R. Taylor and András Aszódi and as such both of us +would be grateful if you cited our relevant papers +when publishing your work in which DRAGON was used. We do not distribute +the source code. +
    +

    +Disclaimer...

    +...without which it is impossible to write a good User Guide nowadays. +Let's see:- +
    Copyright © 1993-2000. András Aszódi, William R. +Taylor. +
    The DRAGON program suite is distributed free of charge. The copyright +holders therefore undertake no warranty of any kind, as detailed the NO +WARRANTY section below which was taken from the GNU General Public License +(Copyright © 1989, 1991 Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA):- +
    +

    +NO WARRANTY

    +BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE +PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY +AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, +YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +

    IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING +ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF +THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS +OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR +THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY +OF SUCH DAMAGES. +

    +

    +Special Novartis Disclaimer

    +Please note that the DRAGON package has nothing to +do with and is not endorsed in any way by my present employer, the Novartis +Forschungsinstitut GmbH, Vienna, Austria. +
    +

    +Support

    +There is none. The development of DRAGON is finished, I am not working +for the NIMR any more and I have no time for active maintenance of the +software. Sporadic updates may occur from time to time though. Bug reports +are welcome but I will not reply to them. Also, I will not provide tutorials: +when in doubt, please consult this Guide. +
    +

    +Acknowledgements

    +I would like to express my gratitude to my former boss, Willie Taylor, +for those exciting four years at the NIMR +during which DRAGON was designed and implemented. Special thanks are due +to Robin Munro, +the first user of DRAGON, whose help in testing the software proved invaluable. +He also supported the good cause by setting up the DRAGON +homepage and the anonymous +FTP site. Nigel Douglas wrote the Sun ports and helped isolating some +annoying bugs. Jan Hungershöfer added support for running multiple +slave processes on multiprocessor PVM nodes. +
    +

    +Preparing for a Simulation

    +Prior to a run, you have to make some preparations. First of all, DRAGON +will need the sequence of your protein. Although a single sequence +might be sufficient under extremely lucky circumstances, there is so much +information to be gained from a multiple alignment +that DRAGON expects you to supply one. It is also necessary to prepare +a secondary structure assignment file for +your target protein. This is the bare minimum. However, the program will +appreciate if you also supply distance restraints +which you might have obtained from your friends in the NMR lab, or from +other experimental sources. If you know for sure that a given residue is +on the surface of the molecule then you can also prepare an accessibility +file. Best of all, if the structures of some of the homologous sequences +in the multiple alignment is known, then you can attempt homology +modelling by giving DRAGON the corresponding structures in PDB +format. The names of all these files have to be specified in the parameter +file, together with other options and numerical parameter values. +
    +

    +The multiple alignment

    +Using your favourite database and search method, collect sequences which +are homologous to your target. It is usually a good idea to incorporate +distant homologs into the multiple alignment since a bunch of almost +identical sequences would not provide any extra information. The main aim +of the alignment is to pinpoint truly conserved residues: DRAGON relies +very heavily on conserved features. Since the program's speed will not +be influenced by the number of sequences in the alignment, try to collect +as many sequences as possible. + +

    Once you selected the sequences, perform the alignment. Unfortunately +DRAGON will not do this for you; you have to use a separate sequence alignment +program. With due respect, do not take the results for granted, no matter +how famous the author of the alignment program might be: silly things can +(and will) happen. The best is to use an alignment program with a good +graphical interface that lets you after-edit the raw results. Experiment +with various similarity matrices and gap penalties. If in doubt, prepare +a few different alignments. + +

    Several decades of research into biological sequences provided mankind +with a plethora of sequence alignment formats. DRAGON can read a relaxed +version of the GCG format (MSF), a PIR alignment format or a horrible +vertical format, which is similar to the output of MULTAL. I regret +that currently no other formats are acceptable. +

    +

    +Secondary structure assignment

    +DRAGON cannot predict secondary structure at the moment; it used to have +a module for that purpose but that did not really work so until we come +up with something truly snazzy, you'll have to do the assignment yourself. +NMR experiments could usually provide very good secondary structure assignments. +If you have no access to NMR data, then the secondary structure must be +predicted in some way. The auxiliary program secmap is provided +to map secondary structure information from scaffold structures onto the +target sequence using the multiple alignment if you do homology modelling. +
    +

    +Using the secmap program

    +This is how you invoke the program:- + +

    secmap alignment_file target_no DSSP_file [ DSSP_file ...] + +

    where alignment_file is the same alignment you plan to use +for modelling, target_no is the number of the target sequence +in the alignment, the DSSP_files (of which at least one is mandatory) +contain the secondary structure assignments for the scaffold structures +as generated by the DSSP program of Kabsch and Sander (not supplied). +secmap then works out the secondary structure assignment for each +residue in the target sequence and prints an output like this:- + +

    # >> Align_: Trying MULTAL format... +
    # >> Align_: MULTAL parsing successful, seqno=8 +
    # Alignment file: lact/la.aln +
    # Target sequence number = 2 +
    # Scaffold: "lact/1ALC.dssp", sequence number = 1 +
    # Scaffold: "lact/1HEL.dssp", sequence number = 5 +
    - [---] - - - +
    ... +
    R [ 1] +
    I [ 2] +
    ... +
    I [ 5] h h h +
    ... +
    L [ 12] h h +
    K [ 13] non-cons! 3 h +
    ... +
    L [ 43] 52aB---- 52aB---- 52aC---- +
    N [ 44] 51aB---- 51aB---- 51aC---- +
    Y [ 45] 50aB---- 50aB---- 50aC---- +
    Y [ 46] +
    - [---] - - - +
    - [---] - - +
    N [ 47] +
    G [ 48] +
    S [ 49] +
    S [ 50] 45aB---- 45aB---- 45aC---- +
    S [ 51] 44aB 58a 44aB 58a 44aC 58a +
    H [ 52] 43aB 57a 43aB 57a 43aC 57a +
    G [ 53] +
    L [ 54] +
    F [ 55] +
    Q [ 56] +
    I [ 57] 52aB---- 52aB---- 52aC---- +
    N [ 58] 51aB---- 51aB---- 51aC---- +
    Q [ 59] +
    ... + +

    The first two columns list the amino acids in the target sequence, with +the positions in square brackets. The character '-' indicates +that the target is gapped at that position. The next column is the mapped +secondary structure assignment, the following columns contain the secondary +structure assignments from the given scaffold DSSP files. The characters +'3', 'h', 'p' in the middle of the assignment columns indicate 3/10-, alpha- +and pi-helices, respectively, any other capital letter stands for a beta-sheet +ID (as defined in the DSSP files). For beta assignments, the numbers before +and after the sheet ID show the partner amino acids in the neighbouring +strands, 'a' and 'p' indicate antiparallel and parallel orientation, respectively. +Note that in some cases the warning "non-cons!" is printed in the mapped +assignment, indicating that the mapping is inconsistent, ie. not all scaffolds +have the same secondary structure at that particular position. This is +usually an indication of an alignment problem. + +

    It would be nice if secmap could print the mapped assignment +in the format required by the Sstrfnm parameter. +However, there are two reasons why this is not so. First, it would be damn +complex to teach secmap how to handle bifurcating sheets. Second, +you are forced to think about the secondary structure assignment +while you are constructing the Sstrfnm file. Getting it right is crucial. +

    +

    +Automatic secondary structure prediction methods

    +These can also be used but treat the results with even more suspicion than +you would the raw multiple alignments. If in doubt, try several assignments. +This "semi-combinatorial" approach is necessary if the protein contains +beta-sheets and the topology of the sheets are unknown since DRAGON needs +to know which strand is H-bonded to which strand. Note that you may specify +weights between 0.0 and 1.0 for each secondary structure element (but not +to individual residues) to indicate the uncertainty of the assignment to +the program. +
    +

    +Distance restraints

    +The classic source for distance restraints is an NMR experiment. Since +DRAGON uses a reduced chain representation internally, distances can be +specified only between C-alpha-atoms or non-hydrogen atoms in the side +chains. This is usually not a serious problem because we are interested +in the correct fold rather than the fine details of side-chain conformation. + +

    If you know the whereabouts of disulfide bridges in your protein, then +these can easily be encoded into distance restraints. Also, if someone +has determined the distances between lysines on the surface of the molecule +by crosslinking with bifunctional diimidates, his data could be used immediately. +Surface residue distances can also be deduced from fluorescence energy +transfer experiments. For all distance restraints, a lower and upper bound +may be specified, together with a weight between 0 and 1 which tells the +program how reliable that restraint is (restraints with weight 0 are ignored +completely, with weight 1 are enforced very strictly). +

    +

    +Accessibility data

    +In the absence of any external information, DRAGON attempts to bury hydrophobic +residues in the core of the molecule and moves hydrophilic residues towards +the surface. This simple heuristics can be complemented by providing a +list of residues which are known to be on the surface or in the interior. +A good example is when a residue is known to be glycosylated, which means +it has to be on the surface. The same logic applies to hydrophobic residues +known to be involved in ligand binding. These residues should be specified +in the accessibility file (see the Accfnm +parameter). +
    +

    +Homology modelling

    +If there is at least one protein in the multiple alignment whose structure +is known, DRAGON will attempt to use it as a scaffold for the target. To +this end, the scaffold structures have to be provided in PDB format and +the PDB filename has to be specified (see the Homfnm +parameter). DRAGON will extract the sequences from the PDB file, automatically +locate the sequences in the input alignment and then will deduce appropriate +distance restraints for the model from the known structures. Care must +be taken to ensure that the sequence of the PDB file, which will be deduced +from the ATOM records and NOT from +the SEQRES records, matches the sequence in the alignment. If +DRAGON notifies you that it could not find the corresponding structure, +then check the alignment and the PDB file of the known structure. + +

    Homology-derived restraints will be selected by specifying two additional +parameters, Maxdist and Minsepar. +The former is a C-alpha distance cutoff: only residue pairs closer than +this threshold will provide restraints. The latter chooses a minimal sequential +separation between the residue pairs. +

    +

    +What DRAGON will not do for you

    +I really wanted this program to be perfect. However... +
      +
    1. +DRAGON works with a single protein chain only. +No other biopolymers or non-polypeptide molecules can be handled by the +program.
    2. + +
    3. +DRAGON cannot model fine details because there +is no full-atom representation inside it. You can get some reasonable folds, +but these have to be refined by a suitable modelling method if atomic details +are needed.
    4. + +
    5. +It will not be able to model large proteins. +The hydrophobic-core building heuristics cannot handle multiple domains +or multiple cores at present. You might consider breaking up your big protein +and attempt modelling on a domain-by-domain basis.
    6. + +
    7. +It will not model membrane proteins. The reason +is the core building bit again: it was designed for water-soluble proteins +only.
    8. + +
    9. +Proteins composed of more than one polypeptide chain (oligomers) cannot +be modelled.
    10. + +
    11. +Although there is a ``homology-modelling'' option, DRAGON will not give +you the high-quality models produced by the +best specialised packages. This option is most useful when the multiple +alignment was constructed from a threading output and you need a rough +fold rather than a high-precision full-atom model.
    12. +
    + +
    +
    +

    +Running a simulation

    +At the beginning of the simulation, DRAGON constructs an internal representation +of the target from the multiple alignment, reads all parameters and data +files, smooths the distance bounds, then generates a random C-alpha distance +matrix. The seed for the random number generator is specified in the parameter +Randseed. When this number is 0, then +the current system time is used as the seed and consequently it will be +different for every run. If Randseed is nonzero, then two repeated +runs will give identical results since the same seed will be used for initialisation. +This option is mainly for debugging. +
    + +
    Overview of the gradual projection cycle.
    + + +

    In the first stage of the iteration, the restraints are applied to the +matrix and it is then embedded into a D>3-dimensional Euclidean space. +Various refinements are performed here, then the distance matrix is reconstructed +and the process is repeated until a 3-dimensional embedding is achieved. +In the second part of the simulation, the 3D structure is refined and the +best structure found so far is saved. The embedding is repeated once more +if no good structures were found in the last 5 iterations. The 3D iterations +are performed Maxiter times, then the final +result is saved to disk. You get a one-line report on the reason for termination: +normally this says + +

    "EXIT: no further improvement on 3D reprojection''. + +

    As with all Distance Geometry-based methods, a good exploration of the +conformational space is essential. Once you made sure your parameters make +sense and obtained some promising conformations, repeat the runs, starting +from a different random distance matrix each time setting the Randseed +parameter to 0. (I tend to do at least 20 parallel simulations.) Go through +the results carefully, cluster them into families, perform more runs if +necessary. +

    +

    +Modes of Operation

    +DRAGON can be run in a variety of modes. The standard way of doing things +is to invoke the program in interactive mode, when commands can +be typed directly at the keyboard and the output is produced on the terminal. +The commands can be collected in ASCII command files and the program be +run in command-file mode either by specifying the command file on +the command line, or by piping the contents to the standard input of DRAGON, +or by invoking the c[ommand] command in interactive mode. Mainly +for testing purposes, the program can be started in parameter-run mode +when a parameter file has to be specified on the terminal. To complicate +matters even further, DRAGON may also be run in parallel. +
    +

    +Interactive mode

    +In this mode, DRAGON accepts commands from the keyboard. When the program +is started, the prompt DRAGON> is displayed. The commands can +then be typed directly. There is no command history facility. A run can +be interrupted by pressing Ctrl-C (SGI machines only?) and the +program exits on the q[uit] command. +
    +

    +Command mode

    +A command file can be specified by invoking the program as + +

    dragon -c command_file [other options...] + +

    where the file command_file may contain comments, commands and +parameter name-value pairs, one per line. If the file cannot be found or +opened, then the program starts up in interactive mode. Command files may +be nested using the c nested_file command up to 16 levels +deep. This is especially useful for performing a large number of simulations +when a few parameters have to be changed systematically. + +

    The contents of command files can also be piped or redirected to DRAGON +using the standard UNIX mechanisms. This facility is provided for those +who are willing to create a graphical user interface for the program. +

    +

    +Parameter run mode

    +The program can be asked to read a parameter file parameter_file +and perform run_no simulations by invoking + +

    dragon -p parameter_file [-r run_no] + +

    If the -r option is omitted then just one simulation is performed +which is mainly useful for testing that the parameter file is OK before +attempting a long simulation session with it. +

    +

    +Parallel Processing

    +For a given set of parameters, it is advisable to repeat the simulation +runs several times (each time starting with a different random distance +matrix) to sample the set of conformations which satisfy the restraints. +These runs can be performed in parallel on a multiprocessor machine using +the multiprocess option, or on a network of UNIX workstations running +PVM. +
    +

    +Multiple processes

    +When invoked with the -m option, + +

    dragon -m procno [other options...] + +

    DRAGON spawns procno child processes when the r[un] +command is issued. procno should be larger than 1. These child processes +then execute in parallel in the background and perform the simulations. +The output is sent to logfiles, one file per simulation. The original parent +process handles the communication with you exactly in the same way as in +a serial run, and kills the child processes once they finished the calculations. +This option, although available on single processors as well, is best used +on a multiprocessor machine. There is practically no extra I/O overhead +since the internal data structures are fully set up when the parent process +spawns the children, and they inherit the data automatically. Note that +the code was not optimised for multiprocessor machines, and there is no +load balancing. +

    +

    +PVM support

    +PVM, which stands for Parallel Virtual Machine, +is free software originally developed at the Oak Ridge National Laboratory. +It supports a flexible message-passing protocol on a network of heterogeneous +UNIX computers which are linked by PVM so that they appear as a parallel +computer to the program linked with the PVM library. If you plan to use +PVM, it is a good idea to prepare a hostfile for DRAGON where the +working directory is specified as DRAGON's home directory, e.g. +for the machine george and user Joe Bloggs you would like to specify +something like this:- + +

    george wd=/usr/people/joebloggs/dragonhome + +

    otherwise the default data files will not be found. See also the PVM +manuals. + +

    To enable PVM support, invoke DRAGON with the -M flag:- + +

    dragon -M [other options...] + +

    This starts the program as the master on the local computer, and then +spawns slaves as PVM tasks on all the other nodes in the virtual machine. +On multiprocessor nodes, DRAGON checks the number of processors and the +average load, and launches as many slaves as necessary to fill the machine +up completely :-). E.g. on an 8-processor machine with an average load +of 5.0, 3 slaves will be started. The slaves will automatically re-nice +themselves to priority 10 to get out of the way as much as possible. The +master writes the following information to stdout after each slave was +launched:- + +

    Slave (1/2) [4022e] started on host machine.domain.edu + +

    this means that slave 1 out of 2 possible slaves with a task ID 4022e +was launched on "machine.domain.edu". The number of possible slaves may +vary for a given machine, depending on the overall load, but will never +exceed the number of available CPU-s. + +

    The master task will communicate with you and when you request a simulation +with the r[un] command, the master will inspect the status of +the virtual machine, re-spawns slaves if necessary and then broadcasts +the parameters to the slaves. Once they reported back that all data have +been received, the master starts assigning the runs to the slaves, one +by one. Each run is sent to the first available slave: this way, if your +virtual machine is composed of faster and slower computers, the faster +machines will do most of the job. Simulation output is redirected to logfiles, +however, there is one logfile per slave (as opposed to the multiprocess +option where one logfile per run is generated). Logfile names have the +form xxxxx@hostname, where xxxxx is a hexadecimal number +(the PVM task ID for the slave) and hostname is the name of the +actual computer that slave was running on. The master periodically writes +to the standard output to inform you about the status of the slaves. If +a slave crashes (this should not happen), its job will be re-sent to another +slave. DRAGON is smart enough to take notice of any changes you make to +the virtual machine. If nodes are added, new DRAGON slaves will soon be +spawned on them, upon the removal of nodes the half-finished tasks will +be re-started on the remaining nodes as soon as possible. + +

    Note that if PVM is not running on your +computer, then the following uninformative error message may be printed +several times to the standard error:- + +

    libpvm [pid4138]: /tmp/pvmd.761: No such file or directory + +

    which may be safely ignored. DRAGON automatically detects the situation +and will run in single-processor mode. + +

    A few tips to avoid disappointment with the PVM support option:- +

      +
    1. +Do read the PVM manual (Version 3).
    2. + +
    3. +Specify the working directory for each node in the virtual machine. DRAGON +puts all its output in the current directory. This sometimes does not work +with PVM 3.3.10., so do not be surprised if your results end up in your +home directory.
    4. + +
    5. +Signal processing may not work faultlessly under PVM. While the master +DRAGON task still catches SIGINT (Ctrl-C) and sends it to the +slaves, surprises cannot be excluded.
    6. + +
    7. +Both the master and the slaves sleep for 1-second intervals between checking +their message queues. This causes occasional slight delays, e.g. +the runs don't seem to start immediately after you issue the r[un] +command, but in fact a lot of CPU cycles are saved by this trick when the +tasks are idle.
    8. + +
    9. +Always make sure you don't slow down other people's machines without their +permission by running DRAGON under PVM on them.
    10. +
    + +
    +

    +Screen Output

    +While running, DRAGON entertains you with a considerable amount of screen +output. It is a good idea to redirect both the standard output and standard +error to a logfile when doing longer runs. If the program is in parallel +mode, then the same listing automatically goes to the logfiles (see above). +A brief and by no means exhaustive explanation of the various messages +follows below, in the order you will encounter them during a normal run. + +

    Good morning! +
    Welcome to DRAGON 4.17.8-n32 [May 15 1998, 11:39:20] +
    Algorithms by William R. Taylor & András Aszódi +
    Implementation by András Aszódi +
    (C) 1993-1997. All rights reserved. + +

    PVM: supported +
    OpenGL graphics: supported + +

    The program greets you with a version and copyright information listing. +Note that the ABI is indicated right after the version number. + +

    >>Align_: Trying MULTAL format... +
    >>Align_: MULTAL parsing successful, seqno=8 + +

    === THE MODEL CHAIN === + +

    # No. of sequences = 8, model = Seq. #1, no. of residues = 75 +
    # Aa Cons Phob Brad Acdist +
    1 K 0.0714 0.03 2.67 4.06 +
    2 S 0.288 0.49 1.94 2.01 +
    3 P 0.398 0.18 2.21 1.97 +
    ... +
    === THE MODEL CHAIN === + +

    # No. of sequences = 8, model = Seq. #1, no. of residues = 75 +
    --KSPEE--- -LKGIFEKYA AKEGDPNQLS KEELKLLLQT EFPSLLK--- GPSTLDELFE +
    ----SEEMIA EFKAAFDMFD --ADGGGDIS TKELGTVMR- MLG---QNPT KEEL-DAIIE +
    ---LAKKSNE ELEAIFKILD --QDKSGFIE DEELELFLQ- NFSAGARTLT KTET-ETFLK +
    ---MKETDSE MIREAFRVFD --KDGNGVIT AQEFRYFMV- HMG---MQFS EEEV-DEMIK +
    ---LSSKSAD DVKNVFAILD --QDRSGFIE EEELKLFLQ- NFSASARALT DAET-KAFLA +
    -PSQMEHAME TMMLTFHRFA ---GEKNYLT KEDLRVLMER EFPGFLENQK DPLAVDKIMK +
    -----EAMQE ELREAFRLYD --KQGQGFIN VSDLRDILR- ALD---DKLT EDEL-DEMIA +
    MCSSLEQALA VLVTTFHKYS CQEGDKFKLS KGEMKELLHK ELPSFVGEKV DEEGLKKLMG + +

    ELDKNGDGEV SFEEFQVLVK KISQ------ -------- +
    EVDEDGSGTI DFEEFLVMMV RQMKEDA--- -------- +
    AGDSDGDGKI GVDEFQKLVK A--------- -------- +
    EVDVDGDGEI DYEEFVKMMS NQ-------- -------- +
    AGDSDGDGKI GVEEFQSLVK P--------- -------- +
    DLDQCRDGKV GFQSFLSLVA GLIIACNDYF VVHMKQKK +
    EIDTDGSGTV DFDEFMEMMT G--------- -------- +
    NLDENSDQQV DFQEYAVFLA LITVMCNDFF QGCPDRP- +
      + +

    # Target Cons Phob Brad Acdist Alignment +
    1 K 0.0714 0.03 2.67 4.06 -------M +
    2 S 0.288 0.49 1.94 2.01 -----P-C +
    3 P 0.398 0.18 2.21 1.97 K----S-S +
    4 E 0.78 0.01 2.47 3.4 S-LMLQ-S +
    5 E 0.612 0.01 2.47 3.4 PSAKSM-L +
    6 L 0.647 2.56 2.6 2.82 EEKESEEE + +

    First the multiple alignment is read and parsed, then the model chain +parameters are listed. Target is the one-letter amino acid code, +Cons is the conservation at the given position, Phob +is the average hydrophobicity of the position (which is not the same as +the hydrophobicity of the amino acid in the master sequence), Brad +is the radius of the fake C-beta atom representing the side chain, Acdist +is the distance between the C-alpha atom and the centroid of the side chain. +Alignment lists all residues in the same position. The program +then lists the restraints, accessibilities and secondary structure assignments +in the same format as their corresponding input files (see below). Look +for error messages here as they indicate input file formatting problems. + +

    RUN 1 STARTED: Fri 04-Apr-1997 11:55:41 +
    # Randseed=117 +
    nonlin11_reg():.......................................Done +
    Q=2.359e-02, Stepno=27, t-stat=2.600e-02 +
    D=-9.793e+00 * H^6.619e-01 + 2.809e+01 +
    ... + +

    The Randseed value is the actual long number used for +initialising the random number generator. When in parallel mode, this number +gets "spiced'' with a combination of the process ID and system time to +avoid identical parallel runs. The nonlinear regression is used to calculate +the distance distribution for residue pairs with unknown distances; the +data are shown for decorative purposes only. + +

    SMUP: 4 +
    SMLOW: 3, triangle violations=0 + +

    These two lines show how many cycles were used for upper- and lower-bound +restraint smoothing. If the number of violations is larger than zero, you +might consider checking your restraint file for mistakes. + +

    CYCLE: 5 (61%, 42 secs) +
    DIST: BD=1.965e-02, NB=1.640e-06, RS=7.094e-03, SC=1.569e+00, AC=1.500e+00 +
    PROJ: Dim=6, Df=1.003e+00, STR=7.927e-04 +
    TNGL: 0 (cyc=3) +
    EUCL: IN=1.955e-05 ALL=1.408e-03 +
    EUCL: BD=7.263e-04, NB=2.156e-05, RS=1.137e-01, SC=4.703e+00, AC=1.792e+00 + +

    This is what you see during high-dimensional iteration. The DIST +and the second EUCL lines list the scores during distance matrix +and Euclidean space adjustments, respectively. BD is the virtual +bond score (between first and second neighbours), NB is the non-bond +score (bumps between anyone else), RS is the external restraint +score, SC is the secondary structure score, AC is the +accessibility score. The first EUCL line lists intermediary adjustment +scores (to be ignored). The PROJ line shows the new embedding +dimension, the isotropic density adjustment factor (which is usually very +close to 1.0 except in the first embedding) and the Spectral Gradient "stress'' +value between the actual distance matrix of the projected structure and +the initial distance matrix (the lower, the better). The TNGL +line shows the number of remaining tangles after some detangling cycles. +You would like to see 0 here. + +

    HAND: (secstr) Good:Bad=1:4 (2:32) +
    DIST: BD=2.211e-01, NB=7.904e-04, RS=5.051e-02, SC=2.517e+00, AC=7.493e-01 +
    PROJ: Dim=3, Df=1.019e+00, STR=2.103e-03 , flip +
    TNGL: 0 (cyc=0) +
    EUCL: IN=2.124e-05 2oSTR=1.061e+00 ALL=2.584e-03 +
    ** BEST: BD=5.237e-02, NB=0.000e+00, RS=3.433e-02, SC=2.185e+00, +AC=7.400e-01 + +

    This is the 3D iteration output. HAND shows the results of +the overall handedness checks which are done by inspecting the chirality +of the secondary structure elements. If more "bad'' than "good'' chiralities +are found, then the structure is "flipped'' after projection (reflected +through its centroid) to get the chiralities right. Note that the HAND +line looks slightly different during homology modelling because in that +case the correct overall chirality is obtained from a comparison to a scaffold +structure. The rest of the output is similar to the high-dimensional lines. +However, you want to see a **BEST line here, which indicates that +a good conformation has been found and saved. + +

    EXIT: no further improvement on 3D reprojection +
    TIME: 58 secs +
    END: BD=2.875e-04, NB=3.286e-04, RS=6.409e-04, SC=1.354e+00, AC=8.160e-01, +Itno:20=6+14 +
    SAVE: 3icb_test_1.pdb +
    VIOLS: 3icb_test_1.viol + +

    When the simulation finishes, the EXIT line gives you the reason +for termination. The TIME line prints the total time used for +this run. The END line lists the scores of the best conformation +once again, and the Itno field gives a summary of the cycles used +in the high-dimensional and 3D iterations. SAVE and VIOLS +list the names of the result and violation files. + +

    Occasional warning and error messages, indicating the class and method +where the problem occurred, plus a very brief and often uninformative description, +may also be printed to the standard error during the run. Warnings +are preceded by a question mark `?' and are quite likely to occur +at the beginning, if one of the input files is incorrectly formatted. Sometimes +you get one or more warnings like this before a projection step:- + +

    ? centre_dist(): Cdist2[32]=-1.164e+01 + +

    These indicate non-metricity in the distance matrix and can safely be +ignored unless there are too many of them. Another quite innocent warning +is sometimes printed by the Spectral Gradient optimisation:- + +

    ? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence +
    ? Steric_::adjust_xyz(SPECGRAD): no convergence + +

    Do not worry, DRAGON switches to another, more robust optimisation when +Spectral Gradient does not converge. + +

    What you definitely do not want to see is a fatal error message, +preceded by an exclamation mark `!'. Theoretically, they should +never occur. If they do, then a coredump usually follows, and even if you +get a model in the end, it is best to throw it away. +
    +


    +
    +

    +After the Simulation

    +The output from DRAGON is just the skeleton of your molecule: a C-alpha +backbone and dummy C-beta atoms corresponding to the centroids of the side +chains. What's more, every run will give you (slightly) different conformations. +What to do now? First of all, have a look at your raw models with a suitable +visualisation program. The best pattern recognition machine known to us +is still the human visual system. Throw away mercilessly any models which +look bad. Check tangles carefully. +
    +

    +Violation files

    +These are generated for each output file at the end of the run and contain +a listing of constraint violations which fall into three categories. BOND +restraints are the distances between first and second-neighbour C-alpha +atoms, NONBD restraints are minimal van der Waals distances. External +restraint violations (coming from NMR or homology modelling) belong to +the RESTR category, deviations from the ideal secondary structure +are shown as SECSTR. The violation files look like this:- + +

    # Atom pair Type Actual Ideal (Strict) Rel.viol Error +
    CA[ 42]: CA[ 41] BOND 3.40 < 3.80 (2.97) 0.31 10.4 % + +

    where the relative violation column is the error multiplied by the strictness +and therefore could look frightening for C-alpha:C-alpha violations which +have a high weighting. To calm your nerves, read the last column only. +However, you should not see any BOND violations and only a few +NBOND ones. If they do occur, then probably some of your external +restraints were inconsistent or you have found a horrible new bug. RESTR +and SECSTR violations are more common. Check these carefully, +too: the deviations from ideal secondary structures may be OK if the model +otherwise looks reasonable. Innocent violations below 5 % are not listed +at all. +

    +

    +Score ranking: the rank program

    +The final scores (which are the weighted sums of the relative violations +in these categories) are stored as REMARKs in the output PDB files +and can be used to filter out unacceptable conformations. An auxiliary +program, rank is available which can read these remarks and then +ranks the model structures according to various scoring criteria. Usage:- + +

    rank [-bnr] DRAGON_PDB_file(s) + +

    The flags -b, -n, -r specify that the structures +are to be sorted according to their bond, non-bond or restraint scores, +respectively. The score flags may be combined, in which case all specified +scores will be used in the ranking process. +

    +

    +Clustering: the clumsy program

    +If the raw structures seem to be satisfactory, cluster them. I wrote a +program called clumsy for that purpose, which is distributed together +with DRAGON, but you are well advised to try other programs if you can +since there are a great many clustering algorithms to choose from and clumsy +may not be the ideal for your purposes. clumsy performs a pairwise rigid-body +superposition on all of its input structures, constructs an RMS distance +matrix, and then performs hierarchical clustering using the average similarity +criterion to merge low-level clusters. Here is how to use it:- + +

    clumsy [-as] [-w window_len] [-c smooth_cycno] [-o output] PDB_files... + +

    The options have the following meaning: -a causes all atoms +to be used in the comparison (the default is C-alphas only), -s +performs smoothing on the C-alpha trace with a window length and smooth +cycle number specified by -w and -c, respectively. -o +saves the average structure of the top cluster to the specified output +file. The argument PDB files must have identical sequences and only the +first chain from each file is used in the comparison. The program prints +a dendrogram to the standard output with the coordinate RMS deviations +between the clusters. + +

    Clustering can detect outliers or the presence of fold families which +satisfy the restraints equally well. Generate average structures for the +clusters you like, or just pick one structure with the best scores from +each cluster and use these as representative conformations. +

    +

    +Preparing all-atom models: the sidech program

    +Finally, put flesh onto the bones: add the missing atoms to the DRAGON +structures. This is not a straightforward operation and requires sound +judgment. Good molecular modelling packages will do the trick for you, +and then you can apply your favourite energy minimisation method to the +models (if you believe in the usefulness of energy minimisations, of course). + +

    Start with building the main-chain from the C-alpha trace. We used the +catomain program in Willie Taylor's lab, kindly provided by M. +Levitt: this software is not included in the DRAGON suite. Once you have +the main-chain complete with N, C and O, then you can use my sidech +program to build partial sidechains using the original multiple alignment +and the known structures if you did homology modelling. Usage:- + +

    sidech alignment mainchain homstruct outfile + +

    where alignment is the original multiple alignment you used +for the model construction, mainchain is the PDB file with the +main-chain atoms of the model, homstruct contains the scaffold +structures used for homology modelling (see Homfnm). +The almost-all-atom model with the partial sidechains will be written to +outfile. CHARMm can complete these sidechains, other +modelling programs can perhaps do the whole story so that you might not +need sidech at all. +
    +


    +
    +

    +Command Reference

    +All commands are lowercase strings and the trailing characters enclosed +in square brackets can be omitted (currently only the first character of +the command name is significant). Command names and optional arguments +are separated by whitespace. Commands can be specified in ASCII text files +where only one command per line is allowed, or at the "DRAGON>'' +prompt in interactive mode. Lines in command files beginning with the character +# are interpreted as comments and ignored. Commands can also be +piped to the standard input of DRAGON in which case care should be taken +to separate them by newlines. Here are the commands in alphabetical order:- + +

    c[ommand] command_file +
    Executes the commands in command_file. Command file calls can +be nested up to the maximal depth of 16. If command_file is omitted +then the program enters interactive mode. The number of ">'' characters +following the "DRAGON'' prompt indicates the +current call depth. + +

    d[efault] +
    Resets all parameters to their default values. + +

    h[elp] +
    Prints a short help on all available commands. This command works in +interactive mode only and is ignored when issued from within a command +file. + +

    l[ist] Param +
    Lists a short description and the value of parameter Param to +the standard output. If Param is omitted, then all parameters are +listed. + +

    o[s] +
    Invokes an OS shell (your default). You can return to DRAGON by typing +"exit" on the shell command line. + +

    p[aram] parameter_file +
    Reads the parameter specifications in parameter_file. It is +an error if the file cannot be opened. For the parameter description format, +refer to the Parameters section below. A word of warning: +parameters not specified in parameter_file will +retain their previous values, sometimes causing confusion. You +could either specify all parameters in your files, or you could issue a +d[efault] command prior to reading in new parameters. + +

    q[uit] +
    Quits DRAGON. If invoked in a nested command file, then execution of +the file is terminated and control will be returned to the caller. DRAGON +exits only if q[uit] was issued at the topmost level. Since execution +automatically terminates at the end of command files anyway, q[uit] +is mainly useful in interactive mode. The program politely asks for confirmation +before exiting. + +

    r[un] repetition +
    Performs the simulation repetition times using the current parameters +but starting with a different random distance matrix each time. If repetition +is omitted, then one simulation is carried out. Simulations can be interrupted +by typing Ctrl-C. (Note: this feature is not supported when compiled +with GCC.) + +

    s[ave] parameter_file +
    Saves the parameters to parameter_file or to the standard output +if parameter_file is omitted. +
    +


    +
    +

    +Parameters

    +Parameters can be specified in one of the following ways: at the DRAGON> +prompt in interactive mode, intermixed with commands in a command +file, or in a dedicated parameter file. The name of the parameters +always start with uppercase letters (to distinguish them from the commands) +and must be specified literally. The format of the parameter specification +is always + +

    Param value + +

    where Param, the parameter's name and its value are +separated by whitespaces. Invalid parameter names and malformed parameter +specifications are ignored silently. + +

    There are two kinds of parameters: numeric parameters and filename +parameters. The latter specify various ASCII files which either describe +your modelling problem (such as the multiple alignment file or the secondary +structure assignment) or they hold generic data necessary for the operation +of DRAGON. These data files live in the subdirectory pointed to by the +$DRAGON_DATA environment variable (usually the dragon4/data +subdirectory). + +

    For your convenience, all parameters have default values which will +be used if value is missing or does not make any sense to the program. +The values contained in the default data files are also hardwired into +the program so it is possible to perform a run even if the files are missing +or inaccessible. In addition to their default values, numeric parameters +have a permitted range as well. If the value specified is outside +the range, it will be adjusted silently to the closest upper (or lower) +limit. All distance measurements are given in Å units. +

    +

    +Parameter file format

    +The parameter file is a simple ASCII text file and contains one parameter +specification per line in the format described above. Empty lines are ignored +and lines beginning with the character # are interpreted as comments. +Comment lines and parameter specification lines can be freely mixed and +the order of parameters is irrelevant. What's more, you don't have to specify +all parameters, those which are not mentioned in the parameter file will +simply retain their previous value. +
    +

    +Parameter reference

    +Below follows the complete list of available parameters in alphabetical +order. For those parameters whose values are file names, the format of +the corresponding file is also given. All these files are simple ASCII +text files, where empty lines are ignored and lines beginning with # +are treated as comments. +

    +Accfnm: Residue accessibility

    +Format: Accfnm filename +
    Default: none + +

    Residues which are known to be either on the surface or buried inside +may be specified in this file. For these residues, the normal accessibility +checks are suspended and DRAGON forces them either to the surface or to +the interior. + +

    The accessibility file consists of lines of the following format:- + +

    access_code resno [ resno... ] + +

    where access_code is the letter s or S for +surface residues, b or B for buried residues, followed +by a whitespace-separated list of residue numbers (resno). More +than one line of either kind may be specified in arbitrary order. DRAGON +filters out those residues which do not fit into the target molecule or +which were specified both as surface and buried and prints appropriate +warnings. +

    +Adistfnm: Average atom distances

    +Format: Adistfnm filename +
    Default: $DRAGON_DATA/DEFAULT.acd + +

    Specifies the average distances of side-chain atoms from the C-alpha +atoms and from the centroid of the side chain. The default file contains +data derived from the Ponder/Richards rotamer library. The data in this +file are used to convert interatomic distance restraints into restraints +between C-alpha atoms and/or side-chain centroids to match the reduced +representation of residues inside DRAGON. Since it is quite painful to +construct this file, I do not give the format here. For all practical purposes +the default values should be adequate. +

    +Alignfnm: the multiple alignment file

    +Format: Alnfnm filename +
    Default: $DRAGON_DATA/DEFAULT.aln + +

    This is perhaps the most important parameter because you specify the +sequence of your protein to be modelled as one of the sequences contained +in the multiple alignment (see the Masterno +parameter for details). The default alignment file is provided only as +an example. Alignments may be specified in the GCG format (also +known as multiple sequence format or MSF), or in MULTAL vertical +format (which actually has a few variants), or +in PIR format. + +

    The GCG format acceptable to DRAGON is more relaxed than the original. +Here is the specification:- + +

    <...any number of lines containing anything...> +
    Name: first_seq_name Len: XXX +
    Name: second_seq_name Len: YYY +
    ... +
    Name: last_seq_name Len: ZZZ +
    <...any number of lines containing anything...> +
    first_seq_name ..ALIG nM---eNT ... +
    second_seq_name ..ALIG nM...DNT ... +
    ... +
    last_seq_name ..ALIG nM-X-eNT... +
    <... any number of lines containing anything ...> +
    first_seq_name ..ALIG nM---eNT ... +
    second_seq_name ..ALIG nM...DNT ... +
    ... +
    last_seq_name ..ALIG nM-X-eNT... +
    <... any number of lines containing anything ...> + +

    As you can see, both "." and "-" are acceptable as +gap characters, whitespaces are ignored and the amino acid codes may be +lower- or uppercase. Each line can be at least as long as the maximal alignment +length (2048 chars) if I counted the bytes correctly. The length specifications +(XXX, YYY, ... ,ZZZ) need not be equal: DRAGON will use the largest +as the alignment length. + +

    The only snag with the MULTAL format is that +there is no such thing as the MULTAL format. There are subtle differences +in the first few lines where the number and names of sequences are specified. +Currently the following variants are recognised:- +

      +
    1. +DRAGON format: The first non-comment line of the file should contain the +line:
    2. + + +

      Seqno number_of_sequences + +

      and the sequence names are in general unspecified. +

    3. +MSAP format: The first non-comment lines of the file should look like this:
    4. + + +

      Block 0 +
      number_of_sequences seqs +
      USER>BS_HYDRO = Bean soup hydrolase +
      USER>NAC_DX = Nicotine deoxygenase +
      USER>ANOTH_SEQ = another sequence + +

      where the sequence abbreviations after the USER> keyword can +be anything. This is what comes out from Willie Taylor's multiple sequence/structure +alignment program MSAP. Note that currently there is a bug in some versions +of MSAP which sometimes causes the loss of the last few amino acids from +the aligned sequences. +

    5. +CAMELEON format:
    6. + + +

      block 1 = number_of_sequences seqs +
      -----USER>BS_HYDRO = Bean soup hydrolase +
      -----USER>NAC_DX = Nicotine deoxygenase +
      -----USER>ANOTH_SEQ = another sequence + +

      This is the "MULTAL output" of CAMELEON, the commercial implementation +of MULTAL (by Oxford Molecular).

    +To compensate for the confusion, the input method is not too pedantic: +the capitalization and the number after the Block or block +keyword is ignored and sequence names are not obligatory. + +

    Once we got past this mess, the rest of the non-comment lines are alignment +positions containing a string of 1-letter amino acid codes (upper- or lowercase) +or the gap character "-". Warnings are printed if invalid characters +are encountered and they will be replaced by "X" (meaning any amino acid). +Here is a sample alignment file:- + +

    Seqno 6 +
    -AAa-G +
    LLLIIL +
    RRE--K +
    ... + +

    The PIR format is relatively simple. All aligned sequences are listed +after each other in PIR format, with gaps inserted in the appropriate places. +The first line should contain the ">P1;" thing and the sequence +name, the second line is a description which is ignored (but must +be present), then follow the sequence lines, terminated with an asterisk. +Again, lowercase letters are allowed, gaps can be '-' or '.' characters. +Comment lines beginning with "#" are also allowed. If some of +the sequences happen to have different aligned lengths, then you get a +warning and the ends of the offending sequences will be padded up by gaps. +Here is an example:- + +

    >P1;BS_HYDRO +
    Bean soup hydrolase +
    LFSR--GtHrS--QWETPY +
    THRSRLLK--* + +

    >P1;NAC_DX +
    Nicotine deoxygenase +
    TTLPTR-VVMFhASLK +
    LLYKHLDNNLaLA---WQD* +
    ..... + +

    I despise hard-coded limits. However, there is an upper limit of 256 +sequences and 2048 positions built into the alignment module. In practice +you should refrain from modelling proteins larger than about 300 residues, +mainly because DRAGON cannot yet handle multidomain structures. +

    +Density: Residue density

    +Format: Density float +
    Default: 0.00636 +
    Range: 0.001 ... 0.012 + +

    This parameter specifies the number of C-alpha atoms per cubic Å. +The default value is an average calculated from a non-homologous set of +well-resolved cytosolic proteins which is is surprisingly constant: you +may use the default value with confidence if no better guess is available. +

    +Evfract: fraction of retained eigenvalues

    +Format: Evfract float +
    Default: 0.999 +
    Range: 0.00 ... 1.00 + +

    This parameter specifies the fraction of eigenvalues to be retained +in each stage of the gradual projection. A low value means larger jumps +in dimensionality towards 3D but embedding accuracy is reduced. + +

    This parameter affects the run time needed for the first part of the +simulations when DRAGON wanders around in high-dimensional spaces. See +Maxiter to get an idea how to change the +speed and precision in the second stage of the simulations. +

    +Graph: toggle graphical output

    +Format: Graph integer +
    Default: 0 +
    Range: 0,1 + +

    This option is ignored on architectures not supporting OpenGL and in +non-interactive mode. When set to 1, then the actual distance matrices +before ("Dist") and after ("Eucl") the embedding are displayed in fancy +graphics windows, and the 3D iterations can be monitored in a little molecular +movie. This option slows down the calculations slightly and therefore should +be switched off when not needed (but it is very nice to watch if you are +not in a hurry). +

    + +
    Screen snapshot of DRAGON running with graphical output enabled.
    + +

    +Homfnm: homologous structures

    +Format: Homfnm filename +
    Default: none + +

    This file, if specified, contains the 3D structure of one or more of +the sequences in the alignment in PDB format. Only monomeric structures +are considered: they may be separated by TER cards or enclosed +between MODEL/ENDMDL cards. Chain identifier characters are ignored +for the ATOM cards. It is sufficient to provide the C-alpha coordinates +only since all other PDB information will be ignored. + +

    The sequences belonging to the structures are automatically deduced +from the ATOM cards (the SEQRES cards are ignored!) and +then the structures are used as scaffolds for homology modelling. Structures +whose sequences cannot be found in the alignment will be ignored. A common +problem is to submit slightly different sequences to the multiple +alignment program but this results in disaster since DRAGON demands an +exact string match. If you wanted to do homology modelling and DRAGON tells +you that no homology-derived restraints were generated, then check the +sequences carefully. +

    +Masterno: target sequence selection

    +Format: Masterno integer +
    Default: 0 +
    Range: all non-negative integers + +

    Specifies which sequence in the multiple alignment should serve as the +"master sequence'', i.e. the model chain's sequence. If set to 0 +(the default), then the consensus sequence of the alignment will be the +model sequence. +

    +Maxdist: maximal length of homology-derived restraints

    +Format: Maxdist float +
    Default: 5.0 Å +
    Range: >= 5.0 Å + +

    This parameter specifies the maximal C-alpha distance between two residues +in the known structure(s) which are used as homology-derived restraints. +The default value roughly corresponds to the radius of the first coordination +sphere in protein interiors. Increased Maxdist values give better +accuracy but the larger number of restraints might result in slightly longer +simulation times. This parameter is ignored if Homfnm +is not specified (no homology modelling). +

    +Maxiter: 3D refinement iterations

    +Format: Maxiter integer +
    Default: 40 +
    Range: 1 ... 500 + +

    DRAGON handles 3D iterations in a special way because you are interested +in 3D models only. Untangled 3D structures are saved during the 3D iterations +if their scores are better than those of the previously saved "best'' structure. +If no acceptable structures are found, then DRAGON repeats the 3D embedding +step in every five or so cycles to get into a new local minimum. If no +acceptable structures were found in Maxiter iterations, then DRAGON +repeats the whole simulation, starting afresh from high dimensions. + +

    The choice of Maxiter affects the CPU time requirements to +a large extent. The default value is a good starting point but you should +experiment with different values to get a good tradeoff between model quality +and simulation time. In general, larger structures would need higher Maxiter +values. Note that in my experience it is probably a better idea to run +more rough simulations rather than refining a few to the extreme. +

    +Minchange: minimal score change

    +Format: Minchange float +
    Default: 0.0 +
    Range: all non-negative floating point numbers + +

    The minimal relative change of the steric violation and distance scores +between two iterations. Serves as an exit criterion. +

    +Minscore: minimal score

    +Format: Minscore float +
    Default: 0.0 +
    Range: all non-negative floating point numbers + +

    The minimal value of the steric violation and distance scores. The simulation +exits when the scores fall below this value. +

    +Minsepar: minimal sequential separation

    +Format: Minsepar integer +
    Default: 2 +
    Range: all integers >=2 + +

    The minimal sequential separation between two residues for which a homology +restraint will be generated. This parameter has to be larger than or equal +to 2 (the default value) and will be ignored when no homology file is specified. +It does not make much sense to vary this parameter and probably will not +be supported in the next release. +

    +Outfnm: output file name

    +Format: Outfnm [dir_path/]filename +
    Default: DRAGON_OUT + +

    Specifies the name from which the result filenames and various logfile +names are derived. If the optional directory path dir_path is given, +then the program attempts to create the necessary subdirectories in the +path if they do not exist already. Should the directory creation fail for +whatever reason, then the output files are created in the current working +directory. Note that environment variables like "$HOME" and other shell-dependent +things like "~" will NOT be expanded. + +

    The best simulation result is saved in PDB format, listing the C-alpha +atoms and the fake sidechain centroids as C-beta atoms, as well as the +sequence and secondary structure assignment. The result of the k-th +run will be saved as "filename_k.pdb". If a valid 3D embedding was +found, then a restraint violation file will also be generated with the +name "filename_k.viol''. In rare circumstances it might happen that +no untangled models could be found: in this case the last horrible structure +is saved anyway under the name "filename_TEMPORARY_k.pdb". +A desperate attempt is also made to untangle the structure and the result +will be saved as "filename_UNTANGLED_k.pdb". These files +are saved only to frighten you and should be discarded. +
    In parallel mode (-m option) the child processes generate +log files for each run called "filename_k.log''. +

    +Phobfnm: residue hydrophobicity file

    +Format: Phobfnm filename +
    Default: $DRAGON_DATA/DEFAULT.pho + +

    Specifies the amino acid hydrophobicity values. No need to be changed. +Every non-comment line in the file lists an amino acid (with one-letter +code) and its hydrophobicity value separated with whitespaces like this:- + +

    # Membrane hydrophobicity data +
    A 1.73 +
    B 0.02 +
    ... +
    Z 0.02 +

    +Randseed: seed for the random number generator

    +Format: Randseed integer +
    Default: 0 +
    Range: all non-negative integers + +

    This number serves as the seed for the random number generator used +to fill up the initial distance matrix. If it is 0 (the default), then +the random number generator will be seeded with the system time, otherwise +with the specified integer. If multiple runs are specified (with +the -r command-line option or via the r[un] command) +then the program assumes that Randseed=0. +

    +Restrfnm: distance restraint file name

    +Format: Restrfnm filename +
    Default: none + +

    Contains the list of external distance restraints. Restraints may be +specified between C-alpha, side-chain atoms or a pseudo-atom called "SCC" +(side chain centroid) in the form of lower/upper-limit pairs with a "strictness" +value. Atom names should follow the PDB conventions. No file is specified +as the default, meaning that no external distance restraints are available. +The format of a line in the file is:- + +

    res1 res2 lowlim uplim strict atom1 atom2 + +

    where res1, res2 are the residue numbers (>=1), lowlim +and uplim are the lower and upper distance limits in Å units, +0.0<=strict<=1.0 is the strictness value reflecting the reliability +of the restraint (0.0 means totally unreliable, 1.0 is absolutely certain), +and atom1, atom2 are the atoms linked by the restraint. Restraints +within residues can be specified if res1=res2. Here is an example:- + +

    # Example restraint file +
    6 9 4.89 5.69 0.986 CA CA +
    12 15 4.89 7.11 0.627 SCC SCC +
    15 17 3.83 4.15 0.635 CB SG +
    ... +

    +Simfnm: similarity matrix file

    +Format: Simfnm filename +
    Default: $DRAGON_DATA/DEFAULT.sim + +

    Specifies the amino acid similarity matrix. The default file contains +Dayhoff's PAM250 matrix. A variety of other similarity matrices are also +available in $DRAGON_DATA*.sim files. You can also specify your +own, here is the format:- + +

    # Mutation Data Matrix (250 PAMs) DRAGON 4.x default +
    ARNDCQEGHILKMFPSTWYVBZX +
    2 -2 0 0 -2 0 0 1 -1 -1 -2 -1 -1 -4 1 1 1 -6 -3 0 0 0 0 +
    -2 6 0 -1 -4 1 -1 -3 2 -2 -3 3 0 -4 0 0 -1 2 -4 -2 -1 0 0 +
    ... + +

    The first non-comment line should be a string that specifies the order +of the amino acids in the columns and the rows. There must be exactly as +many rows and columns as the number of characters in the order string. +The matrix elements are floating-point values separated by whitespaces. +

    +Speceps: precision for Spectral Gradient iterations

    +Format: Speceps float +
    Default: 0.02 +
    Range: 0.0001...0.1 + +

    Spectral Gradient is an iterative optimisation method used to move a +set of points in Euclidean space so that their distances correspond to +a prescribed distance matrix (see Wells et al, J. Mol. Struct. +308: 263-271 (1994) for a detailed description). This parameter +sets the precision for the iteration: when the relative "stress" change +is less than Speceps, then the iteration is terminated. Lower +values mean more iterations. See also Speciter +below. +

    +Speciter: maximal number of Spectral Gradient iterations

    +Format: Speciter integer +
    Default: 30 +
    Range: 10...100 + +

    This parameter controls the maximal number of Spectral Gradient iterations +used in Euclidean adjustments. Sometimes the method does not converge, +in these cases DRAGON performs a less elegant but more robust steepest +descent-like optimisation. +

    +Sstrfnm: secondary structure file

    +Format: Sstrfnm filename +
    Default: none + +

    This file holds the secondary structure assignments. Currently 3/10-, +alpha- and pi-helices and beta-sheets are implemented. You must supply +the alignment information for strands in a beta-sheet. Bifurcated sheets +may be specified as overlapping "normal" sheets following the PDB convention. +A warning is issued when overlapping sheets are encountered: all other +overlapping secondary structure elements are ignored. An optional "strictness" +value between 0.0 and 1.0 may be specified for each secondary structure +element in the file which regulates the extent to which ideal secondary +structure is enforced on the model. 1.0 corresponds to full adjustment, +0.0 means that the ideal geometry is not enforced at all. In some cases +it is worthwhile to specify a medium strictness, especially for long helices +(which are sometimes bent, as opposed to the ideal straight helices generated +by DRAGON) and for curved sheets. + +

    DRAGON lists the accepted secondary structure specification to standard +output prior to the runs which can be used to verify that you supplied +a correct assignment. No file is specified as default but if you fail to +provide one, then you are on your own: DRAGON cannot predict secondary +structure yet and since the detangling relies on the assignment, the results +will be of dubious value. + +

    A few words about the file format. Secondary structure elements may +be specified in any order, with comment lines in between. Helix specifications +have the format:- + +

    helixtype beg end [strict] + +

    where helixtype=ALPHA or HELIX for alpha-helices, +HX310 for 3/10-helices or HXPI for pi-helices, beginning +at residue beg and ending at end, with the optional strict +value between 0.0 and 1.0. + +

    The sheet description spans multiple lines. It starts with a line that +contains the keyword SHEET, optionally followed by a strictness +value for the whole sheet. Then comes the first strand with the format:- + +

    STRAND beg end + +

    The rest of the strands in the sheet are described like this:- + +

    STRAND beg end sense this_pos prev_pos + +

    where sense=PAR or ANTI indicates whether the +current strand is parallel or anti-parallel with respect to the previous +strand. The last two numbers describe the phasing of the strand: the residue +indicated by this_pos is hydrogen-bonded to the residue prev_pos +on the previous strand. The sheet description ends with a line containing +the keyword END. Easy, isn't it? Here is a full example:- + +

    # Example secstr file +
    # an alpha-helix +
    ALPHA 12 25 +
    # another alpha-helix +
    HELIX 39 45 +
    # a 3/10 helix +
    HX310 69 76 +
    # a pi-helix +
    HXPI 104 116 +
    # helix we're not sure about (strictness 0.5) +
    ALPHA 156 172 0.5 +
    # the main sheet has a bulge at 30 and the last strand is bifurcated +
    SHEET +
    STRAND 27 29 +
    STRAND 1 7 PAR 1 27 +
    STRAND 47 54 PAR 47 1 +
    STRAND 86 92 PAR 86 48 +
    STRAND 119 121 PAR 119 86 +
    END +
    # note that most strand descriptions are just repeated +
    SHEET +
    STRAND 27 29 +
    STRAND 1 7 PAR 1 27 +
    STRAND 47 54 PAR 47 1 +
    STRAND 86 92 PAR 86 48 +
    STRAND 145 147 PAR 145 90 +
    END +
    # little extra antiparallel sheet at strictness=0.7 +
    SHEET 0.7 +
    STRAND 137 138 +
    STRAND 141 142 ANTI 142 137 +
    STRAND 124 125 ANTI 124 142 +
    END + +

    You may also consult the PDB Format guide because the sheet representation +in this file closely follows the PDB conventions. Be careful when specifying +beta-barrels, though: I haven't tried that yet. The PDB convention of specifying +the first strand as the last would probably not work. + +

    Let me give you some tactical advice about secondary structure assignment. +It is relatively straightforward to write the assignment file if you perform +homology modelling: all you have to do is to map the secondary structure +elements in the template structure(s) onto the target sequence. If you +attempt ab initio modelling then the assignments usually come from +secondary structure predictions. Since it is not possible to assign a secondary +structure strictness value to every residue based on the probabilities +generated by most prediction programs, the workaround is to use your judgment +and assign an average strictness to the secondary structure elements. The +conformation adjustment routine does not like very short elements, i. +e. 3-residue "helices" or 2-residue strands: if you need these, then +you are probably better off by supplying some distance restraints in the +Restrfnm restraint file. + +

    Beta-sheets pose another problem. Prediction programs usually generate +the strands only but DRAGON needs the sheet topology as well. In most cases +you have to generate a few plausible topologies by hand and then compare +the results obtained from runs done with each assignment. This approach +is feasible for small sheets only. +

    +Tangiter: detangling iterations

    +Format: Tangiter integer +
    Default: 5 +
    Range: 1...100 + +

    Maximal number of detangling iterations. The detangling tries to get +rid of the tangled conformations which are an annoying artefact of Distance +Geometry projections. The default iteration number is probably a safe compromise +between speed and efficiency. Note that detangling cannot be carried out +if no secondary structure was specified. +

    +Volfnm: amino acid side chain volume file

    +Format: Volfnm filename +
    Default: $DRAGON_DATA/DEFAULT.vol + +

    Specifies the average amino acid side-chain volumes: No need to be changed. +The default file looks like this:- + +

    # Amino acid volume data for DRAGON 4.x (default) +
    A 22.7 +
    B 50.2 +
    ... +
    +


    +
    +

    +References

    +The following publications by us contain a detailed description of the +theory behind DRAGON, together with some test cases. Please refer to these +if you are interested in how the program works. Additionally, if you have +achieved a major breakthrough using DRAGON, please share your enjoyment +with us and cite some of these publications in your paper. + +

    Aszódi, A. and Taylor, W. R. (1994): +
    Folding polypeptide alpha-carbon backbones by distance geometry methods. +
    Biopolymers 34, 489-505. + +

    Taylor, W. R. and Aszódi, A. (1994): +
    Building protein folds using distance geometry: Towards a general modelling +and prediction method. +
    In: Merz, K. M., Jr. and LeGrand, S. M. (eds): The +Protein Folding Problem and Tertiary Structure Prediction, 165-192. +
    Birkhäuser, Boston. (Book chapter) + +

    Aszódi, A. and Taylor, W. R. (1994): +
    Secondary structure formation in model polypeptide chains. +
    Protein Engng. 7, 633-644. + +

    Aszódi, A., Gradwell, M. J. and Taylor, W. R. (1995): +
    Global fold determination from a small number of distance restraints. +
    J. Mol. Biol. 251, 308-326. + +

    Aszódi, A. and Taylor, W. R. (1995): +
    Estimating polypeptide alpha-carbon distances from multiple sequence +alignments. +
    J. Math. Chem. 17, 167-184. + +

    Aszódi, A. and Taylor, W. R. (1996): +
    Homology modelling by distance geometry. +
    Folding & Design 1, 325-334. + +

    Aszódi, A. and Taylor, W. R. (1997): +
    Hierarchic inertial projection: A fast distance matrix embedding algorithm. +
    Computers & Chemistry 21, 13-23. + + diff --git a/example/example.msf b/example/example.msf new file mode 100644 index 0000000..cec39d1 --- /dev/null +++ b/example/example.msf @@ -0,0 +1,25 @@ +MSF of: mul.aln from: 1 to: 80 +mul.aln MSF: 80 Type: P 12-Sep-96 11:52:4 Check: 5859 .. +Name: t0042 Len: 80 Check: 14 Weight: 1.00 +Name: PFP_ENTHI Len: 80 Check: 14 Weight: 1.00 +Name: PSPB_RAT Len: 80 Check: 14 Weight: 1.00 +Name: PSPB_CANFA Len: 80 Check: 14 Weight: 1.00 +Name: SAP_HUMAN Len: 80 Check: 14 Weight: 1.00 +Name: SAPOSIN Len: 80 Check: 14 Weight: 1.00 +Name: PSPB_PIG Len: 80 Check: 14 Weight: 1.00 +// +t0042 GYFCESCRKI IQKLEDMVGP QPNEDTVTQA ASQVCDKLK. IL.RGLCKKI +PFP_ENTHI EILCNLCTGL INTLENLLTT KGADK.VKDY ISSLCNKAS. GFIATLCTKV +PSPB_RAT NDLCQECEDI VHLLTKMTKE DAFQDTIRKF LEQECDILPL KLLVPRCRQV +PSPB_CANFA DDLCQECQDI VRILTKMTKE AIFQDMVRKF LEHECDVLPL KLLTPQCHHM +SAP_HUMAN DVYCEVCEFL VKEVTKLIDN NKTEKEILDA FDKMCSKLPK SL.SEECQEV +SAPOSIN SVTCKACEYV VKKVMELIDN NRTEEKIIHA LDSVCALLPE SV.SEVCQEV +PSPB_PIG LPFCWLC... .RTLIKRIQA VVPKGVLLKA VAQVCHVVPL PV.GGICQCL + +t0042 MRSFLRRISW DILTGKKPQA ICVDIKICKE +PFP_ENTHI LDFGIDKLIQ LIEDKVDANA ICAKIHAC.. +PSPB_RAT LDVYLPLVID YFQGQIKPKA ICSHVGLCPL +PSPB_CANFA LGTYFPVVVD YFQSQINPKI ICKHLGLCKP +SAP_HUMAN VDTYGSSILS ILLEEVSPEL VCSMLHLCSG +SAPOSIN VDTYGDSIVA LLLQEMSPEL VCSELGLCMS +PSPB_PIG AERYIVICLN MLLDRTLPQL VCGLVLRCSS diff --git a/example/example.par b/example/example.par new file mode 100644 index 0000000..161e934 --- /dev/null +++ b/example/example.par @@ -0,0 +1,74 @@ +# --- String parameters --- + +# Alignment file (default=$DRAGON_DATA/DEFAULT.aln) +Alnfnm example/example.msf + +# Amino acid hydrophobicity file (default=$DRAGON_DATA/DEFAULT.pho) +Phobfnm $DRAGON_DATA/DEFAULT.pho + +# Side chain volume file (default=$DRAGON_DATA/DEFAULT.vol) +Volfnm $DRAGON_DATA/DEFAULT.vol + +# File holding atom distances from C-alpha and sidechain centroids (default=$DRAGON_DATA/DEFAULT.acd) +Adistfnm $DRAGON_DATA/DEFAULT.acd + +# Amino acid similarity matrix file (default=$DRAGON_DATA/DEFAULT.sim) +Simfnm $DRAGON_DATA/pam120.sim + +# External restraint file (default=) +Restrfnm example/example.restraints + +# Secondary structure assignment file (default=) +Sstrfnm example/example.str + +# Surface/buried residue assignment file (default=) +Accfnm + +# Homologous structure PDB file (default=) +Homfnm + +# Result PDB file (default=DRAGON_OUT) +Outfnm example/models/example + +# --- Integer-valued parameters ---- + +# Master sequence number (0=consensus) (default=0, limits: [0 .. 2147483647] ) +Masterno 1 + +# Maximal number of iterations in 3D (default=40, limits: [1 .. 500] ) +Maxiter 50 + +# RNG seed (default=0, limits: [0 .. 2147483647] ) +Randseed 0 + +# Maximal number of pairwise steric adjustments (default=15, limits: [1 .. 200] ) +Maxst 15 + +# Maximal number of detangling iterations (default=5, limits: [1 .. 100] ) +Tangiter 10 + +# DRAGON version compatibility (default=4, limits: [3 .. 4] ) +Compat 4 + +# Graphics off/on (SGI version only) (default=0, limits: [0 .. 1] ) +Graph 0 + +# Minimal sequential separation for homology restraints (default=2, limits: [2 .. 2147483647] ) +Minsepar 2 + +# ---- Floating-point parameters ---- + +# Minimal score limit (default=0, limits: [0 .. 1.79769e+308] ) +Minscore 1e-5 + +# Minimal relative score change (default=0, limits: [0 .. 1.79769e+308] ) +Minchange 0.0001 + +# Fraction of eigenvalues kept (default=0.95, limits: [0 .. 1] ) +Evfract 0.999 + +# Residue density [1/A^3] (default=0.00636, limits: [0.001 .. 0.012] ) +Density 0.00705 + +# Maximal length of homology distance restraints (default=5, limits: [0 .. 1.79769e+308] ) +Maxdist 10 diff --git a/example/example.restraints b/example/example.restraints new file mode 100644 index 0000000..fa79180 --- /dev/null +++ b/example/example.restraints @@ -0,0 +1,11 @@ +# disulf.restr +# Known disulfide bonds in T0042: 4-76, 7-70, 35-45 +# The distances are taken from the bonds 14-41 and 45-56 in 2CTX +# which is probably NOT homologous... +# 04-Oct-1996. +4 76 6.80 7.00 1.00 CA CA +4 76 3.80 4.50 1.00 SCC SCC +7 70 5.80 6.00 1.00 CA CA +7 70 3.80 4.50 1.00 SCC SCC +35 45 5.80 6.00 1.00 CA CA +35 45 3.80 4.50 1.00 SCC SCC diff --git a/example/example.run b/example/example.run new file mode 100644 index 0000000..a9a3ca9 --- /dev/null +++ b/example/example.run @@ -0,0 +1,5 @@ +# ompa_10.run 30-Jul-1996. +p example/example.par +r 60 +q + diff --git a/example/example.str b/example/example.str new file mode 100644 index 0000000..d7399d9 --- /dev/null +++ b/example/example.str @@ -0,0 +1,9 @@ +# ompa.str +# Secstr assignment of Target 0042 +# based on phd and dsc +# STRICTNESS IS 0.3 +# 04-Oct-1996. +ALPHA 6 18 0.3 +ALPHA 24 36 0.3 +ALPHA 42 60 0.3 +ALPHA 66 72 0.3 diff --git a/example/log b/example/log new file mode 100644 index 0000000..3e8330c --- /dev/null +++ b/example/log @@ -0,0 +1,29491 @@ + +Good afternoon! +Welcome to DRAGON 4.17.8-solaris [Jun 17 1998, 14:14:09] +libpvm [pid17548]: /tmp/pvmd.1506: No such file or directory +libpvm [pid17548]: /tmp/pvmd.1506: No such file or directory +libpvm [pid17548]: /tmp/pvmd.1506: No such file or directory + , , +Algorithms by William R. Taylor & Andras Aszodi + , , +Implementation by Andras Aszodi +(C) 1993-1997. All rights reserved. + +PVM: supported +OpenGL graphics: not supported + +? Pvmtask_(): PVM not available +Command script "example.run", level 1 + +DRAGON> +DRAGON> +DRAGON> +Run DRAGON 60 times + +# >> Align_: Trying MULTAL format... + +? Align_::read_multal(): Input file is not in MULTAL format +# >> Align_: not in MULTAL format... + +# >> Align_: Trying GCG-MSF format... +# Sequence:t0042 +# Sequence:PFP_ENTHI +# Sequence:PSPB_RAT +# Sequence:PSPB_CANFA +# Sequence:SAP_HUMAN +# Sequence:SAPOSIN +# Sequence:PSPB_PIG +# >> Align_: MSF parsing successful, seqno=7 + +=== THE MODEL CHAIN === + +# No. of sequences = 7, model = Seq. #1, no. of residues = 78 +GYFCESCRKI IQKLEDMVGP QPNEDTVTQA ASQVCDKLK- IL-RGLCKKI MRSFLRRISW +EILCNLCTGL INTLENLLTT KGADK-VKDY ISSLCNKAS- GFIATLCTKV LDFGIDKLIQ +NDLCQECEDI VHLLTKMTKE DAFQDTIRKF LEQECDILPL KLLVPRCRQV LDVYLPLVID +DDLCQECQDI VRILTKMTKE AIFQDMVRKF LEHECDVLPL KLLTPQCHHM LGTYFPVVVD +DVYCEVCEFL VKEVTKLIDN NKTEKEILDA FDKMCSKLPK SL-SEECQEV VDTYGSSILS +SVTCKACEYV VKKVMELIDN NRTEEKIIHA LDSVCALLPE SV-SEVCQEV VDTYGDSIVA +LPFCWLC--- -RTLIKRIQA VVPKGVLLKA VAQVCHVVPL PV-GGICQCL AERYIVICLN + +DILTGKKPQA ICVDIKICKE +LIEDKVDANA ICAKIHAC-- +YFQGQIKPKA ICSHVGLCPL +YFQSQINPKI ICKHLGLCKP +ILLEEVSPEL VCSMLHLCSG +LLLQEMSPEL VCSELGLCMS +MLLDRTLPQL VCGLVLRCSS + + +# Target Cons Phob Brad Acdist Alignment to target +1 G 0.575 1.27 1.11 1.09 GENDDSL +2 Y 0.384 0.59 2.88 4.09 YIDDVVP +3 F 0.515 1.48 2.79 3.71 FLLLYTF +4 C 1 0.84 2.03 2.36 CCCCCCC +5 E 0.36 0.01 2.47 3.4 ENQQEKW +6 S 0.516 0.49 1.94 2.01 SLEEVAL +7 C 1 0.84 2.03 2.36 CCCCCCC +8 R 0.418 0 2.88 4.95 RTEQEE- +9 K 0.229 0.03 2.67 4.06 KGDDFY- +10 I 0.544 3.46 2.6 2.47 ILIILV- +11 I 0.612 3.46 2.6 2.47 IIVVVV- +12 Q 0.61 0.03 2.57 3.39 QNHRKKR +13 K 0.48 0.03 2.67 4.06 KTLIEKT +14 L 0.853 2.56 2.6 2.82 LLLLVVL +15 E 0.473 0.01 2.47 3.4 EETTTMI +16 D 0.733 0.03 2.23 2.56 DNKKKEK +17 M 0.652 0.86 2.61 3.26 MLMMLLR +18 V 0.67 2.46 2.38 2.07 VLTTIII +19 G 0.544 1.27 1.11 1.09 GTKKDDQ +20 P 0.571 0.18 2.21 1.97 PTEENNA +21 Q 0.534 0.03 2.57 3.39 QKDANNV +22 P 0.456 0.18 2.21 1.97 PGAIKRV +23 N 0.405 0.01 2.34 2.57 NAFFTTP +24 E 0.707 0.01 2.47 3.4 EDQQEEK +25 D 0.667 0.03 2.23 2.56 DKDDKEG +26 T 0.315 0.59 2.25 2.02 T-TMEKV +27 V 0.796 2.46 2.38 2.07 VVIVIIL +28 T 0.486 0.59 2.25 2.02 TKRRLIL +29 Q 0.575 0.03 2.57 3.39 QDKKDHK +30 A 0.458 1.73 1.76 1.61 AYFFAAA +31 A 0.521 1.73 1.76 1.61 AILLFLV +32 S 0.7 0.49 1.94 2.01 SSEEDDA +33 Q 0.565 0.03 2.57 3.39 QSQHKSQ +34 V 0.491 2.46 2.38 2.07 VLEEMVV +35 C 1 0.84 2.03 2.36 CCCCCCC +36 D 0.594 0.03 2.23 2.56 DNDDSAH +37 K 0.517 0.03 2.67 4.06 KKIVKLV +38 L 0.762 2.56 2.6 2.82 LALLLLV +39 K 0.755 0.03 2.67 4.06 KSPPPPP +40 I 0.5 3.46 2.6 2.47 IGKKSSP +41 L 0.61 2.56 2.6 2.82 LFLLLVV +42 R 0.544 0 2.88 4.95 RAVTSSG +43 G 0.531 1.27 1.11 1.09 GTPPEEG +44 L 0.486 2.56 2.6 2.82 LLRQEVI +45 C 1 0.84 2.03 2.36 CCCCCCC +46 K 0.594 0.03 2.67 4.06 KTRHQQQ +47 K 0.381 0.03 2.67 4.06 KKQHEEC +48 I 0.664 3.46 2.6 2.47 IVVMVVL +49 M 0.577 0.86 2.61 3.26 MLLLVVA +50 R 0.646 0 2.88 4.95 RDDGDDE +51 S 0.449 0.49 1.94 2.01 SFVTTTR +52 F 0.693 1.48 2.79 3.71 FGYYYYY +53 L 0.423 2.56 2.6 2.82 LILFGGI +54 R 0.493 0 2.88 4.95 RDPPSDV +55 R 0.469 0 2.88 4.95 RKLVSSI +56 I 0.538 3.46 2.6 2.47 ILVVIIC +57 S 0.639 0.49 1.94 2.01 SIIVLVL +58 W 0.338 0.74 3.07 3.89 WQDDSAN +59 D 0.426 0.03 2.23 2.56 DLYYILM +60 I 0.604 3.46 2.6 2.47 IIFFLLL +61 L 0.599 2.56 2.6 2.82 LEQQLLL +62 T 0.585 0.59 2.25 2.02 TDGSEQD +63 G 0.571 1.27 1.11 1.09 GKQQEER +64 K 0.533 0.03 2.67 4.06 KVIIVMT +65 K 0.553 0.03 2.67 4.06 KDKNSSL +66 P 0.898 0.18 2.21 1.97 PAPPPPP +67 Q 0.653 0.03 2.57 3.39 QNKKEEQ +68 A 0.561 1.73 1.76 1.61 AAAILLL +69 I 0.867 3.46 2.6 2.47 IIIIVVV +70 C 1 0.84 2.03 2.36 CCCCCCC +71 V 0.601 2.46 2.38 2.07 VASKSSG +72 D 0.414 0.03 2.23 2.56 DKHHMEL +73 I 0.741 3.46 2.6 2.47 IIVLLLV +74 K 0.406 0.03 2.67 4.06 KHGGHGL +75 I 0.571 3.46 2.6 2.47 IALLLLR +76 C 1 0.84 2.03 2.36 CCCCCCC +77 K 0.342 0.03 2.67 4.06 K-PKSMS +78 E 0.34 0.01 2.47 3.4 E-LPGSS +# Average conservation=0.588, SD=0.174 + + +=== DISTANCE LIMITS === + +4 76 6.8 7 1 CA CA +4 76 3.8 4.5 1 SCC SCC +7 70 5.8 6 1 CA CA +7 70 3.8 4.5 1 SCC SCC +35 45 5.8 6 1 CA CA +35 45 3.8 4.5 1 SCC SCC +Total number of restraints: 6 + +=== KNOWN ACCESSIBILITIES === + +# No residues with known accessibilities +SMUP: ....3 +SMLOW: ...2, triangle violations=0 + +=== SECONDARY STRUCTURE === + +ALPHA 6 18 0.3 +ALPHA 24 36 0.3 +ALPHA 42 60 0.3 +ALPHA 66 72 0.3 +RUN from 1 to 60 + +RUN 1 STARTED: Wed 17-Jun-1998 14:27:21 +# Randseed=898086441 + +nonlin11_reg():...................Done + +Q=1.424e-02, Stepno=15, t-stat=2.600e-02 + +D=-1.233e+01 * H ^5.723e-01 + 3.252e+01 + +Standard deviations: +------------- +0 | 5.24e-01 +1 | 2.03e-02 +2 | 5.07e-01 +============= + +Correlation matrix: + 0 1 2 +------------------------------------- +0 | 1.00e+00 +1 | -9.76e-01 1.00e+00 +2 | 9.93e-01 -9.52e-01 1.00e+00 +===================================== + +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-6.028e-01 +? centre_dist(): Cdist2[69]=-9.159e-01 +? centre_dist(): Cdist2[17]=-4.110e+00 +DIST: BD=8.943e-01, NB=8.775e-05, RS=5.874e-01, SC=9.905e+00, AC=2.936e+00 +PROJ: Dim=30, Df=7.973e-01, STR=7.080e-02 +TNGL: 0 (cyc=1) +EUCL: IN=9.429e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + ALL=3.819e-05 +EUCL: BD=1.718e-05, NB=0.000e+00, RS=2.169e-01, SC=6.488e-01, AC=2.640e+00 +CYCLE: 2 (39%, 6 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +DIST: BD=3.068e+01, NB=3.342e-04, RS=7.663e-01, SC=9.531e+00, AC=2.479e+00 +PROJ: Dim=24, Df=9.912e-01, STR=4.509e-05 +TNGL: 0 (cyc=5) +EUCL: IN=1.696e-04 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + ALL=8.312e-05 +EUCL: BD=3.118e-05, NB=0.000e+00, RS=2.625e-01, SC=1.358e+00, AC=2.605e+00 +CYCLE: 3 (44%, 12 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.853e-02, NB=0.000e+00, RS=5.113e-01, SC=2.032e+00, AC=2.747e+00 +PROJ: Dim=23, Df=9.974e-01, STR=7.895e-04 +TNGL: 0 (cyc=2) +EUCL: IN=4.540e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=7.350e-05 +EUCL: BD=3.619e-05, NB=0.000e+00, RS=2.570e-01, SC=1.515e+00, AC=2.669e+00 +CYCLE: 4 (44%, 17 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=9.304e-03, NB=0.000e+00, RS=4.920e-01, SC=2.061e+00, AC=2.876e+00 +PROJ: Dim=15, Df=9.956e-01, STR=6.397e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=4.613e-04 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.205e-04 +EUCL: BD=3.407e-05, NB=6.946e-06, RS=3.778e-01, SC=1.807e+00, AC=2.799e+00 +CYCLE: 5 (51%, 20 secs) +DIST: BD=1.105e-02, NB=0.000e+00, RS=4.811e-01, SC=1.645e+00, AC=2.715e+00 +PROJ: Dim=10, Df=1.001e+00, STR=4.104e-04 +TNGL: 0 (cyc=4) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=9.795e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=7.237e-05 +EUCL: BD=1.833e-05, NB=1.156e-06, RS=2.772e-01, SC=1.185e+00, AC=2.455e+00 +CYCLE: 6 (55%, 22 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=9.436e-02, NB=2.143e-04, RS=5.858e-01, SC=4.526e+00, AC=2.429e+00 +PROJ: Dim=9, Df=9.988e-01, STR=4.911e-03 +TNGL: 0 (cyc=4) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=1.699e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.791e-05 +EUCL: BD=2.117e-05, NB=2.177e-08, RS=5.186e-01, SC=8.380e-01, AC=2.301e+00 +CYCLE: 7 (55%, 25 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.768e-02, NB=6.784e-06, RS=7.224e-01, SC=2.191e+00, AC=2.326e+00 +PROJ: Dim=8, Df=9.326e-01, STR=1.200e-03 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=6.586e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.291e-04 +EUCL: BD=3.034e-05, NB=4.539e-06, RS=5.794e-01, SC=1.225e+00, AC=2.367e+00 +CYCLE: 8 (56%, 27 secs) +DIST: BD=2.440e-02, NB=0.000e+00, RS=6.548e-01, SC=1.406e+00, AC=1.831e+00 +PROJ: Dim=5, Df=1.008e+00, STR=1.236e-03 +TNGL: 0 (cyc=3) +EUCL: IN=1.671e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=2.730e-05 +EUCL: BD=1.634e-05, NB=1.164e-06, RS=2.559e-01, SC=4.235e-01, AC=2.118e+00 +CYCLE: 9 (59%, 29 secs) +HAND: (secstr) Good:Bad=3:1 (29:11) +DIST: BD=1.484e-01, NB=6.442e-04, RS=5.032e-01, SC=3.950e+00, AC=9.282e-01 +PROJ: Dim=3, Df=1.021e+00, STR=7.222e-03 +TNGL: 0 (cyc=0) +EUCL: IN=3.187e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.777e+00 ALL=1.666e-03 +** BEST: BD=5.305e-04, NB=5.502e-05, RS=4.604e-01, SC=3.801e+00, AC=7.359e-01 +CYCLE: 10 (60%, 30 secs) +TNGL: 0 (cyc=0) +EUCL: IN=4.358e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.776e+00 ALL=7.751e-04 +EUCL: BD=8.089e-05, NB=4.173e-05, RS=4.575e-01, SC=3.040e+00, AC=1.023e+00 +CYCLE: 11 (61%, 31 secs) +TNGL: 0 (cyc=0) +EUCL: IN=5.150e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.734e+00 ALL=8.353e-04 +EUCL: BD=5.927e-04, NB=6.190e-05, RS=4.681e-01, SC=2.591e+00, AC=8.731e-01 +CYCLE: 12 (62%, 32 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.994e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.686e+00 ALL=8.665e-04 +EUCL: BD=3.048e-04, NB=1.606e-04, RS=5.874e-01, SC=1.617e+00, AC=1.078e+00 +CYCLE: 13 (62%, 32 secs) +TNGL: 0 (cyc=0) +EUCL: IN=2.505e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.682e+00 ALL=6.623e-04 +EUCL: BD=4.780e-04, NB=1.158e-04, RS=5.327e-01, SC=1.758e+00, AC=1.010e+00 +CYCLE: 14 (63%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=2.479e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.667e+00 ALL=7.247e-04 +EUCL: BD=3.308e-04, NB=1.314e-04, RS=4.989e-01, SC=1.696e+00, AC=8.474e-01 +CYCLE: 15 (64%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=2.880e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.699e+00 ALL=6.074e-04 +EUCL: BD=4.054e-04, NB=1.081e-04, RS=4.564e-01, SC=1.961e+00, AC=7.692e-01 +CYCLE: 16 (65%, 35 secs) +HAND: (secstr) Good:Bad=3:1 (28:12) +DIST: BD=2.290e-02, NB=8.916e-05, RS=2.958e-01, SC=2.253e+00, AC=8.603e-01 +PROJ: Dim=3, Df=9.995e-01, STR=1.330e-03 +TNGL: 0 (cyc=0) +EUCL: IN=4.102e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.765e+00 ALL=7.868e-04 +EUCL: BD=7.929e-04, NB=1.180e-04, RS=4.106e-01, SC=2.255e+00, AC=1.122e+00 +CYCLE: 17 (66%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.857e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.664e+00 ALL=8.921e-04 +EUCL: BD=2.108e-04, NB=1.496e-04, RS=6.449e-01, SC=2.140e+00, AC=1.062e+00 +CYCLE: 18 (66%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=2.340e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.657e+00 ALL=1.019e-03 +EUCL: BD=5.961e-04, NB=8.201e-05, RS=5.622e-01, SC=1.913e+00, AC=1.006e+00 +CYCLE: 19 (67%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.253e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.684e+00 ALL=8.913e-04 +EUCL: BD=2.315e-04, NB=1.271e-04, RS=5.525e-01, SC=1.889e+00, AC=1.071e+00 +CYCLE: 20 (68%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=2.655e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.697e+00 ALL=1.044e-03 +EUCL: BD=3.376e-04, NB=1.365e-04, RS=5.979e-01, SC=1.702e+00, AC=9.833e-01 +CYCLE: 21 (69%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.080e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.666e+00 ALL=8.736e-04 +EUCL: BD=1.716e-03, NB=6.868e-05, RS=6.544e-01, SC=1.967e+00, AC=1.014e+00 +CYCLE: 22 (70%, 40 secs) +HAND: (secstr) Good:Bad=3:1 (28:12) +DIST: BD=2.293e-02, NB=9.280e-05, RS=3.045e-01, SC=2.340e+00, AC=9.167e-01 +PROJ: Dim=3, Df=9.994e-01, STR=1.329e-03 +TNGL: 0 (cyc=0) +EUCL: IN=4.537e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.764e+00 ALL=8.093e-04 +EUCL: BD=4.546e-04, NB=7.368e-05, RS=3.710e-01, SC=2.764e+00, AC=1.012e+00 +EXIT: no further improvement on 3D reprojection +TIME: 40 secs +END: BD=5.305e-04, NB=5.502e-05, RS=4.604e-01, SC=3.801e+00, AC=7.359e-01, Itno:22=9+13 +SAVE: models/example_1.pdb +VIOLS: models/example_1.viol + +Run 1 finished: Wed 17-Jun-1998 14:28:04 + +RUN 2 STARTED: Wed 17-Jun-1998 14:28:04 +# Randseed=898086484 +CYCLE: 1 (0%, 0 seconds) +DIST: BD=2.878e-01, NB=6.944e-05, RS=6.786e-01, SC=9.304e+00, AC=2.901e+00 +PROJ: Dim=29, Df=7.920e-01, STR=6.404e-02 +TNGL: 0 (cyc=2) +EUCL: IN=1.697e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=4.156e-05 +EUCL: BD=2.622e-05, NB=0.000e+00, RS=8.094e-02, SC=8.569e-01, AC=2.653e+00 +CYCLE: 2 (40%, 5 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.910e-03, NB=0.000e+00, RS=2.042e-01, SC=9.132e-01, AC=2.581e+00 +PROJ: Dim=26, Df=9.452e-01, STR=1.251e-04 +TNGL: 0 (cyc=1) +EUCL: IN=1.603e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=2.332e-05 +EUCL: BD=1.671e-05, NB=0.000e+00, RS=2.425e-01, SC=3.602e-01, AC=2.504e+00 +CYCLE: 3 (42%, 13 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.506e-03, NB=0.000e+00, RS=2.925e-01, SC=8.692e-01, AC=2.733e+00 +PROJ: Dim=17, Df=9.396e-01, STR=1.571e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.282e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.198e-05 +EUCL: BD=1.898e-05, NB=0.000e+00, RS=3.384e-01, SC=5.938e-01, AC=2.653e+00 +CYCLE: 4 (49%, 18 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.900e-02, NB=0.000e+00, RS=7.052e-01, SC=2.997e+00, AC=2.708e+00 +PROJ: Dim=11, Df=9.988e-01, STR=1.563e-03 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=7.587e-04 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=8.777e-05 +EUCL: BD=6.497e-06, NB=0.000e+00, RS=5.316e-01, SC=1.757e+00, AC=2.572e+00 +CYCLE: 5 (54%, 20 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.917e-02, NB=0.000e+00, RS=9.320e-01, SC=2.495e+00, AC=2.709e+00 +PROJ: Dim=10, Df=9.957e-01, STR=1.939e-03 +TNGL: 0 (cyc=3) +EUCL: IN=5.522e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=6.231e-05 +EUCL: BD=2.916e-05, NB=4.873e-06, RS=4.893e-01, SC=8.140e-01, AC=2.554e+00 +CYCLE: 6 (55%, 23 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.684e-02, NB=0.000e+00, RS=6.551e-01, SC=1.218e+00, AC=2.555e+00 +PROJ: Dim=9, Df=9.684e-01, STR=7.616e-04 +TNGL: 0 (cyc=4) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.599e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.915e-05 +EUCL: BD=4.816e-05, NB=2.519e-06, RS=4.981e-01, SC=3.865e-01, AC=2.469e+00 +CYCLE: 7 (55%, 26 secs) +DIST: BD=1.400e-02, NB=8.512e-06, RS=6.824e-01, SC=1.217e+00, AC=2.438e+00 +PROJ: Dim=6, Df=1.006e+00, STR=7.931e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.449e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=2.687e-05 +EUCL: BD=4.123e-05, NB=2.373e-06, RS=5.743e-01, SC=4.244e-01, AC=2.309e+00 +CYCLE: 8 (58%, 27 secs) +DIST: BD=4.818e-02, NB=5.172e-04, RS=4.028e-01, SC=1.875e+00, AC=1.309e+00 +PROJ: Dim=4, Df=1.010e+00, STR=2.741e-03 +TNGL: 0 (cyc=2) +EUCL: IN=8.368e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.565e-04 +EUCL: BD=6.101e-05, NB=4.497e-05, RS=5.930e-01, SC=1.531e+00, AC=1.787e+00 +CYCLE: 9 (59%, 29 secs) +HAND: (secstr) Good:Bad=3:1 (23:17) +DIST: BD=7.723e-02, NB=7.696e-04, RS=7.235e-01, SC=2.421e+00, AC=1.056e+00 +PROJ: Dim=3, Df=1.011e+00, STR=4.867e-03 +TNGL: 0 (cyc=0) +EUCL: IN=1.282e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.339e+00 ALL=8.915e-04 +** BEST: BD=3.557e-04, NB=6.379e-04, RS=1.003e+00, SC=2.087e+00, AC=9.538e-01 +CYCLE: 10 (60%, 30 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.217e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.166e+00 ALL=6.687e-04 +EUCL: BD=6.461e-04, NB=8.458e-04, RS=1.093e+00, SC=1.433e+00, AC=9.718e-01 +CYCLE: 11 (61%, 31 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.544e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.114e+00 ALL=6.544e-04 +EUCL: BD=1.598e-04, NB=5.118e-04, RS=1.051e+00, SC=1.455e+00, AC=1.026e+00 +CYCLE: 12 (62%, 32 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.349e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.084e+00 ALL=6.840e-04 +EUCL: BD=3.962e-04, NB=7.229e-04, RS=1.013e+00, SC=1.456e+00, AC=1.013e+00 +CYCLE: 13 (62%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.004e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.054e+00 ALL=6.234e-04 +EUCL: BD=1.925e-04, NB=9.285e-04, RS=9.121e-01, SC=1.377e+00, AC=1.001e+00 +CYCLE: 14 (63%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.426e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.088e+00 ALL=5.671e-04 +EUCL: BD=7.330e-05, NB=7.905e-04, RS=9.064e-01, SC=1.651e+00, AC=1.047e+00 +CYCLE: 15 (64%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.297e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.060e+00 ALL=5.339e-04 +EUCL: BD=9.399e-05, NB=9.976e-04, RS=7.958e-01, SC=1.834e+00, AC=1.090e+00 +CYCLE: 16 (65%, 36 secs) +HAND: (secstr) Good:Bad=1:3 (16:24) +DIST: BD=1.443e-02, NB=7.183e-04, RS=9.875e-01, SC=1.284e+00, AC=9.833e-01 +PROJ: Dim=3, Df=1.000e+00, STR=7.974e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=9.912e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.109e+00 ALL=6.523e-04 +EUCL: BD=6.471e-04, NB=7.772e-04, RS=1.060e+00, SC=1.405e+00, AC=1.222e+00 +CYCLE: 17 (66%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.116e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.091e+00 ALL=5.906e-04 +EUCL: BD=4.115e-04, NB=7.660e-04, RS=1.071e+00, SC=1.209e+00, AC=9.397e-01 +CYCLE: 18 (66%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.123e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.131e+00 ALL=7.247e-04 +EUCL: BD=2.725e-03, NB=5.687e-04, RS=9.758e-01, SC=9.121e-01, AC=1.055e+00 +CYCLE: 19 (67%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.332e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.119e+00 ALL=6.977e-04 +EUCL: BD=1.525e-04, NB=8.679e-04, RS=9.399e-01, SC=1.328e+00, AC=1.044e+00 +CYCLE: 20 (68%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.476e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.809e-01 ALL=7.727e-04 +EUCL: BD=3.815e-04, NB=7.726e-04, RS=8.825e-01, SC=1.701e+00, AC=1.188e+00 +CYCLE: 21 (69%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.057e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.091e+00 ALL=6.679e-04 +EUCL: BD=3.234e-05, NB=8.473e-04, RS=8.004e-01, SC=1.451e+00, AC=1.159e+00 +CYCLE: 22 (70%, 41 secs) +HAND: (secstr) Good:Bad=1:3 (16:24) +DIST: BD=1.485e-02, NB=7.522e-04, RS=9.918e-01, SC=1.311e+00, AC=1.037e+00 +PROJ: Dim=3, Df=1.000e+00, STR=8.140e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=1.033e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.103e+00 ALL=7.584e-04 +EUCL: BD=4.773e-04, NB=7.343e-04, RS=9.850e-01, SC=1.738e+00, AC=1.022e+00 +EXIT: no further improvement on 3D reprojection +TIME: 42 secs +END: BD=3.557e-04, NB=6.379e-04, RS=1.003e+00, SC=2.087e+00, AC=9.538e-01, Itno:22=9+13 +SAVE: models/example_2.pdb +VIOLS: models/example_2.viol + +Run 2 finished: Wed 17-Jun-1998 14:28:46 + +RUN 3 STARTED: Wed 17-Jun-1998 14:28:46 +# Randseed=898086526 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-5.724e+00 +? centre_dist(): Cdist2[69]=-1.144e+00 +? centre_dist(): Cdist2[69]=-1.455e+00 +? centre_dist(): Cdist2[69]=-7.807e-01 +DIST: BD=6.489e-01, NB=9.317e-05, RS=6.735e-01, SC=9.404e+00, AC=2.867e+00 +PROJ: Dim=31, Df=8.125e-01, STR=6.555e-02 +TNGL: 0 (cyc=2) +EUCL: IN=1.263e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=5.994e-05 +EUCL: BD=3.489e-05, NB=3.032e-06, RS=3.152e-01, SC=9.122e-01, AC=2.687e+00 +CYCLE: 2 (38%, 6 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.073e-03, NB=0.000e+00, RS=3.625e-01, SC=8.433e-01, AC=2.764e+00 +PROJ: Dim=26, Df=9.775e-01, STR=1.644e-04 +TNGL: 0 (cyc=2) +EUCL: IN=8.672e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + ALL=5.187e-05 +EUCL: BD=2.430e-05, NB=6.840e-07, RS=1.297e-01, SC=8.591e-01, AC=2.567e+00 +CYCLE: 3 (42%, 13 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=5.773e-03, NB=0.000e+00, RS=1.683e-01, SC=1.466e+00, AC=2.819e+00 +PROJ: Dim=17, Df=9.580e-01, STR=3.650e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.061e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.814e-05 +EUCL: BD=5.208e-06, NB=0.000e+00, RS=1.766e-01, SC=5.434e-01, AC=2.447e+00 +CYCLE: 4 (49%, 19 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.120e-02, NB=0.000e+00, RS=7.473e-01, SC=1.967e+00, AC=2.746e+00 +PROJ: Dim=16, Df=9.993e-01, STR=1.123e-03 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.906e-04 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=7.894e-05 +EUCL: BD=1.015e-05, NB=2.874e-05, RS=3.475e-01, SC=1.596e+00, AC=2.669e+00 +CYCLE: 5 (50%, 22 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.800e-02, NB=0.000e+00, RS=8.475e-01, SC=2.691e+00, AC=2.824e+00 +PROJ: Dim=15, Df=9.980e-01, STR=1.699e-03 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=5.411e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=2.737e-05 +EUCL: BD=2.367e-05, NB=0.000e+00, RS=7.275e-01, SC=7.167e-01, AC=2.460e+00 +CYCLE: 6 (51%, 26 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.310e-02, NB=5.828e-06, RS=9.625e-01, SC=1.474e+00, AC=2.647e+00 +PROJ: Dim=14, Df=9.994e-01, STR=6.219e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.285e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.119e-05 +EUCL: BD=4.628e-05, NB=0.000e+00, RS=6.838e-01, SC=2.946e-01, AC=2.327e+00 +CYCLE: 7 (51%, 30 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=7.527e-02, NB=5.743e-06, RS=1.005e+00, SC=2.248e+00, AC=2.305e+00 +PROJ: Dim=9, Df=9.989e-01, STR=1.679e-03 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.403e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.232e-05 +EUCL: BD=2.534e-05, NB=0.000e+00, RS=6.109e-01, SC=7.445e-01, AC=2.288e+00 +CYCLE: 8 (55%, 32 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.877e-02, NB=0.000e+00, RS=8.190e-01, SC=1.464e+00, AC=2.149e+00 +PROJ: Dim=8, Df=9.778e-01, STR=8.582e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.712e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 5 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=5.616e-05 +EUCL: BD=5.348e-05, NB=0.000e+00, RS=6.034e-01, SC=6.035e-01, AC=2.195e+00 +CYCLE: 9 (56%, 34 secs) +DIST: BD=1.090e-02, NB=1.417e-04, RS=6.376e-01, SC=8.591e-01, AC=1.882e+00 +PROJ: Dim=5, Df=1.007e+00, STR=4.972e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.999e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.583e-05 +EUCL: BD=3.047e-05, NB=2.435e-05, RS=6.036e-01, SC=4.722e-01, AC=1.760e+00 +CYCLE: 10 (59%, 36 secs) + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +HAND: (secstr) Good:Bad=1:3 (7:33) +DIST: BD=1.147e+00, NB=8.106e-04, RS=7.694e-01, SC=3.158e+00, AC=8.154e-01 +PROJ: Dim=3, Df=1.022e+00, STR=8.708e-04 , flip +TNGL: 0 (cyc=1) +EUCL: IN=4.489e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.187e+00 ALL=1.038e-03 +** BEST: BD=1.652e-04, NB=3.902e-04, RS=4.715e-01, SC=3.624e+00, AC=9.564e-01 +CYCLE: 11 (60%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=4.447e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.095e+00 ALL=6.779e-04 +EUCL: BD=3.373e-04, NB=9.254e-05, RS=4.578e-01, SC=2.602e+00, AC=1.005e+00 +CYCLE: 12 (61%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.514e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.100e+00 ALL=8.739e-04 +EUCL: BD=4.371e-04, NB=2.781e-04, RS=3.711e-01, SC=2.525e+00, AC=7.718e-01 +CYCLE: 13 (62%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.019e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.151e+00 ALL=1.109e-03 +EUCL: BD=2.854e-04, NB=1.436e-04, RS=5.113e-01, SC=2.760e+00, AC=9.103e-01 +CYCLE: 14 (62%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.258e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.093e+00 ALL=1.023e-03 +** BEST: BD=3.315e-05, NB=2.016e-04, RS=4.689e-01, SC=2.779e+00, AC=9.769e-01 +CYCLE: 15 (62%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.547e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.106e+00 ALL=1.124e-03 +EUCL: BD=2.161e-05, NB=1.300e-04, RS=6.022e-01, SC=2.654e+00, AC=9.551e-01 +CYCLE: 16 (63%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.403e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.141e+00 ALL=1.153e-03 +EUCL: BD=1.891e-04, NB=1.310e-04, RS=5.738e-01, SC=2.955e+00, AC=8.038e-01 +CYCLE: 17 (64%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.127e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.189e+00 ALL=1.221e-03 +EUCL: BD=1.380e-04, NB=1.924e-04, RS=5.985e-01, SC=3.433e+00, AC=8.269e-01 +CYCLE: 18 (65%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.604e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.206e+00 ALL=1.174e-03 +EUCL: BD=9.610e-05, NB=1.853e-04, RS=6.163e-01, SC=3.603e+00, AC=8.962e-01 +CYCLE: 19 (66%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.388e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.410e+00 ALL=2.349e-03 +EUCL: BD=1.578e-04, NB=3.365e-04, RS=6.769e-01, SC=4.256e+00, AC=1.053e+00 +CYCLE: 20 (66%, 44 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.881e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.316e+00 ALL=1.632e-03 +EUCL: BD=5.277e-04, NB=3.507e-04, RS=6.033e-01, SC=3.966e+00, AC=9.500e-01 +CYCLE: 21 (67%, 45 secs) +HAND: (secstr) Good:Bad=3:1 (34:6) +DIST: BD=2.861e-02, NB=8.178e-05, RS=4.796e-01, SC=2.258e+00, AC=1.072e+00 +PROJ: Dim=3, Df=1.001e+00, STR=1.370e-03 +TNGL: 0 (cyc=0) +EUCL: IN=8.725e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.107e+00 ALL=1.068e-03 +EUCL: BD=6.363e-05, NB=1.726e-04, RS=4.832e-01, SC=2.701e+00, AC=1.067e+00 +CYCLE: 22 (68%, 46 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.395e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.079e+00 ALL=7.991e-04 +EUCL: BD=5.118e-05, NB=6.546e-05, RS=5.175e-01, SC=2.402e+00, AC=9.372e-01 +CYCLE: 23 (69%, 47 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.376e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.058e+00 ALL=8.427e-04 +EUCL: BD=1.442e-04, NB=1.142e-04, RS=4.914e-01, SC=2.504e+00, AC=8.821e-01 +CYCLE: 24 (70%, 47 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.142e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.108e+00 ALL=6.677e-04 +** BEST: BD=2.000e-05, NB=7.175e-05, RS=4.656e-01, SC=2.766e+00, AC=7.449e-01 +CYCLE: 25 (70%, 48 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.240e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.079e+00 ALL=5.771e-04 +EUCL: BD=3.837e-05, NB=9.762e-05, RS=6.373e-01, SC=2.776e+00, AC=9.359e-01 +CYCLE: 26 (70%, 49 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.115e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.064e+00 ALL=5.664e-04 +EUCL: BD=1.125e-04, NB=1.802e-04, RS=6.064e-01, SC=2.951e+00, AC=8.282e-01 +CYCLE: 27 (71%, 50 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.820e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.023e+00 ALL=6.248e-04 +EUCL: BD=2.018e-04, NB=8.115e-05, RS=6.580e-01, SC=2.668e+00, AC=9.308e-01 +CYCLE: 28 (72%, 50 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.903e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.048e+00 ALL=7.095e-04 +EUCL: BD=4.292e-04, NB=8.504e-05, RS=5.911e-01, SC=2.440e+00, AC=9.064e-01 +CYCLE: 29 (73%, 51 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.821e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.983e-01 ALL=6.694e-04 +EUCL: BD=1.103e-04, NB=1.870e-04, RS=5.314e-01, SC=2.555e+00, AC=7.744e-01 +CYCLE: 30 (74%, 52 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.931e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.054e+00 ALL=6.501e-04 +EUCL: BD=2.160e-04, NB=1.053e-04, RS=6.357e-01, SC=2.692e+00, AC=8.654e-01 +CYCLE: 31 (74%, 53 secs) +HAND: (secstr) Good:Bad=3:1 (34:6) +DIST: BD=1.875e-02, NB=3.416e-05, RS=5.446e-01, SC=2.297e+00, AC=9.449e-01 +PROJ: Dim=3, Df=9.990e-01, STR=8.040e-04 +TNGL: 0 (cyc=0) +EUCL: IN=9.361e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.107e+00 ALL=5.747e-04 +EUCL: BD=4.895e-05, NB=1.642e-04, RS=5.786e-01, SC=3.214e+00, AC=9.064e-01 +CYCLE: 32 (75%, 54 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.036e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.046e+00 ALL=5.769e-04 +EUCL: BD=1.903e-04, NB=1.759e-04, RS=5.900e-01, SC=2.851e+00, AC=9.833e-01 +CYCLE: 33 (76%, 54 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.634e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.075e+00 ALL=5.977e-04 +EUCL: BD=2.467e-04, NB=1.720e-04, RS=6.260e-01, SC=2.889e+00, AC=9.756e-01 +CYCLE: 34 (77%, 55 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.028e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.046e+00 ALL=8.048e-04 +EUCL: BD=1.853e-04, NB=1.846e-04, RS=5.965e-01, SC=2.745e+00, AC=1.065e+00 +CYCLE: 35 (77%, 56 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.446e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.016e+00 ALL=7.224e-04 +EUCL: BD=2.691e-04, NB=1.765e-04, RS=5.763e-01, SC=2.558e+00, AC=9.936e-01 +CYCLE: 36 (78%, 57 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.821e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.549e-01 ALL=7.234e-04 +EUCL: BD=3.466e-04, NB=8.927e-05, RS=4.982e-01, SC=2.384e+00, AC=7.538e-01 +CYCLE: 37 (79%, 58 secs) +HAND: (secstr) Good:Bad=3:1 (34:6) +DIST: BD=1.729e-02, NB=3.425e-05, RS=5.321e-01, SC=2.272e+00, AC=9.179e-01 +PROJ: Dim=3, Df=9.993e-01, STR=7.673e-04 +TNGL: 0 (cyc=0) +EUCL: IN=9.164e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.097e+00 ALL=5.928e-04 +EUCL: BD=6.950e-05, NB=7.062e-05, RS=5.811e-01, SC=2.914e+00, AC=9.051e-01 +EXIT: no further improvement on 3D reprojection +TIME: 58 secs +END: BD=2.000e-05, NB=7.175e-05, RS=4.656e-01, SC=2.766e+00, AC=7.449e-01, Itno:37=12+25 +SAVE: models/example_3.pdb +VIOLS: models/example_3.viol + +Run 3 finished: Wed 17-Jun-1998 14:29:45 + +RUN 4 STARTED: Wed 17-Jun-1998 14:29:45 +# Randseed=898086585 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-6.913e+00 +? centre_dist(): Cdist2[69]=-6.152e-01 +? centre_dist(): Cdist2[69]=-1.247e+00 +DIST: BD=7.842e-01, NB=0.000e+00, RS=8.049e-01, SC=1.181e+01, AC=2.974e+00 +PROJ: Dim=30, Df=8.085e-01, STR=6.644e-02 +TNGL: 0 (cyc=1) +EUCL: IN=7.723e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=2.034e-05 +EUCL: BD=3.388e-05, NB=0.000e+00, RS=1.441e-01, SC=4.455e-01, AC=2.505e+00 +CYCLE: 2 (39%, 6 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.158e-02, NB=0.000e+00, RS=4.228e-01, SC=1.550e+00, AC=2.678e+00 +PROJ: Dim=29, Df=9.507e-01, STR=4.411e-04 +TNGL: 0 (cyc=2) +EUCL: IN=3.812e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + ALL=6.758e-05 +EUCL: BD=1.103e-05, NB=7.369e-07, RS=1.707e-01, SC=8.685e-01, AC=2.576e+00 +CYCLE: 3 (40%, 14 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.095e-02, NB=0.000e+00, RS=3.191e-01, SC=1.277e+00, AC=2.808e+00 +PROJ: Dim=19, Df=9.914e-01, STR=4.116e-04 +TNGL: 0 (cyc=2) +EUCL: IN=2.372e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=4.526e-05 +EUCL: BD=1.872e-05, NB=4.869e-06, RS=3.134e-01, SC=3.839e-01, AC=2.468e+00 +CYCLE: 4 (48%, 20 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.322e-02, NB=0.000e+00, RS=6.021e-01, SC=1.503e+00, AC=2.687e+00 +PROJ: Dim=12, Df=9.380e-01, STR=7.579e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=1.822e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.468e-05 +EUCL: BD=1.233e-05, NB=0.000e+00, RS=3.888e-01, SC=3.277e-01, AC=2.329e+00 +CYCLE: 5 (53%, 23 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.900e-02, NB=0.000e+00, RS=7.488e-01, SC=1.743e+00, AC=2.721e+00 +PROJ: Dim=11, Df=9.919e-01, STR=1.037e-03 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.742e-04 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=5.426e-05 +EUCL: BD=8.112e-05, NB=0.000e+00, RS=3.593e-01, SC=1.247e+00, AC=2.627e+00 +CYCLE: 6 (54%, 25 secs) +DIST: BD=1.744e-02, NB=4.479e-06, RS=5.348e-01, SC=1.285e+00, AC=2.667e+00 +PROJ: Dim=10, Df=1.000e+00, STR=5.030e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.693e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.841e-05 +EUCL: BD=5.475e-05, NB=4.045e-06, RS=2.162e-01, SC=5.849e-01, AC=2.442e+00 +CYCLE: 7 (55%, 28 secs) +DIST: BD=2.066e-02, NB=5.707e-06, RS=3.802e-01, SC=1.368e+00, AC=2.122e+00 +PROJ: Dim=6, Df=1.008e+00, STR=8.740e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.794e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.428e-05 +EUCL: BD=3.641e-05, NB=1.722e-06, RS=3.160e-01, SC=5.213e-01, AC=2.029e+00 +CYCLE: 8 (58%, 30 secs) +DIST: BD=4.020e-02, NB=2.288e-05, RS=3.971e-01, SC=1.679e+00, AC=1.872e+00 +PROJ: Dim=5, Df=1.005e+00, STR=1.684e-03 +TNGL: 0 (cyc=4) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.729e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + ALL=1.430e-04 +EUCL: BD=1.460e-05, NB=9.923e-05, RS=4.779e-01, SC=9.065e-01, AC=1.928e+00 +CYCLE: 9 (59%, 31 secs) +DIST: BD=4.367e-02, NB=3.131e-05, RS=6.605e-01, SC=2.686e+00, AC=1.077e+00 +PROJ: Dim=4, Df=1.007e+00, STR=2.378e-03 +TNGL: 0 (cyc=3) +EUCL: IN=7.202e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.208e-04 +EUCL: BD=9.310e-06, NB=7.540e-05, RS=5.617e-01, SC=1.486e+00, AC=1.697e+00 +CYCLE: 10 (59%, 33 secs) +HAND: (secstr) Good:Bad=1:3 (20:20) +DIST: BD=1.314e-01, NB=2.259e-04, RS=9.352e-01, SC=3.795e+00, AC=1.203e+00 +PROJ: Dim=3, Df=1.013e+00, STR=6.262e-03 , flip +TNGL: 0 (cyc=2) +EUCL: IN=1.041e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.755e+00 ALL=1.412e-03 +** BEST: BD=9.053e-04, NB=1.383e-04, RS=1.204e+00, SC=3.262e+00, AC=1.035e+00 +CYCLE: 11 (60%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.864e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.709e+00 ALL=1.094e-03 +EUCL: BD=3.060e-05, NB=9.732e-05, RS=1.092e+00, SC=3.962e+00, AC=1.394e+00 +CYCLE: 12 (61%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.376e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.539e+00 ALL=1.296e-03 +EUCL: BD=4.627e-04, NB=1.002e-04, RS=1.055e+00, SC=3.217e+00, AC=1.249e+00 +CYCLE: 13 (62%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.758e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.624e+00 ALL=2.616e-03 +EUCL: BD=9.661e-04, NB=5.898e-05, RS=1.015e+00, SC=3.743e+00, AC=1.086e+00 +CYCLE: 14 (62%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.413e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.632e+00 ALL=9.685e-04 +** BEST: BD=3.088e-04, NB=4.450e-05, RS=9.298e-01, SC=3.412e+00, AC=1.192e+00 +CYCLE: 15 (62%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.045e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.653e+00 ALL=9.466e-04 +EUCL: BD=1.049e-04, NB=4.993e-05, RS=8.764e-01, SC=3.595e+00, AC=1.117e+00 +CYCLE: 16 (63%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.158e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.628e+00 ALL=1.224e-03 +EUCL: BD=4.898e-04, NB=2.680e-05, RS=7.271e-01, SC=3.230e+00, AC=9.795e-01 +CYCLE: 17 (64%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.158e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.636e+00 ALL=1.083e-03 +EUCL: BD=4.277e-05, NB=4.764e-05, RS=7.287e-01, SC=3.421e+00, AC=1.095e+00 +CYCLE: 18 (65%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.333e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.632e+00 ALL=1.165e-03 +EUCL: BD=5.966e-04, NB=3.324e-05, RS=7.554e-01, SC=3.356e+00, AC=1.073e+00 +CYCLE: 19 (66%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.962e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.652e+00 ALL=1.197e-03 +EUCL: BD=8.066e-04, NB=2.786e-05, RS=7.260e-01, SC=3.536e+00, AC=1.040e+00 +CYCLE: 20 (66%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.186e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.642e+00 ALL=1.088e-03 +EUCL: BD=3.813e-04, NB=3.451e-05, RS=7.902e-01, SC=3.492e+00, AC=1.096e+00 +CYCLE: 21 (67%, 42 secs) +HAND: (secstr) Good:Bad=1:3 (19:21) +DIST: BD=3.022e-02, NB=5.663e-05, RS=8.120e-01, SC=2.333e+00, AC=1.142e+00 +PROJ: Dim=3, Df=9.999e-01, STR=1.222e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=9.226e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.672e+00 ALL=1.284e-03 +EUCL: BD=3.056e-04, NB=3.319e-05, RS=7.381e-01, SC=3.775e+00, AC=1.123e+00 +CYCLE: 22 (68%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.745e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.641e+00 ALL=1.005e-03 +EUCL: BD=2.935e-04, NB=5.745e-05, RS=6.864e-01, SC=3.504e+00, AC=1.038e+00 +CYCLE: 23 (69%, 44 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.567e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.600e+00 ALL=1.074e-03 +EUCL: BD=3.694e-04, NB=5.280e-05, RS=6.528e-01, SC=3.388e+00, AC=1.112e+00 +CYCLE: 24 (70%, 44 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.702e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.608e+00 ALL=1.072e-03 +** BEST: BD=2.864e-04, NB=4.081e-05, RS=6.447e-01, SC=3.385e+00, AC=1.099e+00 +CYCLE: 25 (70%, 45 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.055e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.597e+00 ALL=9.454e-04 +EUCL: BD=8.158e-04, NB=3.551e-05, RS=6.921e-01, SC=3.220e+00, AC=1.000e+00 +CYCLE: 26 (70%, 46 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.028e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.607e+00 ALL=1.100e-03 +EUCL: BD=2.654e-04, NB=5.644e-05, RS=6.233e-01, SC=3.649e+00, AC=9.474e-01 +CYCLE: 27 (71%, 47 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.961e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.593e+00 ALL=1.229e-03 +EUCL: BD=1.295e-04, NB=7.283e-05, RS=6.453e-01, SC=3.567e+00, AC=1.036e+00 +CYCLE: 28 (72%, 48 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.885e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.578e+00 ALL=1.194e-03 +EUCL: BD=8.236e-04, NB=4.322e-05, RS=6.244e-01, SC=3.501e+00, AC=1.090e+00 +CYCLE: 29 (73%, 48 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.127e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.586e+00 ALL=1.258e-03 +EUCL: BD=3.359e-04, NB=3.690e-05, RS=6.630e-01, SC=3.701e+00, AC=1.224e+00 +CYCLE: 30 (74%, 49 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.802e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.587e+00 ALL=9.104e-04 +EUCL: BD=1.813e-04, NB=4.690e-05, RS=6.789e-01, SC=3.362e+00, AC=1.186e+00 +CYCLE: 31 (74%, 50 secs) +HAND: (secstr) Good:Bad=1:3 (19:21) +DIST: BD=2.726e-02, NB=7.465e-06, RS=6.064e-01, SC=2.488e+00, AC=1.047e+00 +PROJ: Dim=3, Df=9.994e-01, STR=1.274e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=9.070e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.618e+00 ALL=1.152e-03 +EUCL: BD=4.373e-04, NB=3.843e-05, RS=6.140e-01, SC=3.487e+00, AC=9.526e-01 +CYCLE: 32 (75%, 51 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.938e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.603e+00 ALL=1.178e-03 +EUCL: BD=7.210e-04, NB=4.081e-05, RS=6.189e-01, SC=3.509e+00, AC=9.872e-01 +CYCLE: 33 (76%, 52 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.883e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.637e+00 ALL=1.140e-03 +EUCL: BD=4.862e-04, NB=5.117e-05, RS=6.198e-01, SC=3.585e+00, AC=1.091e+00 +CYCLE: 34 (77%, 52 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.788e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.599e+00 ALL=9.780e-04 +EUCL: BD=4.571e-04, NB=5.367e-05, RS=5.950e-01, SC=3.498e+00, AC=1.142e+00 +CYCLE: 35 (77%, 53 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.868e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.591e+00 ALL=9.959e-04 +EUCL: BD=1.290e-04, NB=6.846e-05, RS=6.524e-01, SC=3.752e+00, AC=1.228e+00 +CYCLE: 36 (78%, 54 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.867e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.595e+00 ALL=1.493e-03 +EUCL: BD=4.996e-04, NB=6.270e-05, RS=4.766e-01, SC=5.503e+00, AC=1.009e+00 +CYCLE: 37 (79%, 55 secs) +HAND: (secstr) Good:Bad=1:3 (19:21) +DIST: BD=2.589e-02, NB=3.639e-05, RS=6.410e-01, SC=2.455e+00, AC=9.449e-01 +PROJ: Dim=3, Df=9.996e-01, STR=1.191e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=8.791e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.575e+00 ALL=1.119e-03 +EUCL: BD=7.251e-04, NB=4.227e-05, RS=6.388e-01, SC=3.362e+00, AC=1.022e+00 +EXIT: no further improvement on 3D reprojection +TIME: 56 secs +END: BD=2.864e-04, NB=4.081e-05, RS=6.447e-01, SC=3.385e+00, AC=1.099e+00, Itno:37=12+25 +SAVE: models/example_4.pdb +VIOLS: models/example_4.viol + +Run 4 finished: Wed 17-Jun-1998 14:30:41 + +RUN 5 STARTED: Wed 17-Jun-1998 14:30:41 +# Randseed=898086641 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-1.664e-01 +? centre_dist(): Cdist2[69]=-3.157e-01 +? centre_dist(): Cdist2[73]=-4.022e-01 +? centre_dist(): Cdist2[73]=-2.024e-01 +DIST: BD=5.443e-01, NB=1.500e-06, RS=8.244e-01, SC=5.106e+00, AC=2.876e+00 +PROJ: Dim=30, Df=8.035e-01, STR=6.557e-02 +TNGL: 0 (cyc=1) +EUCL: IN=8.289e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=4.079e-05 +EUCL: BD=1.420e-06, NB=0.000e+00, RS=1.315e-01, SC=6.374e-01, AC=2.649e+00 +CYCLE: 2 (39%, 6 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.495e-03, NB=0.000e+00, RS=2.439e-01, SC=7.498e-01, AC=2.713e+00 +PROJ: Dim=27, Df=9.756e-01, STR=1.009e-04 +TNGL: 0 (cyc=1) +EUCL: IN=1.559e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + ALL=4.003e-05 +EUCL: BD=4.245e-06, NB=0.000e+00, RS=3.856e-01, SC=7.318e-01, AC=2.594e+00 +CYCLE: 3 (41%, 13 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.300e-03, NB=0.000e+00, RS=4.877e-01, SC=7.617e-01, AC=2.623e+00 +PROJ: Dim=18, Df=9.626e-01, STR=1.197e-04 +TNGL: 0 (cyc=5) +EUCL: IN=4.339e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.782e-05 +EUCL: BD=4.577e-06, NB=0.000e+00, RS=9.933e-02, SC=6.354e-01, AC=2.558e+00 +CYCLE: 4 (48%, 18 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.796e-02, NB=0.000e+00, RS=7.807e-01, SC=1.826e+00, AC=2.850e+00 +PROJ: Dim=12, Df=9.992e-01, STR=1.054e-03 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.229e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=5.476e-05 +EUCL: BD=1.255e-05, NB=0.000e+00, RS=6.195e-01, SC=1.160e+00, AC=2.671e+00 +CYCLE: 5 (53%, 21 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.009e-02, NB=0.000e+00, RS=7.861e-01, SC=1.541e+00, AC=2.512e+00 +PROJ: Dim=11, Df=9.885e-01, STR=5.163e-04 +TNGL: 0 (cyc=4) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=7.212e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.141e-05 +EUCL: BD=1.626e-05, NB=0.000e+00, RS=3.414e-01, SC=6.293e-01, AC=2.279e+00 +CYCLE: 6 (54%, 24 secs) +DIST: BD=2.560e-02, NB=1.474e-06, RS=6.943e-01, SC=1.068e+00, AC=2.163e+00 +PROJ: Dim=7, Df=1.003e+00, STR=9.502e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=1.038e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=2.143e-05 +EUCL: BD=7.048e-05, NB=0.000e+00, RS=3.088e-01, SC=2.918e-01, AC=2.091e+00 +CYCLE: 7 (57%, 26 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.494e-02, NB=0.000e+00, RS=3.151e-01, SC=5.383e-01, AC=1.963e+00 +PROJ: Dim=6, Df=9.424e-01, STR=5.115e-04 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.278e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.585e-05 +EUCL: BD=6.109e-05, NB=0.000e+00, RS=3.136e-01, SC=5.880e-01, AC=2.156e+00 +CYCLE: 8 (58%, 28 secs) +DIST: BD=9.618e-02, NB=2.836e-04, RS=7.302e-01, SC=3.845e+00, AC=1.335e+00 +PROJ: Dim=4, Df=1.014e+00, STR=5.082e-03 +TNGL: 0 (cyc=1) +EUCL: IN=3.158e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.596e-04 +EUCL: BD=6.439e-05, NB=0.000e+00, RS=3.645e-01, SC=8.773e-01, AC=1.585e+00 +CYCLE: 9 (59%, 30 secs) +HAND: (secstr) Good:Bad=1:3 (18:22) +DIST: BD=1.070e-01, NB=4.963e-04, RS=4.288e-01, SC=3.061e+00, AC=9.538e-01 +PROJ: Dim=3, Df=1.026e+00, STR=5.345e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=9.064e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.712e+00 ALL=1.271e-03 +** BEST: BD=3.513e-04, NB=1.233e-04, RS=3.040e-01, SC=4.719e+00, AC=1.385e+00 +CYCLE: 10 (60%, 31 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.898e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.043e+00 ALL=1.033e-03 +EUCL: BD=3.578e-04, NB=8.085e-05, RS=1.807e-01, SC=4.900e+00, AC=1.185e+00 +CYCLE: 11 (61%, 32 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.001e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.749e+00 ALL=1.089e-03 +EUCL: BD=7.728e-04, NB=1.219e-04, RS=2.084e-01, SC=4.162e+00, AC=1.137e+00 +CYCLE: 12 (62%, 32 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.499e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.736e+00 ALL=9.410e-04 +EUCL: BD=6.740e-04, NB=2.211e-04, RS=2.537e-01, SC=3.452e+00, AC=1.201e+00 +CYCLE: 13 (62%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.557e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.058e+00 ALL=1.014e-03 +EUCL: BD=1.871e-04, NB=1.451e-04, RS=2.590e-01, SC=3.930e+00, AC=1.138e+00 +CYCLE: 14 (63%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.864e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.808e+00 ALL=1.110e-03 +EUCL: BD=2.695e-04, NB=2.167e-04, RS=2.350e-01, SC=4.003e+00, AC=1.140e+00 +CYCLE: 15 (64%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.268e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.788e+00 ALL=1.237e-03 +EUCL: BD=2.125e-04, NB=2.773e-04, RS=1.667e-01, SC=4.150e+00, AC=1.113e+00 +CYCLE: 16 (65%, 35 secs) +HAND: (secstr) Good:Bad=1:3 (16:24) +DIST: BD=2.124e-02, NB=9.123e-05, RS=3.063e-01, SC=2.802e+00, AC=1.082e+00 +PROJ: Dim=3, Df=1.000e+00, STR=1.065e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=1.045e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.091e+00 ALL=1.108e-03 +EUCL: BD=4.561e-04, NB=9.979e-05, RS=2.367e-01, SC=4.863e+00, AC=1.292e+00 +CYCLE: 17 (66%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.160e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.754e+00 ALL=1.348e-03 +EUCL: BD=6.962e-04, NB=1.057e-04, RS=4.009e-01, SC=4.386e+00, AC=1.005e+00 +CYCLE: 18 (66%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.895e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.062e+00 ALL=1.148e-03 +EUCL: BD=7.261e-04, NB=1.795e-04, RS=3.392e-01, SC=3.950e+00, AC=1.083e+00 +CYCLE: 19 (67%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.658e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.803e+00 ALL=1.128e-03 +** BEST: BD=1.412e-04, NB=1.319e-04, RS=2.323e-01, SC=3.938e+00, AC=7.731e-01 +CYCLE: 20 (67%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.828e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.771e+00 ALL=1.068e-03 +EUCL: BD=4.015e-05, NB=1.890e-04, RS=2.052e-01, SC=4.251e+00, AC=1.005e+00 +CYCLE: 21 (68%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.790e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.804e+00 ALL=1.263e-03 +EUCL: BD=8.845e-04, NB=2.322e-04, RS=1.713e-01, SC=3.977e+00, AC=9.154e-01 +CYCLE: 22 (69%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.055e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.833e+00 ALL=1.136e-03 +EUCL: BD=1.028e-04, NB=1.857e-04, RS=1.067e-01, SC=3.943e+00, AC=8.167e-01 +CYCLE: 23 (70%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.203e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.858e+00 ALL=1.051e-03 +EUCL: BD=1.467e-04, NB=1.065e-04, RS=8.912e-02, SC=4.208e+00, AC=9.641e-01 +CYCLE: 24 (70%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.144e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.049e+00 ALL=1.070e-03 +EUCL: BD=9.122e-05, NB=9.944e-05, RS=7.771e-02, SC=3.542e+00, AC=1.013e+00 +CYCLE: 25 (71%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.078e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.077e+00 ALL=1.036e-03 +** BEST: BD=1.210e-04, NB=8.395e-05, RS=1.314e-01, SC=4.163e+00, AC=8.769e-01 +CYCLE: 26 (71%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.091e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.808e+00 ALL=8.326e-04 +EUCL: BD=1.137e-04, NB=1.009e-04, RS=5.247e-02, SC=3.926e+00, AC=8.359e-01 +CYCLE: 27 (72%, 44 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.051e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.071e+00 ALL=8.080e-04 +EUCL: BD=2.444e-04, NB=1.140e-04, RS=5.491e-02, SC=3.796e+00, AC=9.192e-01 +CYCLE: 28 (73%, 45 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.035e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.070e+00 ALL=8.653e-04 +EUCL: BD=2.121e-04, NB=2.021e-04, RS=9.583e-02, SC=4.237e+00, AC=9.256e-01 +CYCLE: 29 (74%, 46 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.020e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.765e+00 ALL=7.910e-04 +** BEST: BD=1.346e-05, NB=6.008e-05, RS=1.132e-01, SC=4.534e+00, AC=9.372e-01 +CYCLE: 30 (74%, 47 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.086e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.761e+00 ALL=8.917e-04 +EUCL: BD=6.563e-06, NB=1.226e-04, RS=1.948e-02, SC=3.900e+00, AC=9.154e-01 +CYCLE: 31 (74%, 47 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.181e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.771e+00 ALL=8.381e-04 +EUCL: BD=5.322e-05, NB=7.098e-05, RS=2.800e-02, SC=3.756e+00, AC=8.821e-01 +CYCLE: 32 (75%, 48 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.099e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.724e+00 ALL=8.584e-04 +EUCL: BD=7.655e-06, NB=9.573e-05, RS=5.586e-02, SC=3.719e+00, AC=8.321e-01 +CYCLE: 33 (76%, 49 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.275e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.759e+00 ALL=8.460e-04 +EUCL: BD=3.433e-05, NB=9.360e-05, RS=7.043e-02, SC=3.607e+00, AC=8.436e-01 +CYCLE: 34 (77%, 50 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.247e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.778e+00 ALL=8.364e-04 +EUCL: BD=3.981e-05, NB=1.796e-04, RS=5.371e-02, SC=3.729e+00, AC=8.256e-01 +CYCLE: 35 (77%, 50 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.298e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.783e+00 ALL=7.894e-04 +EUCL: BD=8.577e-05, NB=4.636e-05, RS=7.252e-02, SC=3.560e+00, AC=8.679e-01 +CYCLE: 36 (78%, 51 secs) +HAND: (secstr) Good:Bad=3:1 (23:17) +DIST: BD=1.566e-02, NB=4.435e-05, RS=2.527e-02, SC=2.377e+00, AC=8.769e-01 +PROJ: Dim=3, Df=9.990e-01, STR=6.786e-04 +TNGL: 0 (cyc=0) +EUCL: IN=1.164e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.750e+00 ALL=6.466e-04 +EUCL: BD=3.815e-05, NB=8.973e-05, RS=2.171e-02, SC=3.887e+00, AC=9.641e-01 +CYCLE: 37 (79%, 52 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.050e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.782e+00 ALL=6.308e-04 +EUCL: BD=2.290e-05, NB=6.341e-05, RS=3.701e-02, SC=3.858e+00, AC=9.038e-01 +CYCLE: 38 (80%, 53 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.103e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.782e+00 ALL=6.227e-04 +EUCL: BD=1.107e-04, NB=3.077e-05, RS=7.558e-02, SC=3.622e+00, AC=8.718e-01 +CYCLE: 39 (81%, 54 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.116e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.089e+00 ALL=6.379e-04 +EUCL: BD=7.662e-05, NB=1.893e-05, RS=1.229e-01, SC=3.751e+00, AC=9.667e-01 +CYCLE: 40 (81%, 54 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.112e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.086e+00 ALL=6.951e-04 +EUCL: BD=1.295e-04, NB=5.131e-06, RS=1.519e-01, SC=3.764e+00, AC=8.590e-01 +CYCLE: 41 (82%, 55 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.111e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.778e+00 ALL=6.669e-04 +EUCL: BD=1.446e-04, NB=9.205e-06, RS=1.499e-01, SC=3.780e+00, AC=8.821e-01 +CYCLE: 42 (83%, 56 secs) +HAND: (secstr) Good:Bad=3:1 (23:17) +DIST: BD=1.698e-02, NB=4.885e-05, RS=2.268e-02, SC=2.415e+00, AC=8.782e-01 +PROJ: Dim=3, Df=9.984e-01, STR=6.788e-04 +TNGL: 0 (cyc=0) +EUCL: IN=1.161e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.751e+00 ALL=6.397e-04 +EUCL: BD=2.286e-05, NB=6.582e-05, RS=2.667e-02, SC=4.096e+00, AC=1.053e+00 +EXIT: no further improvement on 3D reprojection +TIME: 57 secs +END: BD=1.346e-05, NB=6.008e-05, RS=1.132e-01, SC=4.534e+00, AC=9.372e-01, Itno:42=12+30 +SAVE: models/example_5.pdb +VIOLS: models/example_5.viol + +Run 5 finished: Wed 17-Jun-1998 14:31:40 + +RUN 6 STARTED: Wed 17-Jun-1998 14:31:40 +# Randseed=898086700 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-1.283e+01 +? centre_dist(): Cdist2[69]=-5.566e-01 +DIST: BD=7.842e-01, NB=0.000e+00, RS=7.508e-01, SC=1.157e+01, AC=3.000e+00 +PROJ: Dim=32, Df=8.231e-01, STR=6.838e-02 +TNGL: 0 (cyc=1) +EUCL: IN=3.865e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.237e-05 +EUCL: BD=2.171e-05, NB=0.000e+00, RS=2.512e-01, SC=3.234e-01, AC=2.528e+00 +CYCLE: 2 (37%, 7 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=8.189e-04, NB=0.000e+00, RS=3.757e-01, SC=7.391e-01, AC=2.594e+00 +PROJ: Dim=28, Df=9.553e-01, STR=1.161e-04 +TNGL: 0 (cyc=1) +EUCL: IN=2.443e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=6.206e-06 +EUCL: BD=1.359e-05, NB=0.000e+00, RS=2.985e-01, SC=1.984e-01, AC=2.477e+00 +CYCLE: 3 (40%, 14 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 5 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.114e-03, NB=0.000e+00, RS=4.917e-01, SC=6.127e-01, AC=2.455e+00 +PROJ: Dim=18, Df=9.610e-01, STR=1.462e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.147e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.067e-05 +EUCL: BD=4.055e-05, NB=0.000e+00, RS=3.457e-01, SC=4.958e-01, AC=2.558e+00 +CYCLE: 4 (48%, 19 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.045e-02, NB=0.000e+00, RS=4.628e-01, SC=7.538e-01, AC=2.536e+00 +PROJ: Dim=17, Df=9.487e-01, STR=1.900e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.387e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.189e-05 +EUCL: BD=1.435e-05, NB=0.000e+00, RS=3.777e-01, SC=5.410e-01, AC=2.460e+00 +CYCLE: 5 (49%, 24 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=5.349e-03, NB=0.000e+00, RS=5.465e-01, SC=9.575e-01, AC=2.691e+00 +PROJ: Dim=16, Df=9.952e-01, STR=3.606e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=4.727e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.522e-05 +EUCL: BD=8.371e-06, NB=0.000e+00, RS=4.330e-01, SC=6.348e-01, AC=2.396e+00 +CYCLE: 6 (50%, 29 secs) +DIST: BD=4.394e-03, NB=0.000e+00, RS=4.445e-01, SC=6.364e-01, AC=2.313e+00 +PROJ: Dim=10, Df=1.003e+00, STR=1.527e-04 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=1.228e-04 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=8.524e-05 +EUCL: BD=1.168e-05, NB=8.452e-06, RS=4.596e-01, SC=1.051e+00, AC=2.451e+00 +CYCLE: 7 (55%, 31 secs) +DIST: BD=3.658e-02, NB=6.727e-05, RS=6.560e-01, SC=1.588e+00, AC=1.945e+00 +PROJ: Dim=6, Df=1.012e+00, STR=1.660e-03 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.816e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.923e-05 +EUCL: BD=6.308e-05, NB=1.766e-05, RS=4.767e-01, SC=6.265e-01, AC=2.237e+00 +CYCLE: 8 (58%, 32 secs) +DIST: BD=6.940e-02, NB=1.259e-04, RS=5.428e-01, SC=1.390e+00, AC=1.938e+00 +PROJ: Dim=5, Df=1.006e+00, STR=2.081e-03 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=1.667e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=3.480e-05 +EUCL: BD=6.480e-05, NB=1.457e-05, RS=4.535e-01, SC=4.471e-01, AC=1.897e+00 +CYCLE: 9 (59%, 34 secs) +DIST: BD=4.435e-02, NB=0.000e+00, RS=3.647e-01, SC=7.614e-01, AC=1.342e+00 +PROJ: Dim=4, Df=1.011e+00, STR=2.426e-03 +TNGL: 0 (cyc=1) +EUCL: IN=1.694e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.559e-04 +EUCL: BD=1.757e-05, NB=4.449e-05, RS=3.561e-01, SC=9.915e-01, AC=1.438e+00 +CYCLE: 10 (59%, 35 secs) + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +HAND: (secstr) Good:Bad=3:1 (18:22) +DIST: BD=1.248e+00, NB=1.448e-03, RS=9.604e-01, SC=9.353e+00, AC=1.018e+00 +PROJ: Dim=3, Df=1.030e+00, STR=1.776e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=2.193e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.091e+00 ALL=2.680e-03 +EUCL: BD=1.892e-03, NB=2.157e-04, RS=7.727e-01, SC=6.033e+00, AC=1.146e+00 +CYCLE: 11 (61%, 37 secs) +TNGL: 0 (cyc=1) +EUCL: IN=1.242e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.930e+00 ALL=1.188e-03 +** BEST: BD=5.575e-04, NB=1.264e-04, RS=4.000e-01, SC=4.536e+00, AC=1.135e+00 +CYCLE: 12 (61%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.219e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.884e+00 ALL=9.877e-04 +EUCL: BD=4.931e-04, NB=1.567e-04, RS=4.127e-01, SC=4.230e+00, AC=1.027e+00 +CYCLE: 13 (62%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.205e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.867e+00 ALL=1.190e-03 +EUCL: BD=4.037e-04, NB=1.860e-04, RS=4.847e-01, SC=4.187e+00, AC=1.187e+00 +CYCLE: 14 (62%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.117e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.804e+00 ALL=1.027e-03 +EUCL: BD=3.091e-04, NB=2.801e-04, RS=3.759e-01, SC=3.976e+00, AC=1.138e+00 +CYCLE: 15 (63%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.201e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.778e+00 ALL=9.492e-04 +EUCL: BD=3.241e-04, NB=8.540e-04, RS=3.472e-01, SC=3.957e+00, AC=1.292e+00 +CYCLE: 16 (64%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.115e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.768e+00 ALL=1.173e-03 +EUCL: BD=5.951e-04, NB=8.720e-04, RS=2.834e-01, SC=3.698e+00, AC=1.237e+00 +CYCLE: 17 (65%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.125e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.742e+00 ALL=1.293e-03 +EUCL: BD=1.034e-03, NB=5.593e-04, RS=2.481e-01, SC=3.688e+00, AC=1.146e+00 +CYCLE: 18 (66%, 42 secs) +HAND: (secstr) Good:Bad=1:3 (9:31) +DIST: BD=2.671e-02, NB=1.515e-04, RS=3.067e-01, SC=2.737e+00, AC=1.109e+00 +PROJ: Dim=3, Df=1.001e+00, STR=1.166e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=1.180e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.864e+00 ALL=9.637e-04 +EUCL: BD=4.697e-04, NB=1.296e-04, RS=4.931e-01, SC=4.187e+00, AC=1.006e+00 +CYCLE: 19 (66%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.276e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.817e+00 ALL=8.886e-04 +EUCL: BD=2.440e-04, NB=2.020e-04, RS=5.129e-01, SC=3.864e+00, AC=1.159e+00 +CYCLE: 20 (67%, 44 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.003e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.814e+00 ALL=8.273e-04 +EUCL: BD=1.844e-03, NB=1.626e-04, RS=3.961e-01, SC=3.237e+00, AC=1.000e+00 +CYCLE: 21 (68%, 44 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.128e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.774e+00 ALL=7.948e-04 +EUCL: BD=3.733e-05, NB=8.991e-05, RS=4.985e-01, SC=3.933e+00, AC=1.215e+00 +CYCLE: 22 (69%, 45 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.021e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.671e+00 ALL=8.446e-04 +EUCL: BD=5.111e-05, NB=2.508e-04, RS=4.891e-01, SC=3.392e+00, AC=1.200e+00 +CYCLE: 23 (70%, 46 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.794e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.639e+00 ALL=9.878e-04 +EUCL: BD=1.616e-05, NB=2.365e-04, RS=4.590e-01, SC=3.544e+00, AC=9.654e-01 +CYCLE: 24 (70%, 47 secs) +HAND: (secstr) Good:Bad=1:3 (9:31) +DIST: BD=2.595e-02, NB=1.765e-04, RS=3.341e-01, SC=2.837e+00, AC=1.156e+00 +PROJ: Dim=3, Df=1.000e+00, STR=1.128e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=1.185e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.884e+00 ALL=8.681e-04 +EUCL: BD=2.295e-04, NB=1.293e-04, RS=4.503e-01, SC=4.225e+00, AC=9.538e-01 +EXIT: no further improvement on 3D reprojection +TIME: 48 secs +END: BD=5.575e-04, NB=1.264e-04, RS=4.000e-01, SC=4.536e+00, AC=1.135e+00, Itno:24=10+14 +SAVE: models/example_6.pdb +VIOLS: models/example_6.viol + +Run 6 finished: Wed 17-Jun-1998 14:32:28 + +RUN 7 STARTED: Wed 17-Jun-1998 14:32:28 +# Randseed=898086748 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-2.177e-01 +? centre_dist(): Cdist2[69]=-1.321e-01 +DIST: BD=4.764e-01, NB=9.107e-06, RS=5.591e-01, SC=8.813e+00, AC=2.936e+00 +PROJ: Dim=31, Df=8.062e-01, STR=6.192e-02 +TNGL: 0 (cyc=2) +EUCL: IN=8.298e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=2.438e-05 +EUCL: BD=7.084e-06, NB=0.000e+00, RS=3.250e-01, SC=4.935e-01, AC=2.550e+00 +CYCLE: 2 (38%, 6 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.058e-03, NB=0.000e+00, RS=4.913e-01, SC=7.182e-01, AC=2.542e+00 +PROJ: Dim=27, Df=9.873e-01, STR=1.194e-04 +TNGL: 0 (cyc=1) +EUCL: IN=2.135e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=5.584e-06 +EUCL: BD=2.879e-06, NB=0.000e+00, RS=4.512e-01, SC=1.861e-01, AC=2.468e+00 +CYCLE: 3 (41%, 14 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.880e-03, NB=0.000e+00, RS=6.570e-01, SC=6.440e-01, AC=2.558e+00 +PROJ: Dim=18, Df=9.967e-01, STR=2.232e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.669e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=2.019e-05 +EUCL: BD=1.111e-05, NB=0.000e+00, RS=3.019e-01, SC=4.151e-01, AC=2.494e+00 +CYCLE: 4 (48%, 18 secs) +DIST: BD=7.054e-03, NB=0.000e+00, RS=6.112e-01, SC=4.992e-01, AC=2.662e+00 +PROJ: Dim=12, Df=1.001e+00, STR=1.794e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.942e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.130e-05 +EUCL: BD=2.150e-05, NB=0.000e+00, RS=5.008e-01, SC=4.726e-01, AC=2.362e+00 +CYCLE: 5 (53%, 21 secs) +DIST: BD=1.461e-02, NB=0.000e+00, RS=6.080e-01, SC=7.836e-01, AC=2.373e+00 +PROJ: Dim=11, Df=1.001e+00, STR=3.591e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.710e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.272e-05 +EUCL: BD=7.258e-06, NB=0.000e+00, RS=5.051e-01, SC=5.818e-01, AC=2.318e+00 +CYCLE: 6 (54%, 24 secs) +DIST: BD=6.652e-03, NB=0.000e+00, RS=6.411e-01, SC=6.514e-01, AC=2.369e+00 +PROJ: Dim=10, Df=1.001e+00, STR=2.814e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.356e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.203e-05 +EUCL: BD=2.956e-05, NB=0.000e+00, RS=4.404e-01, SC=5.019e-01, AC=2.278e+00 +CYCLE: 7 (55%, 26 secs) +DIST: BD=7.299e-03, NB=0.000e+00, RS=6.186e-01, SC=9.221e-01, AC=1.885e+00 +PROJ: Dim=6, Df=1.011e+00, STR=7.399e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.418e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=2.804e-05 +EUCL: BD=2.755e-05, NB=2.522e-06, RS=8.149e-01, SC=2.870e-01, AC=2.032e+00 +CYCLE: 8 (58%, 28 secs) +DIST: BD=3.135e-02, NB=8.944e-05, RS=7.351e-01, SC=1.110e+00, AC=1.822e+00 +PROJ: Dim=5, Df=1.010e+00, STR=1.401e-03 +TNGL: 0 (cyc=2) +EUCL: IN=2.345e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=5.402e-05 +EUCL: BD=6.125e-05, NB=3.913e-06, RS=5.129e-01, SC=8.245e-01, AC=2.060e+00 +CYCLE: 9 (59%, 29 secs) +DIST: BD=4.153e-02, NB=3.118e-05, RS=6.134e-01, SC=2.137e+00, AC=1.188e+00 +PROJ: Dim=4, Df=1.009e+00, STR=2.398e-03 +TNGL: 0 (cyc=5) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=5.947e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=8.368e-04 +EUCL: BD=1.345e-04, NB=1.714e-04, RS=4.554e-01, SC=3.525e+00, AC=1.547e+00 +CYCLE: 10 (59%, 31 secs) +HAND: (secstr) Good:Bad=2:2 (16:24) +DIST: BD=1.485e-01, NB=1.632e-03, RS=6.473e-01, SC=4.234e+00, AC=1.105e+00 +PROJ: Dim=3, Df=1.011e+00, STR=5.735e-03 , flip +TNGL: 0 (cyc=1) +EUCL: IN=1.528e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.575e+00 ALL=1.805e-03 +** BEST: BD=4.188e-04, NB=6.692e-04, RS=9.013e-01, SC=5.106e+00, AC=1.221e+00 +CYCLE: 11 (60%, 32 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.640e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.774e+00 ALL=2.336e-03 +EUCL: BD=1.395e-03, NB=5.914e-04, RS=8.235e-01, SC=3.226e+00, AC=1.314e+00 +CYCLE: 12 (61%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.154e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.763e+00 ALL=1.236e-03 +EUCL: BD=6.147e-04, NB=7.325e-04, RS=7.887e-01, SC=3.279e+00, AC=1.165e+00 +CYCLE: 13 (62%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.699e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.763e+00 ALL=1.172e-03 +** BEST: BD=2.930e-04, NB=5.703e-04, RS=8.333e-01, SC=3.344e+00, AC=1.237e+00 +CYCLE: 14 (62%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.110e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.744e+00 ALL=2.289e-03 +EUCL: BD=7.278e-04, NB=7.917e-04, RS=7.622e-01, SC=3.429e+00, AC=1.185e+00 +CYCLE: 15 (62%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.207e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.674e+00 ALL=1.223e-03 +EUCL: BD=3.410e-04, NB=8.952e-04, RS=7.506e-01, SC=3.295e+00, AC=1.201e+00 +CYCLE: 16 (63%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.953e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.888e+00 ALL=1.069e-03 +EUCL: BD=3.132e-04, NB=9.592e-04, RS=7.881e-01, SC=3.329e+00, AC=1.347e+00 +CYCLE: 17 (64%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.178e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.867e+00 ALL=1.043e-03 +EUCL: BD=1.226e-04, NB=9.971e-04, RS=7.766e-01, SC=3.237e+00, AC=1.263e+00 +CYCLE: 18 (65%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.278e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.865e+00 ALL=1.339e-03 +EUCL: BD=2.160e-04, NB=1.059e-03, RS=6.794e-01, SC=3.602e+00, AC=1.138e+00 +CYCLE: 19 (66%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.538e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.841e+00 ALL=1.458e-03 +EUCL: BD=2.060e-04, NB=1.179e-03, RS=7.654e-01, SC=3.727e+00, AC=1.065e+00 +CYCLE: 20 (66%, 39 secs) +HAND: (secstr) Good:Bad=2:2 (25:15) +DIST: BD=3.032e-02, NB=7.298e-04, RS=6.688e-01, SC=2.576e+00, AC=1.297e+00 +PROJ: Dim=3, Df=9.990e-01, STR=1.104e-03 +TNGL: 0 (cyc=0) +EUCL: IN=9.135e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.718e+00 ALL=1.005e-03 +EUCL: BD=5.407e-04, NB=7.188e-04, RS=7.296e-01, SC=3.299e+00, AC=1.213e+00 +CYCLE: 21 (67%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.150e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.750e+00 ALL=1.129e-03 +EUCL: BD=2.655e-04, NB=8.458e-04, RS=8.095e-01, SC=3.620e+00, AC=1.281e+00 +CYCLE: 22 (68%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.498e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.847e+00 ALL=1.041e-03 +EUCL: BD=2.062e-04, NB=9.427e-04, RS=8.120e-01, SC=3.677e+00, AC=1.079e+00 +CYCLE: 23 (69%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.500e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.968e+00 ALL=1.074e-03 +EUCL: BD=3.273e-04, NB=9.130e-04, RS=7.968e-01, SC=3.549e+00, AC=1.085e+00 +CYCLE: 24 (70%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.230e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.971e+00 ALL=1.072e-03 +EUCL: BD=1.093e-04, NB=9.121e-04, RS=7.356e-01, SC=3.589e+00, AC=1.082e+00 +CYCLE: 25 (70%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.205e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.963e+00 ALL=9.589e-04 +EUCL: BD=1.442e-04, NB=9.657e-04, RS=6.960e-01, SC=3.342e+00, AC=1.129e+00 +CYCLE: 26 (71%, 44 secs) +HAND: (secstr) Good:Bad=2:2 (25:15) +DIST: BD=3.203e-02, NB=7.283e-04, RS=7.051e-01, SC=2.590e+00, AC=1.310e+00 +PROJ: Dim=3, Df=9.986e-01, STR=1.116e-03 +TNGL: 0 (cyc=0) +EUCL: IN=9.275e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.737e+00 ALL=1.018e-03 +EUCL: BD=4.220e-04, NB=8.672e-04, RS=6.891e-01, SC=3.340e+00, AC=1.138e+00 +EXIT: no further improvement on 3D reprojection +TIME: 45 secs +END: BD=2.930e-04, NB=5.703e-04, RS=8.333e-01, SC=3.344e+00, AC=1.237e+00, Itno:26=11+15 +SAVE: models/example_7.pdb +VIOLS: models/example_7.viol + +Run 7 finished: Wed 17-Jun-1998 14:33:14 + +RUN 8 STARTED: Wed 17-Jun-1998 14:33:14 +# Randseed=898086794 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-1.353e+01 +DIST: BD=7.175e-01, NB=4.188e-05, RS=6.885e-01, SC=8.867e+00, AC=2.949e+00 +PROJ: Dim=32, Df=8.264e-01, STR=6.444e-02 +TNGL: 0 (cyc=3) +EUCL: IN=2.144e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.488e-04 +EUCL: BD=2.860e-05, NB=0.000e+00, RS=4.374e-02, SC=1.855e+00, AC=2.850e+00 +CYCLE: 2 (37%, 6 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.013e-03, NB=0.000e+00, RS=2.230e-01, SC=1.787e+00, AC=2.786e+00 +PROJ: Dim=27, Df=9.652e-01, STR=2.336e-04 +TNGL: 0 (cyc=2) +EUCL: IN=3.842e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=3.345e-05 +EUCL: BD=9.293e-04, NB=0.000e+00, RS=1.789e-01, SC=4.393e-01, AC=2.515e+00 +CYCLE: 3 (41%, 13 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.941e-03, NB=0.000e+00, RS=1.672e-01, SC=8.641e-01, AC=2.609e+00 +PROJ: Dim=18, Df=9.903e-01, STR=2.036e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.185e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=5.987e-05 +EUCL: BD=2.271e-05, NB=0.000e+00, RS=1.867e-01, SC=9.543e-01, AC=2.558e+00 +CYCLE: 4 (48%, 17 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=4.376e-03, NB=0.000e+00, RS=4.202e-01, SC=8.714e-01, AC=2.618e+00 +PROJ: Dim=17, Df=9.828e-01, STR=1.818e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=5.616e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=6.915e-05 +EUCL: BD=9.915e-06, NB=0.000e+00, RS=3.005e-01, SC=7.104e-01, AC=2.417e+00 +CYCLE: 5 (49%, 21 secs) +DIST: BD=1.670e-03, NB=0.000e+00, RS=2.269e-01, SC=5.952e-01, AC=2.305e+00 +PROJ: Dim=16, Df=1.000e+00, STR=4.258e-05 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=6.780e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.535e-05 +EUCL: BD=3.834e-05, NB=0.000e+00, RS=4.012e-01, SC=5.002e-01, AC=2.373e+00 +CYCLE: 6 (50%, 24 secs) +DIST: BD=2.518e-03, NB=0.000e+00, RS=4.534e-01, SC=4.928e-01, AC=2.387e+00 +PROJ: Dim=10, Df=1.002e+00, STR=1.185e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.523e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=6.448e-05 +EUCL: BD=4.695e-05, NB=1.406e-05, RS=3.896e-01, SC=7.562e-01, AC=2.373e+00 +CYCLE: 7 (55%, 27 secs) +DIST: BD=1.703e-02, NB=0.000e+00, RS=4.924e-01, SC=1.133e+00, AC=2.481e+00 +PROJ: Dim=9, Df=1.002e+00, STR=5.520e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.033e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.710e-05 +EUCL: BD=3.807e-05, NB=0.000e+00, RS=6.182e-01, SC=8.453e-01, AC=2.421e+00 +CYCLE: 8 (55%, 29 secs) +DIST: BD=8.259e-03, NB=0.000e+00, RS=7.265e-01, SC=1.005e+00, AC=2.344e+00 +PROJ: Dim=8, Df=1.002e+00, STR=4.815e-04 +TNGL: 0 (cyc=4) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=4.612e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.575e-05 +EUCL: BD=1.013e-05, NB=0.000e+00, RS=3.320e-01, SC=5.060e-01, AC=2.104e+00 +CYCLE: 9 (56%, 31 secs) +DIST: BD=4.916e-02, NB=3.978e-04, RS=7.068e-01, SC=2.434e+00, AC=1.849e+00 +PROJ: Dim=5, Df=1.011e+00, STR=2.792e-03 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=5.054e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=7.346e-05 +EUCL: BD=1.712e-04, NB=0.000e+00, RS=7.634e-01, SC=6.011e-01, AC=1.883e+00 +CYCLE: 10 (59%, 32 secs) +DIST: BD=5.216e-02, NB=2.071e-04, RS=1.004e+00, SC=3.168e+00, AC=1.323e+00 +PROJ: Dim=4, Df=1.007e+00, STR=2.370e-03 +TNGL: 0 (cyc=2) +EUCL: IN=3.437e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=5.826e-05 +EUCL: BD=6.719e-05, NB=5.823e-06, RS=5.219e-01, SC=5.216e-01, AC=1.685e+00 +CYCLE: 11 (59%, 34 secs) +HAND: (secstr) Good:Bad=2:2 (21:19) +DIST: BD=2.026e-01, NB=7.879e-04, RS=7.200e-01, SC=4.610e+00, AC=9.628e-01 +PROJ: Dim=3, Df=1.012e+00, STR=7.038e-03 +TNGL: 0 (cyc=0) +EUCL: IN=2.036e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.886e+00 ALL=1.809e-03 +** BEST: BD=3.815e-04, NB=2.791e-04, RS=6.325e-01, SC=8.536e+00, AC=1.097e+00 +CYCLE: 12 (60%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.831e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.951e+00 ALL=9.072e-04 +** BEST: BD=2.114e-05, NB=0.000e+00, RS=5.295e-01, SC=5.144e+00, AC=1.078e+00 +CYCLE: 13 (60%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.294e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.039e+00 ALL=8.996e-04 +EUCL: BD=4.949e-05, NB=2.117e-05, RS=5.964e-01, SC=4.614e+00, AC=1.019e+00 +CYCLE: 14 (61%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.385e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.998e+00 ALL=9.288e-04 +EUCL: BD=8.622e-05, NB=1.772e-05, RS=6.984e-01, SC=4.078e+00, AC=9.487e-01 +CYCLE: 15 (62%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.392e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.038e+00 ALL=9.507e-04 +EUCL: BD=1.565e-04, NB=1.708e-05, RS=6.495e-01, SC=3.801e+00, AC=8.936e-01 +CYCLE: 16 (62%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.346e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.970e+00 ALL=7.777e-04 +EUCL: BD=3.959e-04, NB=1.515e-05, RS=6.085e-01, SC=3.671e+00, AC=1.003e+00 +CYCLE: 17 (63%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.247e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.033e+00 ALL=7.523e-04 +EUCL: BD=6.616e-04, NB=1.052e-05, RS=5.961e-01, SC=3.821e+00, AC=9.628e-01 +CYCLE: 18 (64%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.167e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.690e+00 ALL=8.042e-04 +EUCL: BD=1.972e-04, NB=2.413e-07, RS=5.977e-01, SC=3.405e+00, AC=1.049e+00 +CYCLE: 19 (65%, 41 secs) +HAND: (secstr) Good:Bad=2:2 (21:19) +DIST: BD=2.389e-02, NB=0.000e+00, RS=4.901e-01, SC=2.836e+00, AC=9.987e-01 +PROJ: Dim=3, Df=9.991e-01, STR=8.099e-04 +TNGL: 0 (cyc=0) +EUCL: IN=1.332e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.015e+00 ALL=6.315e-04 +EUCL: BD=1.004e-04, NB=1.065e-04, RS=4.957e-01, SC=3.913e+00, AC=1.015e+00 +CYCLE: 20 (66%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.283e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.005e+00 ALL=6.462e-04 +EUCL: BD=1.478e-04, NB=6.772e-05, RS=4.814e-01, SC=3.889e+00, AC=1.194e+00 +CYCLE: 21 (66%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.273e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.005e+00 ALL=6.259e-04 +EUCL: BD=2.051e-05, NB=1.255e-04, RS=5.865e-01, SC=3.729e+00, AC=1.005e+00 +CYCLE: 22 (67%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.223e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.019e+00 ALL=6.716e-04 +EUCL: BD=3.946e-05, NB=8.533e-05, RS=4.851e-01, SC=3.616e+00, AC=1.206e+00 +CYCLE: 23 (68%, 44 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.239e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.025e+00 ALL=5.720e-04 +** BEST: BD=1.726e-05, NB=2.911e-05, RS=5.041e-01, SC=3.905e+00, AC=1.181e+00 +CYCLE: 24 (68%, 45 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.419e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.982e+00 ALL=6.797e-04 +EUCL: BD=4.305e-05, NB=5.435e-05, RS=4.727e-01, SC=3.924e+00, AC=1.086e+00 +CYCLE: 25 (69%, 46 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.421e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.007e+00 ALL=6.466e-04 +EUCL: BD=1.817e-04, NB=3.718e-05, RS=5.190e-01, SC=3.878e+00, AC=1.231e+00 +CYCLE: 26 (70%, 46 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.297e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.983e+00 ALL=6.882e-04 +EUCL: BD=5.365e-05, NB=4.680e-05, RS=5.143e-01, SC=3.640e+00, AC=1.038e+00 +CYCLE: 27 (70%, 47 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.412e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.988e+00 ALL=6.686e-04 +EUCL: BD=1.580e-04, NB=4.290e-05, RS=5.187e-01, SC=3.851e+00, AC=1.279e+00 +CYCLE: 28 (71%, 48 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.237e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.930e+00 ALL=8.016e-04 +EUCL: BD=5.850e-05, NB=4.700e-05, RS=5.128e-01, SC=4.207e+00, AC=1.009e+00 +CYCLE: 29 (72%, 49 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.406e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.002e+00 ALL=6.045e-04 +EUCL: BD=2.469e-05, NB=4.453e-05, RS=5.319e-01, SC=3.764e+00, AC=1.163e+00 +CYCLE: 30 (73%, 50 secs) +HAND: (secstr) Good:Bad=2:2 (22:18) +DIST: BD=1.741e-02, NB=8.006e-06, RS=3.689e-01, SC=2.226e+00, AC=1.129e+00 +PROJ: Dim=3, Df=9.980e-01, STR=6.068e-04 +TNGL: 0 (cyc=0) +EUCL: IN=1.308e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.032e+00 ALL=7.431e-04 +EUCL: BD=6.203e-05, NB=3.463e-06, RS=5.301e-01, SC=3.571e+00, AC=9.615e-01 +CYCLE: 31 (74%, 51 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.315e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.056e+00 ALL=6.679e-04 +EUCL: BD=6.279e-06, NB=4.917e-05, RS=4.968e-01, SC=3.460e+00, AC=8.808e-01 +CYCLE: 32 (74%, 52 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.275e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.891e+00 ALL=7.472e-04 +EUCL: BD=1.989e-04, NB=1.063e-05, RS=8.164e-01, SC=3.581e+00, AC=1.083e+00 +CYCLE: 33 (75%, 52 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.438e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.803e+00 ALL=6.529e-04 +EUCL: BD=9.695e-05, NB=4.098e-05, RS=6.908e-01, SC=3.401e+00, AC=1.065e+00 +CYCLE: 34 (76%, 53 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.342e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.213e+00 ALL=7.588e-04 +EUCL: BD=8.701e-05, NB=2.117e-05, RS=5.947e-01, SC=3.810e+00, AC=1.095e+00 +CYCLE: 35 (77%, 54 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.403e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.904e+00 ALL=7.924e-04 +EUCL: BD=4.446e-05, NB=2.009e-05, RS=7.078e-01, SC=3.686e+00, AC=9.667e-01 +CYCLE: 36 (77%, 55 secs) +HAND: (secstr) Good:Bad=2:2 (22:18) +DIST: BD=1.760e-02, NB=0.000e+00, RS=3.811e-01, SC=2.183e+00, AC=1.113e+00 +PROJ: Dim=3, Df=9.983e-01, STR=5.816e-04 +TNGL: 0 (cyc=0) +EUCL: IN=1.359e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.017e+00 ALL=5.476e-04 +EUCL: BD=6.223e-05, NB=1.152e-06, RS=4.353e-01, SC=3.864e+00, AC=1.115e+00 +EXIT: no further improvement on 3D reprojection +TIME: 56 secs +END: BD=1.726e-05, NB=2.911e-05, RS=5.041e-01, SC=3.905e+00, AC=1.181e+00, Itno:36=13+23 +SAVE: models/example_8.pdb +VIOLS: models/example_8.viol + +Run 8 finished: Wed 17-Jun-1998 14:34:11 + +RUN 9 STARTED: Wed 17-Jun-1998 14:34:11 +# Randseed=898086851 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-2.523e+00 +? centre_dist(): Cdist2[69]=-4.785e-01 +? centre_dist(): Cdist2[69]=-1.215e+00 +? centre_dist(): Cdist2[17]=-2.201e+00 +DIST: BD=6.394e-01, NB=0.000e+00, RS=7.172e-01, SC=8.749e+00, AC=2.974e+00 +PROJ: Dim=30, Df=8.077e-01, STR=6.976e-02 +TNGL: 0 (cyc=2) +EUCL: IN=9.234e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=2.286e-05 +EUCL: BD=2.461e-05, NB=0.000e+00, RS=5.439e-01, SC=4.618e-01, AC=2.592e+00 +CYCLE: 2 (39%, 6 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +DIST: BD=4.549e+02, NB=2.135e-03, RS=1.995e+00, SC=2.507e+01, AC=2.294e+00 +PROJ: Dim=24, Df=9.522e-01, STR=3.651e-05 +TNGL: 0 (cyc=5) +EUCL: IN=6.081e-02 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.695e-03 +EUCL: BD=2.631e-05, NB=0.000e+00, RS=4.013e-01, SC=4.846e+00, AC=2.508e+00 +CYCLE: 3 (44%, 12 secs) +DIST: BD=6.177e-03, NB=0.000e+00, RS=2.578e-01, SC=3.459e+00, AC=2.460e+00 +PROJ: Dim=19, Df=9.991e-01, STR=4.627e-04 +TNGL: 0 (cyc=2) +EUCL: IN=5.994e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=4.032e-05 +EUCL: BD=1.148e-05, NB=1.564e-06, RS=1.161e-01, SC=5.008e-01, AC=2.485e+00 +CYCLE: 4 (48%, 17 secs) +DIST: BD=7.966e-03, NB=0.000e+00, RS=2.369e-01, SC=7.667e-01, AC=2.400e+00 +PROJ: Dim=12, Df=1.000e+00, STR=2.646e-04 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.785e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.481e-05 +EUCL: BD=1.771e-05, NB=5.921e-06, RS=8.228e-02, SC=6.895e-01, AC=2.499e+00 +CYCLE: 5 (53%, 19 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.089e-02, NB=0.000e+00, RS=3.300e-01, SC=1.216e+00, AC=2.532e+00 +PROJ: Dim=11, Df=9.764e-01, STR=6.098e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.627e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=6.279e-05 +EUCL: BD=2.634e-05, NB=4.435e-06, RS=2.654e-01, SC=6.746e-01, AC=2.433e+00 +CYCLE: 6 (54%, 22 secs) +DIST: BD=5.317e-03, NB=0.000e+00, RS=3.081e-01, SC=6.848e-01, AC=2.400e+00 +PROJ: Dim=10, Df=1.000e+00, STR=1.459e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.122e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.886e-05 +EUCL: BD=2.885e-05, NB=0.000e+00, RS=3.315e-01, SC=4.391e-01, AC=2.209e+00 +CYCLE: 7 (55%, 24 secs) +DIST: BD=3.179e-02, NB=6.447e-05, RS=6.014e-01, SC=1.044e+00, AC=1.901e+00 +PROJ: Dim=6, Df=1.009e+00, STR=1.090e-03 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.206e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=2.653e-05 +EUCL: BD=3.162e-05, NB=0.000e+00, RS=5.190e-01, SC=5.209e-01, AC=2.078e+00 +CYCLE: 8 (58%, 26 secs) +DIST: BD=2.451e-02, NB=1.206e-04, RS=7.850e-01, SC=1.721e+00, AC=1.667e+00 +PROJ: Dim=5, Df=1.007e+00, STR=1.332e-03 +TNGL: 0 (cyc=3) +EUCL: IN=3.000e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=8.429e-05 +EUCL: BD=4.991e-05, NB=6.913e-05, RS=6.872e-01, SC=1.065e+00, AC=1.996e+00 +CYCLE: 9 (59%, 27 secs) +HAND: (secstr) Good:Bad=1:3 (11:29) +DIST: BD=2.041e-01, NB=1.615e-03, RS=6.588e-01, SC=5.173e+00, AC=9.282e-01 +PROJ: Dim=3, Df=1.020e+00, STR=7.937e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=2.337e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.588e+00 ALL=2.356e-03 +** BEST: BD=1.547e-03, NB=9.293e-05, RS=1.592e+00, SC=4.642e+00, AC=1.194e+00 +CYCLE: 10 (60%, 28 secs) +TNGL: 0 (cyc=0) +EUCL: IN=5.126e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.467e+00 ALL=1.686e-03 +EUCL: BD=6.611e-04, NB=1.103e-04, RS=1.204e+00, SC=3.917e+00, AC=9.679e-01 +CYCLE: 11 (61%, 29 secs) +TNGL: 0 (cyc=1) +EUCL: IN=3.415e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.328e+00 ALL=1.789e-03 +EUCL: BD=7.860e-04, NB=1.074e-04, RS=1.015e+00, SC=4.325e+00, AC=1.058e+00 +CYCLE: 12 (62%, 30 secs) +TNGL: 0 (cyc=1) +EUCL: IN=6.603e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.593e+00 ALL=3.674e-03 +EUCL: BD=2.214e-04, NB=1.307e-04, RS=9.317e-01, SC=3.757e+00, AC=1.104e+00 +CYCLE: 13 (62%, 31 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.524e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.194e+00 ALL=1.321e-03 +EUCL: BD=8.446e-05, NB=1.262e-04, RS=7.083e-01, SC=2.404e+00, AC=1.277e+00 +CYCLE: 14 (63%, 32 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.711e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.129e+00 ALL=1.111e-03 +EUCL: BD=8.598e-05, NB=1.065e-04, RS=7.709e-01, SC=2.336e+00, AC=1.072e+00 +CYCLE: 15 (64%, 32 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.557e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.096e+00 ALL=8.172e-04 +** BEST: BD=5.375e-05, NB=6.879e-05, RS=6.661e-01, SC=2.328e+00, AC=1.015e+00 +CYCLE: 16 (64%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.676e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.082e+00 ALL=9.343e-04 +EUCL: BD=4.080e-05, NB=8.666e-05, RS=6.420e-01, SC=2.428e+00, AC=1.092e+00 +CYCLE: 17 (65%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.498e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.102e+00 ALL=8.106e-04 +EUCL: BD=2.982e-05, NB=1.113e-04, RS=6.151e-01, SC=2.608e+00, AC=1.077e+00 +CYCLE: 18 (66%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.017e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.104e+00 ALL=6.820e-04 +EUCL: BD=4.564e-05, NB=1.143e-04, RS=5.592e-01, SC=2.457e+00, AC=1.035e+00 +CYCLE: 19 (66%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.643e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.122e+00 ALL=7.680e-04 +EUCL: BD=4.516e-05, NB=1.100e-04, RS=6.104e-01, SC=2.734e+00, AC=1.059e+00 +CYCLE: 20 (67%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.047e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.070e+00 ALL=6.588e-04 +EUCL: BD=6.776e-05, NB=1.018e-04, RS=3.957e-01, SC=2.579e+00, AC=1.038e+00 +CYCLE: 21 (68%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.918e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.020e+00 ALL=6.694e-04 +EUCL: BD=9.308e-05, NB=8.428e-05, RS=4.020e-01, SC=2.381e+00, AC=1.126e+00 +CYCLE: 22 (69%, 38 secs) +HAND: (secstr) Good:Bad=1:3 (8:32) +DIST: BD=1.872e-02, NB=2.935e-05, RS=4.656e-01, SC=1.783e+00, AC=9.692e-01 +PROJ: Dim=3, Df=1.000e+00, STR=9.397e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=6.929e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.040e+00 ALL=7.046e-04 +EUCL: BD=1.726e-04, NB=6.668e-05, RS=6.071e-01, SC=2.227e+00, AC=1.104e+00 +CYCLE: 23 (70%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.566e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.036e+00 ALL=6.366e-04 +EUCL: BD=1.050e-04, NB=6.056e-05, RS=5.574e-01, SC=2.231e+00, AC=1.027e+00 +CYCLE: 24 (70%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.653e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.008e+00 ALL=5.555e-04 +EUCL: BD=6.619e-05, NB=6.648e-05, RS=5.747e-01, SC=2.293e+00, AC=1.091e+00 +CYCLE: 25 (71%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.474e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.614e-01 ALL=5.568e-04 +EUCL: BD=3.921e-05, NB=7.893e-05, RS=4.091e-01, SC=2.133e+00, AC=1.195e+00 +CYCLE: 26 (72%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.273e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.567e-01 ALL=4.748e-04 +EUCL: BD=5.582e-05, NB=6.383e-05, RS=3.904e-01, SC=2.382e+00, AC=1.062e+00 +CYCLE: 27 (73%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.308e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.978e-01 ALL=5.035e-04 +** BEST: BD=3.421e-05, NB=1.869e-05, RS=3.447e-01, SC=2.351e+00, AC=1.185e+00 +CYCLE: 28 (73%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.815e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.773e-01 ALL=4.954e-04 +EUCL: BD=1.732e-05, NB=3.697e-05, RS=3.483e-01, SC=2.243e+00, AC=1.219e+00 +CYCLE: 29 (74%, 44 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.905e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.967e-01 ALL=4.729e-04 +EUCL: BD=2.368e-05, NB=6.370e-05, RS=3.204e-01, SC=2.271e+00, AC=1.100e+00 +CYCLE: 30 (74%, 45 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.461e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.001e+00 ALL=4.757e-04 +EUCL: BD=2.432e-05, NB=6.990e-05, RS=2.895e-01, SC=2.285e+00, AC=1.045e+00 +CYCLE: 31 (75%, 45 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.904e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.784e-01 ALL=4.504e-04 +EUCL: BD=4.398e-05, NB=7.313e-05, RS=2.819e-01, SC=2.096e+00, AC=1.038e+00 +CYCLE: 32 (76%, 46 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.766e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.004e+00 ALL=5.138e-04 +EUCL: BD=2.589e-05, NB=6.986e-05, RS=3.033e-01, SC=2.210e+00, AC=1.236e+00 +CYCLE: 33 (77%, 47 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.706e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.008e+00 ALL=4.680e-04 +EUCL: BD=2.901e-05, NB=6.073e-05, RS=3.041e-01, SC=2.043e+00, AC=1.074e+00 +CYCLE: 34 (77%, 48 secs) +HAND: (secstr) Good:Bad=1:3 (8:32) +DIST: BD=7.569e-03, NB=1.393e-05, RS=2.558e-01, SC=1.582e+00, AC=1.100e+00 +PROJ: Dim=3, Df=9.995e-01, STR=5.099e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=8.142e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.793e-01 ALL=4.183e-04 +EUCL: BD=2.071e-05, NB=3.870e-05, RS=3.591e-01, SC=2.301e+00, AC=1.250e+00 +CYCLE: 35 (78%, 49 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.905e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.517e-01 ALL=4.616e-04 +EUCL: BD=2.587e-05, NB=4.731e-05, RS=3.665e-01, SC=2.288e+00, AC=1.285e+00 +CYCLE: 36 (79%, 49 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.693e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.620e-01 ALL=4.430e-04 +EUCL: BD=7.216e-06, NB=3.546e-05, RS=3.350e-01, SC=2.242e+00, AC=1.426e+00 +CYCLE: 37 (80%, 50 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.966e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.588e-01 ALL=4.533e-04 +EUCL: BD=1.451e-05, NB=4.507e-05, RS=3.354e-01, SC=2.215e+00, AC=1.310e+00 +CYCLE: 38 (81%, 51 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.853e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.761e-01 ALL=4.522e-04 +EUCL: BD=3.266e-05, NB=4.703e-05, RS=3.420e-01, SC=2.164e+00, AC=1.155e+00 +CYCLE: 39 (81%, 52 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.105e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.619e-01 ALL=4.947e-04 +EUCL: BD=1.249e-05, NB=4.107e-05, RS=3.214e-01, SC=2.152e+00, AC=1.079e+00 +CYCLE: 40 (82%, 53 secs) +HAND: (secstr) Good:Bad=1:3 (8:32) +DIST: BD=7.558e-03, NB=1.264e-05, RS=2.533e-01, SC=1.616e+00, AC=1.037e+00 +PROJ: Dim=3, Df=9.991e-01, STR=4.966e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=7.218e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.500e-01 ALL=4.322e-04 +EUCL: BD=3.477e-05, NB=4.064e-05, RS=3.792e-01, SC=2.164e+00, AC=1.131e+00 +EXIT: no further improvement on 3D reprojection +TIME: 53 secs +END: BD=3.421e-05, NB=1.869e-05, RS=3.447e-01, SC=2.351e+00, AC=1.185e+00, Itno:40=11+29 +SAVE: models/example_9.pdb +VIOLS: models/example_9.viol + +Run 9 finished: Wed 17-Jun-1998 14:35:05 + +RUN 10 STARTED: Wed 17-Jun-1998 14:35:05 +# Randseed=898086905 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-1.401e+01 +DIST: BD=7.620e-01, NB=0.000e+00, RS=7.480e-01, SC=1.093e+01, AC=2.901e+00 +PROJ: Dim=32, Df=8.344e-01, STR=7.140e-02 +TNGL: 0 (cyc=1) +EUCL: IN=1.926e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=2.197e-04 +EUCL: BD=3.082e-05, NB=0.000e+00, RS=2.190e-01, SC=2.925e+00, AC=2.914e+00 +CYCLE: 2 (37%, 4 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=6.842e-04, NB=0.000e+00, RS=2.479e-01, SC=1.639e+00, AC=2.846e+00 +PROJ: Dim=28, Df=9.929e-01, STR=1.695e-04 +TNGL: 0 (cyc=2) +EUCL: IN=6.637e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=3.396e-05 +EUCL: BD=1.352e-05, NB=0.000e+00, RS=3.996e-02, SC=6.842e-01, AC=2.528e+00 +CYCLE: 3 (40%, 11 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.372e-02, NB=0.000e+00, RS=4.195e-01, SC=1.916e+00, AC=2.786e+00 +PROJ: Dim=18, Df=9.945e-01, STR=6.528e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=7.651e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.761e-05 +EUCL: BD=1.063e-04, NB=0.000e+00, RS=1.759e-01, SC=8.158e-01, AC=2.532e+00 +CYCLE: 4 (48%, 16 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.371e-02, NB=2.956e-06, RS=5.149e-01, SC=2.137e+00, AC=2.850e+00 +PROJ: Dim=17, Df=9.816e-01, STR=9.638e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=8.818e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.134e-05 +EUCL: BD=1.278e-04, NB=0.000e+00, RS=1.124e-01, SC=6.597e-01, AC=2.408e+00 +CYCLE: 5 (49%, 20 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=5.845e-03, NB=0.000e+00, RS=2.238e-01, SC=1.196e+00, AC=2.640e+00 +PROJ: Dim=16, Df=9.325e-01, STR=5.588e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.246e-04 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=6.112e-05 +EUCL: BD=8.199e-05, NB=0.000e+00, RS=1.090e-01, SC=1.022e+00, AC=2.594e+00 +CYCLE: 6 (50%, 24 secs) +DIST: BD=6.760e-03, NB=0.000e+00, RS=1.102e-01, SC=9.122e-01, AC=2.460e+00 +PROJ: Dim=10, Df=1.002e+00, STR=2.450e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=4.000e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.177e-05 +EUCL: BD=4.329e-06, NB=2.205e-06, RS=1.606e-01, SC=5.877e-01, AC=2.464e+00 +CYCLE: 7 (55%, 27 secs) +DIST: BD=8.816e-03, NB=0.000e+00, RS=2.385e-01, SC=8.415e-01, AC=2.537e+00 +PROJ: Dim=9, Df=1.001e+00, STR=3.763e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.212e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.470e-05 +EUCL: BD=8.427e-05, NB=0.000e+00, RS=3.959e-01, SC=5.855e-01, AC=2.332e+00 +CYCLE: 8 (55%, 29 secs) +DIST: BD=7.137e-02, NB=0.000e+00, RS=5.332e-01, SC=1.337e+00, AC=2.367e+00 +PROJ: Dim=8, Df=1.002e+00, STR=1.543e-03 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.457e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.824e-05 +EUCL: BD=9.413e-05, NB=9.251e-06, RS=2.352e-01, SC=5.659e-01, AC=2.340e+00 +CYCLE: 9 (56%, 31 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.723e-02, NB=0.000e+00, RS=5.176e-01, SC=1.904e+00, AC=2.463e+00 +PROJ: Dim=7, Df=9.377e-01, STR=1.430e-03 +TNGL: 0 (cyc=7) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.997e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=9.275e-05 +EUCL: BD=3.541e-04, NB=3.564e-06, RS=3.950e-01, SC=9.419e-01, AC=2.350e+00 +CYCLE: 10 (57%, 33 secs) +DIST: BD=7.149e-02, NB=1.429e-04, RS=3.867e-01, SC=4.034e+00, AC=1.342e+00 +PROJ: Dim=4, Df=1.013e+00, STR=4.327e-03 +TNGL: 0 (cyc=1) +EUCL: IN=4.791e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.923e-04 +EUCL: BD=1.705e-04, NB=4.620e-05, RS=3.093e-01, SC=1.633e+00, AC=1.285e+00 +CYCLE: 11 (59%, 34 secs) + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +HAND: (secstr) Good:Bad=1:3 (17:23) +DIST: BD=4.705e-01, NB=5.818e-04, RS=3.769e-01, SC=4.393e+00, AC=8.090e-01 +PROJ: Dim=3, Df=1.017e+00, STR=1.676e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=2.046e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.294e+00 ALL=2.854e-03 +** BEST: BD=1.609e-03, NB=7.572e-05, RS=4.379e-01, SC=4.535e+00, AC=1.069e+00 +CYCLE: 12 (60%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.971e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.930e+00 ALL=1.773e-03 +EUCL: BD=1.253e-04, NB=3.796e-04, RS=7.278e-01, SC=4.692e+00, AC=9.282e-01 +CYCLE: 13 (61%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.690e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.837e+00 ALL=1.671e-03 +EUCL: BD=2.506e-04, NB=1.463e-04, RS=7.123e-01, SC=4.647e+00, AC=1.024e+00 +CYCLE: 14 (62%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.577e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.956e+00 ALL=1.262e-03 +EUCL: BD=7.283e-05, NB=1.775e-04, RS=6.506e-01, SC=4.561e+00, AC=1.005e+00 +CYCLE: 15 (62%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.641e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.913e+00 ALL=1.278e-03 +EUCL: BD=8.460e-05, NB=1.356e-04, RS=5.416e-01, SC=4.825e+00, AC=9.949e-01 +CYCLE: 16 (63%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.444e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.756e+00 ALL=1.372e-03 +EUCL: BD=1.302e-04, NB=8.062e-04, RS=5.088e-01, SC=4.828e+00, AC=1.197e+00 +CYCLE: 17 (64%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.438e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.763e+00 ALL=1.160e-03 +EUCL: BD=2.837e-05, NB=7.921e-04, RS=4.734e-01, SC=4.774e+00, AC=1.054e+00 +CYCLE: 18 (65%, 40 secs) +HAND: (secstr) Good:Bad=2:2 (18:22) +DIST: BD=3.504e-02, NB=1.434e-04, RS=5.320e-01, SC=2.955e+00, AC=8.859e-01 +PROJ: Dim=3, Df=1.000e+00, STR=2.688e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=1.645e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.980e+00 ALL=1.822e-03 +EUCL: BD=3.302e-04, NB=1.086e-04, RS=7.481e-01, SC=4.598e+00, AC=9.756e-01 +CYCLE: 19 (66%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.574e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.944e+00 ALL=1.110e-03 +EUCL: BD=2.751e-04, NB=1.685e-04, RS=6.189e-01, SC=4.205e+00, AC=8.474e-01 +CYCLE: 20 (66%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.544e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.866e+00 ALL=1.003e-03 +EUCL: BD=4.365e-04, NB=1.447e-04, RS=6.205e-01, SC=4.295e+00, AC=1.018e+00 +CYCLE: 21 (67%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.526e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.768e+00 ALL=1.067e-03 +EUCL: BD=3.808e-04, NB=1.433e-04, RS=5.975e-01, SC=4.371e+00, AC=8.949e-01 +CYCLE: 22 (68%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.540e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.743e+00 ALL=1.071e-03 +EUCL: BD=2.733e-04, NB=1.287e-04, RS=5.346e-01, SC=4.394e+00, AC=1.069e+00 +CYCLE: 23 (69%, 44 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.534e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.746e+00 ALL=1.023e-03 +EUCL: BD=4.151e-04, NB=1.214e-04, RS=5.317e-01, SC=4.507e+00, AC=9.154e-01 +CYCLE: 24 (70%, 45 secs) +HAND: (secstr) Good:Bad=2:2 (18:22) +DIST: BD=4.333e-02, NB=1.003e-04, RS=5.270e-01, SC=2.845e+00, AC=8.731e-01 +PROJ: Dim=3, Df=9.999e-01, STR=2.771e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=1.587e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.217e+00 ALL=1.831e-03 +EUCL: BD=2.610e-04, NB=1.590e-04, RS=7.801e-01, SC=4.079e+00, AC=8.218e-01 +EXIT: no further improvement on 3D reprojection +TIME: 46 secs +END: BD=1.609e-03, NB=7.572e-05, RS=4.379e-01, SC=4.535e+00, AC=1.069e+00, Itno:24=11+13 +SAVE: models/example_10.pdb +VIOLS: models/example_10.viol + +Run 10 finished: Wed 17-Jun-1998 14:35:52 + +RUN 11 STARTED: Wed 17-Jun-1998 14:35:52 +# Randseed=898086952 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-4.082e+00 +? centre_dist(): Cdist2[69]=-1.371e-01 +? centre_dist(): Cdist2[69]=-4.989e-01 +? centre_dist(): Cdist2[17]=-3.263e+00 +DIST: BD=3.451e-01, NB=1.342e-04, RS=7.005e-01, SC=8.508e+00, AC=2.940e+00 +PROJ: Dim=31, Df=8.094e-01, STR=6.635e-02 +TNGL: 0 (cyc=3) +EUCL: IN=6.495e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + ALL=3.980e-05 +EUCL: BD=6.068e-06, NB=0.000e+00, RS=2.601e-01, SC=6.724e-01, AC=2.482e+00 +CYCLE: 2 (38%, 6 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.255e-02, NB=0.000e+00, RS=6.885e-01, SC=1.863e+00, AC=2.773e+00 +PROJ: Dim=30, Df=9.983e-01, STR=9.941e-04 +TNGL: 0 (cyc=1) +EUCL: IN=2.853e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.945e-05 +EUCL: BD=3.781e-05, NB=0.000e+00, RS=4.611e-01, SC=3.667e-01, AC=2.488e+00 +CYCLE: 3 (39%, 13 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=4.074e-03, NB=0.000e+00, RS=6.278e-01, SC=1.360e+00, AC=2.700e+00 +PROJ: Dim=19, Df=9.984e-01, STR=5.947e-04 +TNGL: 0 (cyc=3) +EUCL: IN=4.561e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=4.527e-05 +EUCL: BD=3.743e-05, NB=0.000e+00, RS=3.526e-01, SC=7.427e-01, AC=2.442e+00 +CYCLE: 4 (48%, 18 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.600e-02, NB=0.000e+00, RS=8.840e-01, SC=1.941e+00, AC=2.674e+00 +PROJ: Dim=12, Df=9.922e-01, STR=1.284e-03 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=4.197e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=5.059e-05 +EUCL: BD=4.174e-05, NB=0.000e+00, RS=2.874e-01, SC=8.104e-01, AC=2.355e+00 +CYCLE: 5 (53%, 21 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.832e-03, NB=0.000e+00, RS=3.987e-01, SC=1.039e+00, AC=2.505e+00 +PROJ: Dim=11, Df=9.768e-01, STR=2.801e-04 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=1.676e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.353e-05 +EUCL: BD=3.426e-04, NB=0.000e+00, RS=2.506e-01, SC=4.788e-01, AC=2.269e+00 +CYCLE: 6 (54%, 24 secs) +DIST: BD=3.637e-02, NB=6.449e-06, RS=4.678e-01, SC=8.504e-01, AC=2.199e+00 +PROJ: Dim=7, Df=1.003e+00, STR=8.486e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=1.704e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=2.445e-05 +EUCL: BD=1.060e-05, NB=0.000e+00, RS=2.264e-01, SC=4.655e-01, AC=2.182e+00 +CYCLE: 7 (57%, 26 secs) +DIST: BD=1.864e-02, NB=1.707e-05, RS=3.621e-01, SC=1.084e+00, AC=1.936e+00 +PROJ: Dim=6, Df=1.004e+00, STR=7.082e-04 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=1.692e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=8.092e-05 +EUCL: BD=8.707e-05, NB=4.648e-06, RS=3.731e-01, SC=1.076e+00, AC=2.164e+00 +CYCLE: 8 (58%, 28 secs) +DIST: BD=7.874e-02, NB=1.425e-04, RS=6.591e-01, SC=2.469e+00, AC=1.336e+00 +PROJ: Dim=4, Df=1.014e+00, STR=3.582e-03 +TNGL: 0 (cyc=2) +EUCL: IN=1.684e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=6.640e-05 +EUCL: BD=9.651e-05, NB=0.000e+00, RS=4.061e-01, SC=6.592e-01, AC=1.410e+00 +CYCLE: 9 (59%, 29 secs) +HAND: (secstr) Good:Bad=2:2 (11:29) +DIST: BD=1.162e-01, NB=7.189e-04, RS=1.998e-01, SC=3.758e+00, AC=8.692e-01 +PROJ: Dim=3, Df=1.015e+00, STR=4.979e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=1.476e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.942e+00 ALL=1.179e-03 +** BEST: BD=3.150e-04, NB=2.042e-04, RS=4.603e-01, SC=3.767e+00, AC=8.436e-01 +CYCLE: 10 (60%, 30 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.104e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.787e+00 ALL=1.167e-03 +EUCL: BD=5.995e-04, NB=2.321e-04, RS=4.976e-01, SC=2.989e+00, AC=8.628e-01 +CYCLE: 11 (61%, 31 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.087e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.864e+00 ALL=1.214e-03 +EUCL: BD=2.175e-04, NB=1.684e-04, RS=5.810e-01, SC=2.984e+00, AC=8.859e-01 +CYCLE: 12 (62%, 32 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.571e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.856e+00 ALL=9.683e-04 +EUCL: BD=3.884e-04, NB=1.847e-04, RS=6.325e-01, SC=2.819e+00, AC=9.333e-01 +CYCLE: 13 (62%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.002e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.913e+00 ALL=6.323e-04 +EUCL: BD=1.451e-04, NB=3.606e-04, RS=5.563e-01, SC=2.783e+00, AC=1.155e+00 +CYCLE: 14 (63%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.872e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.608e+00 ALL=1.795e-03 +EUCL: BD=1.520e-04, NB=2.474e-04, RS=7.788e-01, SC=3.299e+00, AC=1.150e+00 +CYCLE: 15 (64%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.189e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.405e+00 ALL=1.012e-03 +EUCL: BD=1.287e-04, NB=3.027e-04, RS=7.637e-01, SC=3.587e+00, AC=1.137e+00 +CYCLE: 16 (65%, 35 secs) +HAND: (secstr) Good:Bad=2:2 (10:30) +DIST: BD=2.241e-02, NB=1.555e-04, RS=3.466e-01, SC=2.554e+00, AC=9.410e-01 +PROJ: Dim=3, Df=9.997e-01, STR=1.156e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=9.976e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.957e+00 ALL=6.753e-04 +EUCL: BD=1.846e-04, NB=6.223e-05, RS=4.942e-01, SC=3.234e+00, AC=8.577e-01 +CYCLE: 17 (66%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.059e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.885e+00 ALL=8.743e-04 +EUCL: BD=5.415e-05, NB=1.136e-04, RS=6.380e-01, SC=3.233e+00, AC=9.179e-01 +CYCLE: 18 (66%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.523e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.809e+00 ALL=7.692e-04 +EUCL: BD=2.107e-04, NB=1.415e-04, RS=6.634e-01, SC=2.650e+00, AC=9.821e-01 +CYCLE: 19 (67%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.032e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.857e+00 ALL=6.862e-04 +EUCL: BD=1.341e-04, NB=1.971e-04, RS=6.403e-01, SC=2.672e+00, AC=1.192e+00 +CYCLE: 20 (68%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.064e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.712e+00 ALL=5.899e-04 +EUCL: BD=6.588e-05, NB=9.428e-05, RS=5.738e-01, SC=2.564e+00, AC=9.308e-01 +CYCLE: 21 (69%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.846e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.698e+00 ALL=7.225e-04 +EUCL: BD=2.762e-04, NB=9.091e-05, RS=5.471e-01, SC=2.940e+00, AC=1.040e+00 +CYCLE: 22 (70%, 40 secs) +HAND: (secstr) Good:Bad=2:2 (10:30) +DIST: BD=2.202e-02, NB=1.395e-04, RS=3.305e-01, SC=2.591e+00, AC=8.692e-01 +PROJ: Dim=3, Df=9.996e-01, STR=1.106e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=1.122e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.905e+00 ALL=7.074e-04 +EUCL: BD=1.706e-04, NB=1.034e-04, RS=5.023e-01, SC=2.953e+00, AC=9.064e-01 +EXIT: no further improvement on 3D reprojection +TIME: 41 secs +END: BD=3.150e-04, NB=2.042e-04, RS=4.603e-01, SC=3.767e+00, AC=8.436e-01, Itno:22=9+13 +SAVE: models/example_11.pdb +VIOLS: models/example_11.viol + +Run 11 finished: Wed 17-Jun-1998 14:36:33 + +RUN 12 STARTED: Wed 17-Jun-1998 14:36:33 +# Randseed=898086993 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-2.986e+00 +? centre_dist(): Cdist2[69]=-7.643e-01 +? centre_dist(): Cdist2[69]=-1.104e+00 +DIST: BD=8.502e-01, NB=5.262e-06, RS=8.543e-01, SC=1.149e+01, AC=2.965e+00 +PROJ: Dim=29, Df=8.064e-01, STR=7.399e-02 +TNGL: 0 (cyc=1) +EUCL: IN=3.476e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=2.468e-05 +EUCL: BD=3.156e-05, NB=0.000e+00, RS=4.417e-01, SC=2.967e-01, AC=2.579e+00 +CYCLE: 2 (40%, 5 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +DIST: BD=1.256e+00, NB=1.516e-05, RS=6.502e-01, SC=3.997e+00, AC=2.558e+00 +PROJ: Dim=23, Df=9.986e-01, STR=7.541e-05 +TNGL: 0 (cyc=3) +EUCL: IN=2.774e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=5.820e-05 +EUCL: BD=8.234e-05, NB=5.799e-06, RS=2.997e-01, SC=9.252e-01, AC=2.495e+00 +CYCLE: 3 (44%, 11 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=4.412e-02, NB=0.000e+00, RS=7.707e-01, SC=2.415e+00, AC=2.751e+00 +PROJ: Dim=22, Df=9.867e-01, STR=1.665e-03 +TNGL: 0 (cyc=4) +EUCL: IN=5.895e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + ALL=1.547e-05 +EUCL: BD=7.202e-05, NB=0.000e+00, RS=6.420e-01, SC=4.614e-01, AC=2.464e+00 +CYCLE: 4 (45%, 16 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=8.807e-03, NB=0.000e+00, RS=9.011e-01, SC=8.953e-01, AC=2.585e+00 +PROJ: Dim=14, Df=9.825e-01, STR=3.608e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.045e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=9.231e-06 +EUCL: BD=2.695e-05, NB=0.000e+00, RS=5.330e-01, SC=2.720e-01, AC=2.292e+00 +CYCLE: 5 (51%, 20 secs) +DIST: BD=2.624e-02, NB=0.000e+00, RS=8.043e-01, SC=1.066e+00, AC=2.279e+00 +PROJ: Dim=9, Df=1.001e+00, STR=8.331e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.085e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.999e-05 +EUCL: BD=6.677e-05, NB=0.000e+00, RS=6.228e-01, SC=2.679e-01, AC=2.147e+00 +CYCLE: 6 (55%, 22 secs) +DIST: BD=2.029e-02, NB=1.248e-05, RS=7.517e-01, SC=5.469e-01, AC=2.190e+00 +PROJ: Dim=8, Df=1.002e+00, STR=3.835e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.026e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.591e-05 +EUCL: BD=6.352e-05, NB=0.000e+00, RS=7.076e-01, SC=3.438e-01, AC=2.138e+00 +CYCLE: 7 (56%, 24 secs) +DIST: BD=3.850e-02, NB=1.623e-04, RS=7.205e-01, SC=9.821e-01, AC=1.733e+00 +PROJ: Dim=5, Df=1.010e+00, STR=1.231e-03 +TNGL: 0 (cyc=1) +EUCL: IN=2.049e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.938e-05 +EUCL: BD=7.360e-05, NB=2.590e-06, RS=3.239e-01, SC=7.404e-01, AC=1.942e+00 +CYCLE: 8 (59%, 26 secs) +DIST: BD=4.419e-02, NB=1.166e-04, RS=6.742e-01, SC=1.790e+00, AC=1.162e+00 +PROJ: Dim=4, Df=1.011e+00, STR=2.006e-03 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.800e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.373e-04 +EUCL: BD=1.597e-05, NB=2.544e-05, RS=4.954e-01, SC=1.151e+00, AC=1.305e+00 +CYCLE: 9 (59%, 27 secs) +HAND: (secstr) Good:Bad=1:3 (17:23) +DIST: BD=1.067e-01, NB=1.761e-03, RS=6.828e-01, SC=3.761e+00, AC=7.244e-01 +PROJ: Dim=3, Df=1.025e+00, STR=7.774e-03 , flip +TNGL: 0 (cyc=1) +EUCL: IN=1.016e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.547e+00 ALL=1.130e-03 +** BEST: BD=3.114e-04, NB=7.791e-04, RS=5.761e-01, SC=3.989e+00, AC=1.215e+00 +CYCLE: 10 (60%, 28 secs) +TNGL: 0 (cyc=0) +EUCL: IN=4.099e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.539e+00 ALL=1.103e-03 +EUCL: BD=6.440e-04, NB=8.836e-04, RS=5.782e-01, SC=3.462e+00, AC=1.021e+00 +CYCLE: 11 (61%, 29 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.995e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.264e+00 ALL=1.227e-03 +EUCL: BD=1.285e-03, NB=8.901e-04, RS=6.784e-01, SC=2.276e+00, AC=1.222e+00 +CYCLE: 12 (62%, 30 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.389e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.195e+00 ALL=9.349e-04 +EUCL: BD=5.458e-04, NB=1.028e-03, RS=6.621e-01, SC=2.230e+00, AC=1.271e+00 +CYCLE: 13 (62%, 31 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.857e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.162e+00 ALL=1.674e-03 +EUCL: BD=5.957e-04, NB=9.390e-04, RS=7.353e-01, SC=2.099e+00, AC=1.079e+00 +CYCLE: 14 (63%, 32 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.012e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.127e+00 ALL=6.950e-04 +EUCL: BD=1.004e-04, NB=7.750e-04, RS=7.187e-01, SC=1.539e+00, AC=8.821e-01 +CYCLE: 15 (64%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.112e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.122e+00 ALL=6.450e-04 +EUCL: BD=5.387e-05, NB=7.082e-04, RS=6.616e-01, SC=1.340e+00, AC=1.053e+00 +CYCLE: 16 (65%, 34 secs) +HAND: (secstr) Good:Bad=3:1 (24:16) +DIST: BD=2.704e-02, NB=4.461e-04, RS=6.063e-01, SC=2.686e+00, AC=1.332e+00 +PROJ: Dim=3, Df=9.990e-01, STR=1.383e-03 +TNGL: 0 (cyc=0) +EUCL: IN=7.592e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.330e+00 ALL=8.902e-04 +EUCL: BD=1.055e-03, NB=7.624e-04, RS=6.740e-01, SC=2.703e+00, AC=1.179e+00 +CYCLE: 17 (66%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.997e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.297e+00 ALL=1.137e-03 +EUCL: BD=4.033e-04, NB=1.062e-03, RS=6.027e-01, SC=2.455e+00, AC=1.249e+00 +CYCLE: 18 (66%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.567e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.346e+00 ALL=9.030e-04 +EUCL: BD=3.223e-04, NB=9.870e-04, RS=5.808e-01, SC=2.760e+00, AC=1.087e+00 +CYCLE: 19 (67%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.423e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.227e+00 ALL=7.657e-04 +EUCL: BD=1.566e-04, NB=8.757e-04, RS=6.095e-01, SC=1.759e+00, AC=1.032e+00 +CYCLE: 20 (68%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.348e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.210e+00 ALL=7.132e-04 +EUCL: BD=3.736e-05, NB=9.867e-04, RS=6.695e-01, SC=1.824e+00, AC=9.923e-01 +CYCLE: 21 (69%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.016e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.212e+00 ALL=7.896e-04 +EUCL: BD=3.910e-05, NB=7.767e-04, RS=7.468e-01, SC=1.630e+00, AC=1.009e+00 +CYCLE: 22 (70%, 39 secs) +HAND: (secstr) Good:Bad=3:1 (24:16) +DIST: BD=2.637e-02, NB=5.230e-04, RS=5.902e-01, SC=2.673e+00, AC=1.276e+00 +PROJ: Dim=3, Df=9.992e-01, STR=1.379e-03 +TNGL: 0 (cyc=0) +EUCL: IN=6.914e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.322e+00 ALL=8.771e-04 +EUCL: BD=6.245e-04, NB=6.954e-04, RS=6.269e-01, SC=2.556e+00, AC=1.265e+00 +EXIT: no further improvement on 3D reprojection +TIME: 40 secs +END: BD=3.114e-04, NB=7.791e-04, RS=5.761e-01, SC=3.989e+00, AC=1.215e+00, Itno:22=9+13 +SAVE: models/example_12.pdb +VIOLS: models/example_12.viol + +Run 12 finished: Wed 17-Jun-1998 14:37:14 + +RUN 13 STARTED: Wed 17-Jun-1998 14:37:14 +# Randseed=898087034 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-6.759e+00 +? centre_dist(): Cdist2[17]=-2.261e+00 +DIST: BD=6.714e-01, NB=1.812e-06, RS=6.039e-01, SC=9.458e+00, AC=2.923e+00 +PROJ: Dim=30, Df=8.051e-01, STR=6.759e-02 +TNGL: 0 (cyc=2) +EUCL: IN=5.510e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=3.112e-05 +EUCL: BD=5.313e-06, NB=0.000e+00, RS=2.775e-02, SC=5.786e-01, AC=2.691e+00 +CYCLE: 2 (39%, 6 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.570e-03, NB=0.000e+00, RS=2.943e-01, SC=6.620e-01, AC=2.579e+00 +PROJ: Dim=29, Df=9.616e-01, STR=1.209e-04 +TNGL: 0 (cyc=1) +EUCL: IN=5.868e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=2.876e-05 +EUCL: BD=3.626e-06, NB=0.000e+00, RS=2.336e-01, SC=4.869e-01, AC=2.481e+00 +CYCLE: 3 (40%, 13 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.793e-03, NB=0.000e+00, RS=3.886e-01, SC=1.039e+00, AC=2.626e+00 +PROJ: Dim=19, Df=9.604e-01, STR=4.495e-04 +TNGL: 0 (cyc=3) +EUCL: IN=2.882e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=2.639e-05 +EUCL: BD=3.440e-05, NB=0.000e+00, RS=1.456e-01, SC=4.382e-01, AC=2.378e+00 +CYCLE: 4 (48%, 18 secs) +DIST: BD=1.109e-02, NB=0.000e+00, RS=3.322e-01, SC=6.074e-01, AC=2.558e+00 +PROJ: Dim=12, Df=1.001e+00, STR=2.701e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.904e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=5.373e-05 +EUCL: BD=4.370e-05, NB=6.352e-06, RS=1.800e-01, SC=7.254e-01, AC=2.485e+00 +CYCLE: 5 (53%, 21 secs) +DIST: BD=3.797e-02, NB=0.000e+00, RS=4.275e-01, SC=1.568e+00, AC=2.556e+00 +PROJ: Dim=11, Df=1.001e+00, STR=9.460e-04 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.454e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=5.211e-05 +EUCL: BD=8.314e-05, NB=0.000e+00, RS=2.756e-01, SC=9.115e-01, AC=2.459e+00 +CYCLE: 6 (54%, 24 secs) +DIST: BD=2.846e-02, NB=0.000e+00, RS=4.641e-01, SC=1.352e+00, AC=2.537e+00 +PROJ: Dim=10, Df=1.001e+00, STR=7.679e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.786e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=5.769e-05 +EUCL: BD=2.960e-05, NB=1.062e-06, RS=5.306e-01, SC=9.457e-01, AC=2.424e+00 +CYCLE: 7 (55%, 26 secs) + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +DIST: BD=2.545e-01, NB=3.475e-04, RS=4.172e-01, SC=1.335e+00, AC=1.719e+00 +PROJ: Dim=6, Df=1.010e+00, STR=9.538e-05 +TNGL: 0 (cyc=0) +EUCL: IN=3.500e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.146e-04 +EUCL: BD=2.097e-05, NB=9.858e-06, RS=5.574e-01, SC=5.825e-01, AC=1.891e+00 +CYCLE: 8 (58%, 28 secs) + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +DIST: BD=1.100e-01, NB=1.989e-04, RS=5.165e-01, SC=1.254e+00, AC=1.531e+00 +PROJ: Dim=5, Df=1.006e+00, STR=1.771e-04 +TNGL: 0 (cyc=2) +EUCL: IN=2.315e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.618e-05 +EUCL: BD=5.539e-05, NB=7.904e-05, RS=1.402e-01, SC=3.714e-01, AC=1.826e+00 +CYCLE: 9 (59%, 29 secs) +HAND: (secstr) Good:Bad=0:4 (5:35) +DIST: BD=1.411e-01, NB=5.204e-04, RS=6.251e-01, SC=4.302e+00, AC=9.115e-01 +PROJ: Dim=3, Df=1.030e+00, STR=6.976e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=8.784e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.110e+00 ALL=1.948e-03 +EUCL: BD=3.858e-04, NB=2.661e-04, RS=1.020e+00, SC=3.877e+00, AC=1.185e+00 +CYCLE: 10 (61%, 31 secs) +TNGL: 0 (cyc=1) +EUCL: IN=9.287e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.176e+00 ALL=8.315e-04 +** BEST: BD=1.468e-04, NB=1.633e-04, RS=1.046e+00, SC=3.074e+00, AC=1.124e+00 +CYCLE: 11 (61%, 31 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.902e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.117e+00 ALL=6.160e-04 +EUCL: BD=7.732e-04, NB=2.342e-04, RS=9.557e-01, SC=2.692e+00, AC=1.245e+00 +CYCLE: 12 (62%, 32 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.797e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.006e+00 ALL=6.009e-04 +EUCL: BD=1.934e-04, NB=1.319e-04, RS=9.767e-01, SC=2.689e+00, AC=1.223e+00 +CYCLE: 13 (62%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.032e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.013e+00 ALL=5.987e-04 +** BEST: BD=1.443e-04, NB=1.440e-04, RS=8.899e-01, SC=2.755e+00, AC=1.237e+00 +CYCLE: 14 (62%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.089e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.020e+00 ALL=4.829e-04 +** BEST: BD=1.387e-04, NB=1.432e-04, RS=8.859e-01, SC=2.812e+00, AC=1.177e+00 +CYCLE: 15 (62%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.015e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.055e+00 ALL=5.880e-04 +EUCL: BD=1.604e-04, NB=1.531e-04, RS=8.101e-01, SC=2.988e+00, AC=1.173e+00 +CYCLE: 16 (63%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.113e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.054e+00 ALL=6.774e-04 +EUCL: BD=1.938e-05, NB=2.260e-04, RS=7.934e-01, SC=3.227e+00, AC=1.210e+00 +CYCLE: 17 (64%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.706e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.028e+00 ALL=5.341e-04 +EUCL: BD=1.598e-04, NB=1.390e-04, RS=8.729e-01, SC=2.936e+00, AC=1.150e+00 +CYCLE: 18 (65%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.077e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.023e+00 ALL=5.530e-04 +EUCL: BD=1.768e-04, NB=1.264e-04, RS=8.475e-01, SC=2.654e+00, AC=1.163e+00 +CYCLE: 19 (66%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.539e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.032e+00 ALL=5.310e-04 +EUCL: BD=6.937e-05, NB=1.475e-04, RS=8.675e-01, SC=2.882e+00, AC=1.121e+00 +CYCLE: 20 (66%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.048e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.005e+00 ALL=5.096e-04 +** BEST: BD=1.155e-04, NB=1.401e-04, RS=8.737e-01, SC=2.944e+00, AC=1.232e+00 +CYCLE: 21 (66%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.302e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.923e-01 ALL=5.125e-04 +EUCL: BD=1.157e-04, NB=2.900e-04, RS=8.807e-01, SC=2.863e+00, AC=1.318e+00 +CYCLE: 22 (67%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.721e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.919e-01 ALL=5.654e-04 +EUCL: BD=2.921e-04, NB=7.080e-05, RS=8.520e-01, SC=2.878e+00, AC=1.326e+00 +CYCLE: 23 (68%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.543e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.000e+00 ALL=5.901e-04 +EUCL: BD=3.442e-04, NB=6.977e-05, RS=8.476e-01, SC=2.920e+00, AC=1.137e+00 +CYCLE: 24 (69%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.157e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.017e+00 ALL=5.373e-04 +EUCL: BD=2.045e-04, NB=7.202e-05, RS=8.615e-01, SC=2.933e+00, AC=1.127e+00 +CYCLE: 25 (70%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.390e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.016e+00 ALL=5.079e-04 +EUCL: BD=6.229e-05, NB=1.499e-04, RS=7.977e-01, SC=2.954e+00, AC=1.227e+00 +CYCLE: 26 (70%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.584e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.041e+00 ALL=5.935e-04 +EUCL: BD=1.165e-04, NB=1.076e-04, RS=7.886e-01, SC=2.968e+00, AC=1.194e+00 +CYCLE: 27 (71%, 44 secs) +HAND: (secstr) Good:Bad=0:4 (4:36) +DIST: BD=1.832e-02, NB=1.018e-04, RS=8.154e-01, SC=1.747e+00, AC=1.206e+00 +PROJ: Dim=3, Df=9.981e-01, STR=7.247e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=8.768e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.008e+00 ALL=5.245e-04 +EUCL: BD=2.503e-04, NB=2.647e-04, RS=8.992e-01, SC=2.897e+00, AC=1.262e+00 +CYCLE: 28 (72%, 45 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.070e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.003e+00 ALL=6.388e-04 +EUCL: BD=3.836e-04, NB=3.025e-04, RS=8.357e-01, SC=3.136e+00, AC=1.155e+00 +CYCLE: 29 (73%, 45 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.421e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.034e+00 ALL=5.132e-04 +** BEST: BD=9.635e-05, NB=1.166e-04, RS=8.325e-01, SC=3.008e+00, AC=1.159e+00 +CYCLE: 30 (73%, 46 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.045e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.018e+00 ALL=5.301e-04 +EUCL: BD=1.144e-04, NB=1.331e-04, RS=7.947e-01, SC=3.001e+00, AC=1.317e+00 +CYCLE: 31 (74%, 47 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.353e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.042e+00 ALL=4.644e-04 +** BEST: BD=4.356e-05, NB=1.138e-04, RS=7.810e-01, SC=2.834e+00, AC=1.222e+00 +CYCLE: 32 (74%, 48 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.065e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.066e+00 ALL=4.815e-04 +EUCL: BD=5.084e-05, NB=3.982e-05, RS=7.694e-01, SC=2.926e+00, AC=1.288e+00 +CYCLE: 33 (74%, 49 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.792e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.062e+00 ALL=5.021e-04 +EUCL: BD=4.288e-05, NB=1.260e-04, RS=7.557e-01, SC=2.951e+00, AC=1.351e+00 +CYCLE: 34 (75%, 49 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.660e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.047e+00 ALL=4.605e-04 +EUCL: BD=4.562e-05, NB=1.109e-04, RS=7.592e-01, SC=2.795e+00, AC=1.137e+00 +CYCLE: 35 (76%, 50 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.672e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.034e+00 ALL=4.407e-04 +EUCL: BD=7.155e-05, NB=3.028e-04, RS=7.175e-01, SC=2.811e+00, AC=1.231e+00 +CYCLE: 36 (77%, 51 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.284e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.030e+00 ALL=4.026e-04 +EUCL: BD=4.076e-05, NB=4.257e-04, RS=7.016e-01, SC=2.790e+00, AC=1.327e+00 +CYCLE: 37 (77%, 52 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.543e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.045e+00 ALL=4.292e-04 +EUCL: BD=1.027e-04, NB=4.253e-04, RS=6.665e-01, SC=2.705e+00, AC=1.056e+00 +CYCLE: 38 (78%, 53 secs) +HAND: (secstr) Good:Bad=0:4 (4:36) +DIST: BD=1.518e-02, NB=7.611e-05, RS=7.219e-01, SC=1.777e+00, AC=1.192e+00 +PROJ: Dim=3, Df=9.983e-01, STR=5.124e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=8.580e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.069e+00 ALL=6.356e-04 +EUCL: BD=7.742e-05, NB=1.489e-04, RS=7.811e-01, SC=2.790e+00, AC=1.051e+00 +CYCLE: 39 (79%, 54 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.072e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.078e+00 ALL=4.745e-04 +EUCL: BD=3.028e-05, NB=1.450e-04, RS=7.314e-01, SC=2.738e+00, AC=1.224e+00 +CYCLE: 40 (80%, 55 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.088e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.032e+00 ALL=4.335e-04 +EUCL: BD=6.883e-05, NB=1.795e-04, RS=7.721e-01, SC=2.762e+00, AC=1.014e+00 +CYCLE: 41 (81%, 55 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.001e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.041e+00 ALL=4.499e-04 +EUCL: BD=3.782e-05, NB=3.550e-04, RS=7.635e-01, SC=2.696e+00, AC=9.603e-01 +CYCLE: 42 (81%, 56 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.082e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.078e+00 ALL=5.264e-04 +EUCL: BD=1.068e-04, NB=3.808e-04, RS=7.615e-01, SC=2.855e+00, AC=1.154e+00 +CYCLE: 43 (82%, 57 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.229e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.041e+00 ALL=5.136e-04 +EUCL: BD=8.848e-05, NB=3.718e-04, RS=7.406e-01, SC=2.829e+00, AC=1.179e+00 +CYCLE: 44 (83%, 58 secs) +HAND: (secstr) Good:Bad=0:4 (4:36) +DIST: BD=1.549e-02, NB=1.713e-04, RS=7.332e-01, SC=1.770e+00, AC=1.273e+00 +PROJ: Dim=3, Df=9.984e-01, STR=4.978e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=9.419e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.043e+00 ALL=4.794e-04 +EUCL: BD=2.950e-05, NB=1.505e-04, RS=7.752e-01, SC=2.865e+00, AC=1.196e+00 +EXIT: no further improvement on 3D reprojection +TIME: 59 secs +END: BD=4.356e-05, NB=1.138e-04, RS=7.810e-01, SC=2.834e+00, AC=1.222e+00, Itno:44=14+30 +SAVE: models/example_13.pdb +VIOLS: models/example_13.viol + +Run 13 finished: Wed 17-Jun-1998 14:38:14 + +RUN 14 STARTED: Wed 17-Jun-1998 14:38:14 +# Randseed=898087094 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-3.272e+00 +? centre_dist(): Cdist2[69]=-5.014e-01 +? centre_dist(): Cdist2[69]=-7.338e-01 +? centre_dist(): Cdist2[18]=-2.120e+01 +DIST: BD=7.733e-01, NB=0.000e+00, RS=8.385e-01, SC=8.617e+00, AC=2.962e+00 +PROJ: Dim=29, Df=8.019e-01, STR=6.675e-02 +TNGL: 0 (cyc=1) +EUCL: IN=6.788e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=2.946e-05 +EUCL: BD=7.429e-06, NB=0.000e+00, RS=2.846e-01, SC=5.422e-01, AC=2.605e+00 +CYCLE: 2 (40%, 6 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=6.343e-03, NB=0.000e+00, RS=3.754e-01, SC=1.317e+00, AC=2.713e+00 +PROJ: Dim=25, Df=9.737e-01, STR=2.551e-04 +TNGL: 0 (cyc=4) +EUCL: IN=4.562e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=7.548e-05 +EUCL: BD=3.365e-05, NB=1.904e-06, RS=2.669e-01, SC=8.717e-01, AC=2.605e+00 +CYCLE: 3 (43%, 13 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=6.628e-03, NB=0.000e+00, RS=2.497e-01, SC=1.597e+00, AC=2.768e+00 +PROJ: Dim=16, Df=9.910e-01, STR=7.012e-04 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.396e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=9.940e-05 +EUCL: BD=2.288e-05, NB=7.414e-06, RS=1.377e-01, SC=1.471e+00, AC=2.631e+00 +CYCLE: 4 (50%, 17 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.828e-02, NB=0.000e+00, RS=4.691e-01, SC=2.625e+00, AC=2.863e+00 +PROJ: Dim=15, Df=9.971e-01, STR=1.239e-03 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=1.316e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.106e-05 +EUCL: BD=1.456e-05, NB=0.000e+00, RS=2.670e-01, SC=9.391e-01, AC=2.583e+00 +CYCLE: 5 (51%, 20 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.164e-02, NB=0.000e+00, RS=3.477e-01, SC=1.671e+00, AC=2.746e+00 +PROJ: Dim=14, Df=9.798e-01, STR=9.965e-04 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=5.873e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=7.287e-05 +EUCL: BD=1.244e-05, NB=4.938e-06, RS=1.791e-01, SC=8.605e-01, AC=2.386e+00 +CYCLE: 6 (51%, 24 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.781e-03, NB=0.000e+00, RS=3.085e-01, SC=8.959e-01, AC=2.403e+00 +PROJ: Dim=9, Df=9.770e-01, STR=3.363e-04 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.780e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=8.570e-05 +EUCL: BD=1.629e-05, NB=1.017e-05, RS=3.766e-01, SC=1.142e+00, AC=2.476e+00 +CYCLE: 7 (55%, 26 secs) +DIST: BD=2.501e-02, NB=0.000e+00, RS=5.423e-01, SC=1.553e+00, AC=2.268e+00 +PROJ: Dim=6, Df=1.006e+00, STR=1.067e-03 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.623e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=6.889e-05 +EUCL: BD=6.723e-05, NB=1.099e-05, RS=4.365e-01, SC=8.303e-01, AC=2.135e+00 +CYCLE: 8 (58%, 28 secs) +DIST: BD=2.926e-02, NB=0.000e+00, RS=6.102e-01, SC=2.015e+00, AC=1.821e+00 +PROJ: Dim=5, Df=1.004e+00, STR=1.654e-03 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.562e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=7.088e-05 +EUCL: BD=4.551e-05, NB=1.510e-05, RS=5.560e-01, SC=7.713e-01, AC=1.710e+00 +CYCLE: 9 (59%, 30 secs) + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +DIST: BD=2.390e-01, NB=0.000e+00, RS=5.441e-01, SC=1.836e+00, AC=1.254e+00 +PROJ: Dim=4, Df=1.007e+00, STR=1.137e-03 +TNGL: 0 (cyc=1) +EUCL: IN=3.579e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=7.708e-05 +EUCL: BD=3.258e-05, NB=0.000e+00, RS=5.272e-01, SC=4.464e-01, AC=1.445e+00 +CYCLE: 10 (59%, 31 secs) + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +HAND: (secstr) Good:Bad=2:2 (15:25) +DIST: BD=4.683e-01, NB=3.964e-04, RS=3.594e-01, SC=4.106e+00, AC=8.654e-01 +PROJ: Dim=3, Df=1.014e+00, STR=1.466e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=5.266e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.847e+00 ALL=1.843e-03 +** BEST: BD=4.010e-04, NB=1.729e-04, RS=8.889e-01, SC=3.153e+00, AC=8.500e-01 +CYCLE: 11 (60%, 32 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.911e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.716e+00 ALL=1.179e-03 +EUCL: BD=6.558e-04, NB=1.159e-04, RS=9.813e-01, SC=3.303e+00, AC=7.449e-01 +CYCLE: 12 (61%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.667e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.654e+00 ALL=1.288e-03 +EUCL: BD=6.511e-04, NB=9.158e-05, RS=1.012e+00, SC=3.116e+00, AC=8.308e-01 +CYCLE: 13 (62%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.709e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.616e+00 ALL=1.022e-03 +** BEST: BD=3.241e-04, NB=1.047e-04, RS=8.887e-01, SC=3.025e+00, AC=8.936e-01 +CYCLE: 14 (62%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.654e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.628e+00 ALL=9.206e-04 +** BEST: BD=2.985e-04, NB=9.223e-05, RS=7.607e-01, SC=2.824e+00, AC=7.577e-01 +CYCLE: 15 (62%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.787e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.597e+00 ALL=8.632e-04 +EUCL: BD=3.663e-04, NB=7.147e-05, RS=7.213e-01, SC=2.757e+00, AC=8.692e-01 +CYCLE: 16 (62%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.934e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.645e+00 ALL=7.467e-04 +EUCL: BD=1.397e-04, NB=1.661e-04, RS=7.121e-01, SC=2.733e+00, AC=7.231e-01 +CYCLE: 17 (63%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.373e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.585e+00 ALL=7.658e-04 +EUCL: BD=5.681e-05, NB=1.744e-04, RS=6.940e-01, SC=2.298e+00, AC=1.019e+00 +CYCLE: 18 (64%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.470e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.597e+00 ALL=6.357e-04 +EUCL: BD=5.140e-05, NB=1.673e-04, RS=6.960e-01, SC=2.236e+00, AC=8.615e-01 +CYCLE: 19 (65%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.601e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.617e+00 ALL=7.530e-04 +EUCL: BD=1.049e-04, NB=1.745e-04, RS=6.888e-01, SC=2.409e+00, AC=8.705e-01 +CYCLE: 20 (66%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.952e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.603e+00 ALL=7.833e-04 +EUCL: BD=1.892e-04, NB=2.079e-04, RS=7.014e-01, SC=2.381e+00, AC=7.821e-01 +CYCLE: 21 (66%, 40 secs) +HAND: (secstr) Good:Bad=2:2 (24:16) +DIST: BD=1.913e-02, NB=2.404e-05, RS=6.976e-01, SC=1.978e+00, AC=8.474e-01 +PROJ: Dim=3, Df=9.998e-01, STR=7.659e-04 +TNGL: 0 (cyc=0) +EUCL: IN=5.826e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.608e+00 ALL=9.940e-04 +EUCL: BD=1.697e-04, NB=2.224e-04, RS=6.666e-01, SC=2.800e+00, AC=7.872e-01 +CYCLE: 22 (67%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.670e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.598e+00 ALL=8.028e-04 +EUCL: BD=6.698e-04, NB=8.334e-05, RS=6.804e-01, SC=2.358e+00, AC=9.090e-01 +CYCLE: 23 (68%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.204e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.654e+00 ALL=1.030e-03 +EUCL: BD=3.798e-04, NB=1.867e-04, RS=7.300e-01, SC=2.408e+00, AC=9.718e-01 +CYCLE: 24 (69%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.966e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.537e+00 ALL=7.668e-04 +EUCL: BD=3.396e-04, NB=2.045e-04, RS=7.243e-01, SC=2.098e+00, AC=9.513e-01 +CYCLE: 25 (70%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=5.995e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.600e+00 ALL=9.071e-04 +EUCL: BD=1.224e-03, NB=2.449e-04, RS=6.869e-01, SC=2.103e+00, AC=8.167e-01 +CYCLE: 26 (70%, 44 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.232e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.548e+00 ALL=1.091e-03 +EUCL: BD=5.776e-04, NB=1.052e-04, RS=6.965e-01, SC=2.230e+00, AC=8.731e-01 +CYCLE: 27 (71%, 45 secs) +HAND: (secstr) Good:Bad=2:2 (24:16) +DIST: BD=2.104e-02, NB=2.819e-05, RS=7.025e-01, SC=2.058e+00, AC=9.897e-01 +PROJ: Dim=3, Df=9.996e-01, STR=8.224e-04 +TNGL: 0 (cyc=0) +EUCL: IN=5.677e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.598e+00 ALL=7.800e-04 +EUCL: BD=2.489e-04, NB=1.466e-04, RS=6.598e-01, SC=2.767e+00, AC=7.949e-01 +EXIT: no further improvement on 3D reprojection +TIME: 45 secs +END: BD=2.985e-04, NB=9.223e-05, RS=7.607e-01, SC=2.824e+00, AC=7.577e-01, Itno:27=12+15 +SAVE: models/example_14.pdb +VIOLS: models/example_14.viol + +Run 14 finished: Wed 17-Jun-1998 14:39:00 + +RUN 15 STARTED: Wed 17-Jun-1998 14:39:00 +# Randseed=898087140 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-2.153e+01 +DIST: BD=1.268e+00, NB=3.007e-05, RS=7.326e-01, SC=1.032e+01, AC=2.888e+00 +PROJ: Dim=32, Df=8.488e-01, STR=6.843e-02 +TNGL: 0 (cyc=1) +EUCL: IN=6.924e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=4.181e-05 +EUCL: BD=2.416e-05, NB=0.000e+00, RS=3.893e-02, SC=6.814e-01, AC=2.644e+00 +CYCLE: 2 (37%, 7 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.007e-03, NB=0.000e+00, RS=5.480e-02, SC=8.654e-01, AC=2.597e+00 +PROJ: Dim=26, Df=9.663e-01, STR=2.194e-04 +TNGL: 0 (cyc=2) +EUCL: IN=4.481e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=3.325e-05 +EUCL: BD=1.037e-05, NB=0.000e+00, RS=6.541e-02, SC=5.786e-01, AC=2.592e+00 +CYCLE: 3 (42%, 13 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +DIST: BD=1.421e+02, NB=1.641e-04, RS=1.126e+00, SC=1.157e+01, AC=2.472e+00 +PROJ: Dim=17, Df=9.907e-01, STR=4.969e-03 +TNGL: 0 (cyc=4) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=1.017e-04 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=8.500e-05 +EUCL: BD=1.486e-04, NB=0.000e+00, RS=9.706e-02, SC=1.296e+00, AC=2.442e+00 +CYCLE: 4 (49%, 18 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=8.932e-02, NB=0.000e+00, RS=5.879e-01, SC=3.714e+00, AC=2.751e+00 +PROJ: Dim=16, Df=9.980e-01, STR=3.140e-03 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=7.866e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 6 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 6 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.949e-05 +EUCL: BD=2.452e-05, NB=0.000e+00, RS=3.859e-01, SC=7.901e-01, AC=2.579e+00 +CYCLE: 5 (50%, 22 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +DIST: BD=2.749e+02, NB=5.422e-03, RS=1.304e+00, SC=2.991e+01, AC=1.650e+00 +PROJ: Dim=10, Df=9.449e-01, STR=4.522e-03 +TNGL: 0 (cyc=5) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=6.306e-04 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=2.422e-04 +EUCL: BD=8.837e-05, NB=3.947e-05, RS=1.753e-01, SC=2.788e+00, AC=2.515e+00 +CYCLE: 6 (55%, 24 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.146e-02, NB=4.693e-06, RS=3.196e-01, SC=2.913e+00, AC=2.550e+00 +PROJ: Dim=9, Df=9.974e-01, STR=1.433e-03 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=6.658e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=2.808e-05 +EUCL: BD=5.384e-05, NB=0.000e+00, RS=1.234e-01, SC=5.501e-01, AC=2.271e+00 +CYCLE: 7 (55%, 26 secs) +DIST: BD=7.342e-03, NB=0.000e+00, RS=1.712e-01, SC=7.699e-01, AC=1.994e+00 +PROJ: Dim=6, Df=1.004e+00, STR=4.414e-04 +TNGL: 0 (cyc=4) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=4.564e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.178e-04 +EUCL: BD=1.337e-05, NB=0.000e+00, RS=4.642e-01, SC=1.003e+00, AC=2.168e+00 +CYCLE: 8 (58%, 28 secs) +DIST: BD=5.609e-02, NB=3.366e-04, RS=8.853e-01, SC=3.854e+00, AC=1.463e+00 +PROJ: Dim=4, Df=1.013e+00, STR=4.628e-03 +TNGL: 0 (cyc=4) +EUCL: IN=2.871e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=2.555e-04 +EUCL: BD=6.533e-05, NB=8.501e-05, RS=9.764e-01, SC=1.406e+00, AC=1.540e+00 +CYCLE: 9 (59%, 30 secs) +HAND: (secstr) Good:Bad=3:1 (24:16) +DIST: BD=1.490e-01, NB=4.112e-04, RS=1.251e+00, SC=4.477e+00, AC=8.590e-01 +PROJ: Dim=3, Df=1.012e+00, STR=5.870e-03 +TNGL: 0 (cyc=0) +EUCL: IN=3.312e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.524e+00 ALL=1.220e-03 +** BEST: BD=1.107e-03, NB=7.596e-05, RS=1.322e+00, SC=2.583e+00, AC=9.077e-01 +CYCLE: 10 (60%, 31 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.650e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.531e+00 ALL=7.739e-04 +** BEST: BD=6.638e-04, NB=5.652e-05, RS=1.240e+00, SC=2.354e+00, AC=8.872e-01 +CYCLE: 11 (60%, 32 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.080e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.572e+00 ALL=7.932e-04 +EUCL: BD=2.014e-04, NB=7.080e-05, RS=1.172e+00, SC=3.318e+00, AC=9.821e-01 +CYCLE: 12 (61%, 32 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.890e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.480e+00 ALL=5.906e-04 +EUCL: BD=7.256e-04, NB=4.311e-05, RS=8.990e-01, SC=2.761e+00, AC=8.654e-01 +CYCLE: 13 (62%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=4.705e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.379e+00 ALL=7.685e-04 +EUCL: BD=4.305e-04, NB=5.520e-05, RS=8.046e-01, SC=2.947e+00, AC=8.269e-01 +CYCLE: 14 (62%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.564e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.302e+00 ALL=6.378e-04 +EUCL: BD=9.232e-04, NB=4.678e-05, RS=9.386e-01, SC=2.362e+00, AC=9.641e-01 +CYCLE: 15 (63%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.192e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.271e+00 ALL=5.913e-04 +EUCL: BD=1.277e-03, NB=2.560e-05, RS=8.670e-01, SC=1.952e+00, AC=9.449e-01 +CYCLE: 16 (64%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.323e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.197e+00 ALL=5.121e-04 +EUCL: BD=9.059e-04, NB=9.580e-05, RS=8.488e-01, SC=1.479e+00, AC=7.782e-01 +CYCLE: 17 (65%, 37 secs) +HAND: (secstr) Good:Bad=1:3 (16:24) +DIST: BD=2.921e-02, NB=9.575e-06, RS=9.878e-01, SC=1.695e+00, AC=9.859e-01 +PROJ: Dim=3, Df=9.987e-01, STR=1.080e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=4.186e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.494e+00 ALL=1.554e-03 +EUCL: BD=4.751e-03, NB=7.279e-05, RS=9.893e-01, SC=2.765e+00, AC=9.115e-01 +CYCLE: 18 (66%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.168e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.402e+00 ALL=6.819e-04 +EUCL: BD=8.425e-04, NB=8.619e-05, RS=1.001e+00, SC=2.953e+00, AC=1.182e+00 +CYCLE: 19 (66%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=2.716e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.366e+00 ALL=6.291e-04 +EUCL: BD=7.054e-04, NB=6.077e-05, RS=8.483e-01, SC=2.817e+00, AC=1.122e+00 +CYCLE: 20 (67%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.005e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.329e+00 ALL=5.488e-04 +EUCL: BD=3.408e-04, NB=9.274e-05, RS=8.535e-01, SC=2.419e+00, AC=9.026e-01 +CYCLE: 21 (68%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=2.609e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.259e+00 ALL=5.274e-04 +EUCL: BD=2.310e-04, NB=1.220e-04, RS=8.183e-01, SC=2.637e+00, AC=7.821e-01 +CYCLE: 22 (69%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.389e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.209e+00 ALL=5.611e-04 +EUCL: BD=2.884e-04, NB=7.737e-05, RS=7.773e-01, SC=2.199e+00, AC=8.410e-01 +CYCLE: 23 (70%, 42 secs) +HAND: (secstr) Good:Bad=1:3 (16:24) +DIST: BD=2.424e-02, NB=2.465e-05, RS=9.887e-01, SC=1.694e+00, AC=9.846e-01 +PROJ: Dim=3, Df=9.989e-01, STR=9.346e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=5.951e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.518e+00 ALL=6.203e-04 +EUCL: BD=3.653e-04, NB=2.460e-05, RS=1.024e+00, SC=3.527e+00, AC=1.045e+00 +EXIT: no further improvement on 3D reprojection +TIME: 43 secs +END: BD=6.638e-04, NB=5.652e-05, RS=1.240e+00, SC=2.354e+00, AC=8.872e-01, Itno:23=10+13 +SAVE: models/example_15.pdb +VIOLS: models/example_15.viol + +Run 15 finished: Wed 17-Jun-1998 14:39:44 + +RUN 16 STARTED: Wed 17-Jun-1998 14:39:44 +# Randseed=898087184 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-3.154e-01 +? centre_dist(): Cdist2[17]=-7.110e-01 +DIST: BD=1.387e+00, NB=5.331e-06, RS=7.401e-01, SC=9.075e+00, AC=2.879e+00 +PROJ: Dim=29, Df=7.988e-01, STR=7.054e-02 +TNGL: 0 (cyc=3) +EUCL: IN=1.666e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + ALL=5.743e-05 +EUCL: BD=2.364e-05, NB=6.902e-06, RS=2.518e-01, SC=1.046e+00, AC=2.649e+00 +CYCLE: 2 (40%, 7 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.266e-02, NB=0.000e+00, RS=5.739e-01, SC=2.390e+00, AC=2.845e+00 +PROJ: Dim=28, Df=9.916e-01, STR=1.424e-03 +TNGL: 0 (cyc=2) +EUCL: IN=9.310e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=3.281e-05 +EUCL: BD=2.119e-05, NB=0.000e+00, RS=2.111e-01, SC=6.772e-01, AC=2.592e+00 +CYCLE: 3 (40%, 14 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.022e-02, NB=0.000e+00, RS=7.158e-01, SC=2.210e+00, AC=2.794e+00 +PROJ: Dim=18, Df=9.994e-01, STR=1.077e-03 +TNGL: 0 (cyc=5) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=4.965e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=5.223e-05 +EUCL: BD=2.987e-05, NB=0.000e+00, RS=4.566e-01, SC=1.085e+00, AC=2.683e+00 +CYCLE: 4 (48%, 18 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.511e-02, NB=2.208e-05, RS=7.658e-01, SC=2.358e+00, AC=2.678e+00 +PROJ: Dim=17, Df=9.926e-01, STR=1.356e-03 +TNGL: 0 (cyc=3) +EUCL: IN=8.220e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.481e-05 +EUCL: BD=2.469e-05, NB=0.000e+00, RS=5.786e-01, SC=7.268e-01, AC=2.588e+00 +CYCLE: 5 (49%, 22 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=5.606e-02, NB=1.189e-05, RS=9.281e-01, SC=2.635e+00, AC=2.806e+00 +PROJ: Dim=16, Df=9.985e-01, STR=2.033e-03 +TNGL: 0 (cyc=3) +EUCL: IN=7.546e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=5.468e-05 +EUCL: BD=3.123e-05, NB=2.117e-05, RS=3.868e-01, SC=9.897e-01, AC=2.597e+00 +CYCLE: 6 (50%, 26 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.970e-01, NB=0.000e+00, RS=8.169e-01, SC=4.564e+00, AC=2.656e+00 +PROJ: Dim=15, Df=9.982e-01, STR=3.143e-03 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=4.265e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.554e-05 +EUCL: BD=9.645e-05, NB=0.000e+00, RS=5.061e-01, SC=4.498e-01, AC=2.501e+00 +CYCLE: 7 (51%, 29 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.665e-02, NB=0.000e+00, RS=8.389e-01, SC=1.382e+00, AC=2.733e+00 +PROJ: Dim=14, Df=9.987e-01, STR=7.529e-04 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=5.896e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=2.418e-05 +EUCL: BD=1.176e-04, NB=0.000e+00, RS=5.961e-01, SC=5.940e-01, AC=2.464e+00 +CYCLE: 8 (51%, 32 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.718e-02, NB=5.639e-06, RS=7.858e-01, SC=1.222e+00, AC=2.386e+00 +PROJ: Dim=9, Df=9.997e-01, STR=5.409e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.951e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=5.245e-05 +EUCL: BD=4.302e-05, NB=7.758e-06, RS=3.628e-01, SC=6.957e-01, AC=2.322e+00 +CYCLE: 9 (55%, 35 secs) +DIST: BD=1.205e-02, NB=5.830e-07, RS=4.807e-01, SC=6.077e-01, AC=2.047e+00 +PROJ: Dim=6, Df=1.003e+00, STR=2.210e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=1.859e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.132e-05 +EUCL: BD=8.458e-05, NB=0.000e+00, RS=3.819e-01, SC=3.575e-01, AC=1.983e+00 +CYCLE: 10 (58%, 36 secs) +DIST: BD=3.236e-02, NB=8.265e-05, RS=3.253e-01, SC=1.020e+00, AC=1.056e+00 +PROJ: Dim=4, Df=1.008e+00, STR=1.387e-03 +TNGL: 0 (cyc=2) +EUCL: IN=1.116e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=8.021e-05 +EUCL: BD=1.527e-04, NB=5.219e-05, RS=6.013e-01, SC=4.516e-01, AC=1.231e+00 +CYCLE: 11 (59%, 37 secs) + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +HAND: (secstr) Good:Bad=3:1 (24:16) +DIST: BD=5.060e-01, NB=1.323e-03, RS=5.321e-01, SC=4.189e+00, AC=9.718e-01 +PROJ: Dim=3, Df=1.017e+00, STR=2.814e-03 +TNGL: 0 (cyc=0) +EUCL: IN=8.032e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.327e+00 ALL=1.278e-03 +** BEST: BD=8.611e-04, NB=8.401e-04, RS=8.945e-01, SC=2.627e+00, AC=7.910e-01 +CYCLE: 12 (60%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.356e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.254e+00 ALL=9.223e-04 +EUCL: BD=3.592e-04, NB=5.215e-04, RS=7.841e-01, SC=1.795e+00, AC=1.056e+00 +CYCLE: 13 (61%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.115e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.215e+00 ALL=5.548e-04 +EUCL: BD=1.535e-04, NB=8.720e-04, RS=6.932e-01, SC=1.663e+00, AC=9.538e-01 +CYCLE: 14 (62%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.149e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.208e+00 ALL=5.841e-04 +EUCL: BD=2.050e-04, NB=8.375e-04, RS=7.058e-01, SC=1.631e+00, AC=9.705e-01 +CYCLE: 15 (62%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.031e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.134e+00 ALL=5.601e-04 +EUCL: BD=2.540e-04, NB=1.111e-03, RS=6.642e-01, SC=1.337e+00, AC=7.949e-01 +CYCLE: 16 (63%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.617e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.104e+00 ALL=5.752e-04 +EUCL: BD=8.186e-04, NB=1.099e-03, RS=6.288e-01, SC=1.264e+00, AC=9.282e-01 +CYCLE: 17 (64%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.009e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.153e+00 ALL=5.234e-04 +EUCL: BD=1.530e-03, NB=9.859e-04, RS=4.723e-01, SC=1.306e+00, AC=9.038e-01 +CYCLE: 18 (65%, 44 secs) +HAND: (secstr) Good:Bad=1:3 (16:24) +DIST: BD=2.403e-02, NB=5.495e-04, RS=5.953e-01, SC=1.806e+00, AC=7.897e-01 +PROJ: Dim=3, Df=9.988e-01, STR=1.205e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=1.078e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.237e+00 ALL=1.004e-03 +** BEST: BD=4.369e-04, NB=8.987e-04, RS=6.095e-01, SC=2.228e+00, AC=8.667e-01 +CYCLE: 19 (65%, 45 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.971e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.079e+00 ALL=7.984e-04 +EUCL: BD=4.441e-04, NB=7.236e-04, RS=5.669e-01, SC=1.473e+00, AC=9.654e-01 +CYCLE: 20 (66%, 46 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.176e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.112e+00 ALL=5.833e-04 +** BEST: BD=1.140e-04, NB=9.819e-04, RS=5.953e-01, SC=1.601e+00, AC=9.077e-01 +CYCLE: 21 (66%, 47 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.521e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.025e+00 ALL=4.754e-04 +EUCL: BD=4.263e-04, NB=8.719e-04, RS=6.000e-01, SC=1.140e+00, AC=1.105e+00 +CYCLE: 22 (66%, 47 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.419e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.067e+00 ALL=4.285e-04 +EUCL: BD=2.491e-04, NB=8.264e-04, RS=5.181e-01, SC=1.298e+00, AC=8.769e-01 +CYCLE: 23 (67%, 48 secs) +TNGL: 0 (cyc=0) +EUCL: IN=2.279e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.019e+00 ALL=5.281e-04 +EUCL: BD=1.995e-04, NB=7.382e-04, RS=5.401e-01, SC=1.361e+00, AC=8.513e-01 +CYCLE: 24 (68%, 49 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.123e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.020e+00 ALL=4.590e-04 +EUCL: BD=1.326e-04, NB=6.856e-04, RS=5.464e-01, SC=1.099e+00, AC=7.872e-01 +CYCLE: 25 (69%, 50 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.161e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.089e+00 ALL=5.629e-04 +** BEST: BD=7.537e-05, NB=9.630e-04, RS=4.781e-01, SC=1.377e+00, AC=1.029e+00 +CYCLE: 26 (69%, 51 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.203e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.029e+00 ALL=4.959e-04 +EUCL: BD=5.279e-04, NB=7.403e-04, RS=4.681e-01, SC=1.325e+00, AC=8.846e-01 +CYCLE: 27 (70%, 52 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.625e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.006e+00 ALL=4.132e-04 +** BEST: BD=7.009e-05, NB=8.804e-04, RS=4.379e-01, SC=9.679e-01, AC=9.115e-01 +CYCLE: 28 (70%, 53 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.036e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.009e+00 ALL=3.677e-04 +EUCL: BD=8.864e-05, NB=7.562e-04, RS=4.660e-01, SC=8.311e-01, AC=8.038e-01 +CYCLE: 29 (70%, 54 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.257e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.053e+00 ALL=3.921e-04 +EUCL: BD=4.797e-04, NB=7.628e-04, RS=5.607e-01, SC=1.022e+00, AC=9.128e-01 +CYCLE: 30 (71%, 55 secs) +TNGL: 0 (cyc=0) +EUCL: IN=2.329e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.045e+00 ALL=4.582e-04 +EUCL: BD=4.170e-04, NB=2.346e-04, RS=5.236e-01, SC=1.061e+00, AC=8.372e-01 +CYCLE: 31 (72%, 56 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.328e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.067e+00 ALL=3.784e-04 +EUCL: BD=1.592e-04, NB=9.075e-04, RS=4.125e-01, SC=1.015e+00, AC=9.103e-01 +CYCLE: 32 (73%, 57 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.159e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.074e+00 ALL=4.804e-04 +EUCL: BD=1.567e-04, NB=7.727e-04, RS=5.199e-01, SC=1.259e+00, AC=8.897e-01 +CYCLE: 33 (74%, 57 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.383e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.085e+00 ALL=3.727e-04 +EUCL: BD=1.540e-04, NB=4.838e-04, RS=4.618e-01, SC=9.493e-01, AC=8.679e-01 +CYCLE: 34 (74%, 58 secs) +HAND: (secstr) Good:Bad=1:3 (16:24) +DIST: BD=9.101e-03, NB=9.178e-04, RS=3.721e-01, SC=4.913e-01, AC=8.590e-01 +PROJ: Dim=3, Df=9.989e-01, STR=3.728e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=1.179e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.936e-01 ALL=4.159e-04 +EUCL: BD=6.875e-05, NB=7.851e-04, RS=4.889e-01, SC=8.222e-01, AC=8.731e-01 +CYCLE: 35 (75%, 59 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.208e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.053e+00 ALL=4.664e-04 +EUCL: BD=2.532e-04, NB=5.599e-04, RS=6.716e-01, SC=1.250e+00, AC=8.577e-01 +CYCLE: 36 (76%, 1 min ) +TNGL: 0 (cyc=0) +EUCL: IN=9.537e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.105e+00 ALL=4.704e-04 +EUCL: BD=6.977e-05, NB=6.969e-05, RS=5.052e-01, SC=1.363e+00, AC=9.308e-01 +CYCLE: 37 (77%, 1 min 1 sec) +TNGL: 0 (cyc=0) +EUCL: IN=8.656e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.056e+00 ALL=4.228e-04 +EUCL: BD=5.583e-04, NB=6.792e-04, RS=4.447e-01, SC=1.151e+00, AC=9.538e-01 +CYCLE: 38 (77%, 1 min 2 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.012e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.059e+00 ALL=3.857e-04 +EUCL: BD=1.249e-04, NB=8.336e-04, RS=4.630e-01, SC=1.073e+00, AC=9.744e-01 +CYCLE: 39 (78%, 1 min 3 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.711e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.058e+00 ALL=4.752e-04 +EUCL: BD=7.492e-05, NB=7.432e-04, RS=3.758e-01, SC=1.544e+00, AC=1.077e+00 +CYCLE: 40 (79%, 1 min 4 secs) +HAND: (secstr) Good:Bad=1:3 (16:24) +DIST: BD=1.004e-02, NB=9.179e-04, RS=3.715e-01, SC=5.282e-01, AC=8.282e-01 +PROJ: Dim=3, Df=9.988e-01, STR=4.115e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=9.120e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.874e-01 ALL=4.275e-04 +EUCL: BD=8.909e-05, NB=7.605e-04, RS=4.211e-01, SC=9.359e-01, AC=7.641e-01 +EXIT: no further improvement on 3D reprojection +TIME: 1 min 5 secs +END: BD=7.009e-05, NB=8.804e-04, RS=4.379e-01, SC=9.679e-01, AC=9.115e-01, Itno:40=15+25 +SAVE: models/example_16.pdb +VIOLS: models/example_16.viol + +Run 16 finished: Wed 17-Jun-1998 14:40:50 + +RUN 17 STARTED: Wed 17-Jun-1998 14:40:50 +# Randseed=898087250 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-1.534e+01 +? centre_dist(): Cdist2[17]=-2.923e+00 +DIST: BD=8.450e-01, NB=0.000e+00, RS=6.766e-01, SC=8.837e+00, AC=2.974e+00 +PROJ: Dim=31, Df=8.347e-01, STR=6.568e-02 +TNGL: 0 (cyc=1) +EUCL: IN=7.581e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=2.163e-05 +EUCL: BD=1.757e-05, NB=0.000e+00, RS=3.433e-01, SC=4.893e-01, AC=2.554e+00 +CYCLE: 2 (38%, 6 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.561e-04, NB=0.000e+00, RS=4.401e-01, SC=4.649e-01, AC=2.596e+00 +PROJ: Dim=27, Df=9.930e-01, STR=4.758e-05 +TNGL: 0 (cyc=2) +EUCL: IN=5.218e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=3.480e-05 +EUCL: BD=7.136e-06, NB=0.000e+00, RS=1.017e-01, SC=6.334e-01, AC=2.467e+00 +CYCLE: 3 (41%, 13 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 5 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.277e-01, NB=0.000e+00, RS=4.268e-01, SC=3.933e+00, AC=2.559e+00 +PROJ: Dim=18, Df=9.804e-01, STR=4.945e-03 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=8.371e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 6 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.406e-05 +EUCL: BD=5.121e-05, NB=0.000e+00, RS=2.127e-01, SC=6.914e-01, AC=2.514e+00 +CYCLE: 4 (48%, 18 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.975e-02, NB=0.000e+00, RS=7.335e-01, SC=2.152e+00, AC=2.773e+00 +PROJ: Dim=17, Df=9.838e-01, STR=1.230e-03 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=9.423e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=2.551e-05 +EUCL: BD=5.799e-05, NB=0.000e+00, RS=1.895e-01, SC=6.713e-01, AC=2.664e+00 +CYCLE: 5 (49%, 23 secs) +DIST: BD=4.674e-02, NB=0.000e+00, RS=5.574e-01, SC=1.974e+00, AC=2.654e+00 +PROJ: Dim=11, Df=1.001e+00, STR=1.330e-03 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.027e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.343e-04 +EUCL: BD=3.576e-05, NB=0.000e+00, RS=7.019e-01, SC=1.298e+00, AC=2.292e+00 +CYCLE: 6 (54%, 26 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.111e-02, NB=1.751e-05, RS=7.528e-01, SC=2.777e+00, AC=2.605e+00 +PROJ: Dim=10, Df=9.948e-01, STR=1.717e-03 +TNGL: 0 (cyc=4) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=5.473e-04 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=7.312e-05 +EUCL: BD=9.376e-05, NB=0.000e+00, RS=6.033e-01, SC=1.121e+00, AC=2.638e+00 +CYCLE: 7 (55%, 29 secs) +DIST: BD=4.664e-02, NB=3.176e-05, RS=7.193e-01, SC=1.979e+00, AC=2.035e+00 +PROJ: Dim=6, Df=1.006e+00, STR=1.801e-03 +TNGL: 0 (cyc=4) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.430e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.675e-05 +EUCL: BD=6.335e-05, NB=7.424e-05, RS=7.594e-01, SC=6.753e-01, AC=2.168e+00 +CYCLE: 8 (58%, 31 secs) +DIST: BD=6.173e-02, NB=2.916e-04, RS=8.942e-01, SC=3.406e+00, AC=1.586e+00 +PROJ: Dim=5, Df=1.004e+00, STR=3.169e-03 +TNGL: 0 (cyc=2) +EUCL: IN=2.775e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.827e-05 +EUCL: BD=4.242e-05, NB=0.000e+00, RS=3.041e-01, SC=6.471e-01, AC=2.021e+00 +CYCLE: 9 (59%, 32 secs) +DIST: BD=1.178e-01, NB=1.273e-03, RS=6.099e-01, SC=4.490e+00, AC=1.373e+00 +PROJ: Dim=4, Df=1.008e+00, STR=4.993e-03 +TNGL: 0 (cyc=2) +EUCL: IN=1.582e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.143e-04 +EUCL: BD=7.617e-05, NB=3.915e-05, RS=5.512e-01, SC=1.266e+00, AC=1.632e+00 +CYCLE: 10 (59%, 34 secs) +HAND: (secstr) Good:Bad=1:3 (5:35) +DIST: BD=1.420e-01, NB=4.171e-04, RS=8.102e-01, SC=4.423e+00, AC=1.014e+00 +PROJ: Dim=3, Df=1.010e+00, STR=6.869e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=1.757e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.234e+00 ALL=2.187e-03 +** BEST: BD=8.945e-04, NB=4.274e-04, RS=1.263e+00, SC=2.581e+00, AC=1.168e+00 +CYCLE: 11 (60%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.115e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.096e+00 ALL=9.485e-04 +** BEST: BD=1.642e-04, NB=2.067e-04, RS=1.141e+00, SC=1.653e+00, AC=1.245e+00 +CYCLE: 12 (60%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.579e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.077e+00 ALL=8.869e-04 +EUCL: BD=4.415e-04, NB=3.064e-04, RS=1.124e+00, SC=1.526e+00, AC=1.165e+00 +CYCLE: 13 (61%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.150e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.022e+00 ALL=9.601e-04 +EUCL: BD=1.021e-03, NB=2.668e-04, RS=1.158e+00, SC=1.445e+00, AC=1.142e+00 +CYCLE: 14 (62%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=5.443e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.002e+00 ALL=9.050e-04 +EUCL: BD=9.434e-04, NB=2.034e-04, RS=1.243e+00, SC=1.269e+00, AC=1.218e+00 +CYCLE: 15 (62%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.720e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.029e+00 ALL=1.052e-03 +EUCL: BD=2.626e-03, NB=6.221e-04, RS=1.045e+00, SC=1.131e+00, AC=1.163e+00 +CYCLE: 16 (63%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.749e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.110e+00 ALL=1.170e-03 +EUCL: BD=1.422e-03, NB=4.577e-04, RS=1.111e+00, SC=1.264e+00, AC=1.136e+00 +CYCLE: 17 (64%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.510e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.084e+00 ALL=1.092e-03 +EUCL: BD=1.241e-03, NB=6.643e-04, RS=1.131e+00, SC=1.219e+00, AC=1.197e+00 +CYCLE: 18 (65%, 41 secs) +HAND: (secstr) Good:Bad=1:3 (4:36) +DIST: BD=2.011e-02, NB=3.291e-04, RS=9.091e-01, SC=1.168e+00, AC=1.121e+00 +PROJ: Dim=3, Df=9.992e-01, STR=9.040e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=7.245e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.029e+00 ALL=7.491e-04 +EUCL: BD=1.125e-03, NB=2.052e-04, RS=1.045e+00, SC=1.092e+00, AC=1.115e+00 +CYCLE: 19 (66%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.680e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=9.849e-01 ALL=1.310e-03 +EUCL: BD=3.690e-04, NB=1.808e-04, RS=1.214e+00, SC=1.214e+00, AC=1.108e+00 +CYCLE: 20 (66%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.104e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.036e+00 ALL=6.366e-04 +EUCL: BD=2.249e-04, NB=3.865e-04, RS=1.216e+00, SC=1.144e+00, AC=1.118e+00 +CYCLE: 21 (67%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.766e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.120e+00 ALL=7.665e-04 +EUCL: BD=3.777e-04, NB=4.580e-04, RS=1.159e+00, SC=1.365e+00, AC=1.133e+00 +CYCLE: 22 (68%, 44 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.329e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.116e+00 ALL=8.652e-04 +EUCL: BD=4.562e-04, NB=3.240e-04, RS=1.200e+00, SC=1.207e+00, AC=1.079e+00 +CYCLE: 23 (69%, 45 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.849e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.193e+00 ALL=1.017e-03 +EUCL: BD=1.572e-03, NB=1.128e-03, RS=1.150e+00, SC=1.243e+00, AC=1.221e+00 +CYCLE: 24 (70%, 46 secs) +HAND: (secstr) Good:Bad=1:3 (4:36) +DIST: BD=1.653e-02, NB=2.932e-04, RS=8.929e-01, SC=1.169e+00, AC=1.105e+00 +PROJ: Dim=3, Df=9.997e-01, STR=8.281e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=9.657e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.095e+00 ALL=7.942e-04 +EUCL: BD=1.239e-03, NB=2.355e-04, RS=9.755e-01, SC=1.353e+00, AC=1.138e+00 +EXIT: no further improvement on 3D reprojection +TIME: 47 secs +END: BD=1.642e-04, NB=2.067e-04, RS=1.141e+00, SC=1.653e+00, AC=1.245e+00, Itno:24=11+13 +SAVE: models/example_17.pdb +VIOLS: models/example_17.viol + +Run 17 finished: Wed 17-Jun-1998 14:41:38 + +RUN 18 STARTED: Wed 17-Jun-1998 14:41:38 +# Randseed=898087298 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-5.216e+00 +? centre_dist(): Cdist2[69]=-8.382e-01 +? centre_dist(): Cdist2[69]=-1.557e+00 +DIST: BD=5.918e-01, NB=0.000e+00, RS=6.817e-01, SC=9.354e+00, AC=2.897e+00 +PROJ: Dim=31, Df=8.061e-01, STR=6.470e-02 +TNGL: 0 (cyc=1) +EUCL: IN=1.450e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=5.434e-05 +EUCL: BD=1.027e-05, NB=0.000e+00, RS=1.864e-01, SC=8.738e-01, AC=2.596e+00 +CYCLE: 2 (38%, 5 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +DIST: BD=5.895e+02, NB=9.563e-04, RS=1.848e+00, SC=2.084e+01, AC=2.524e+00 +PROJ: Dim=25, Df=9.586e-01, STR=6.894e-05 +TNGL: 0 (cyc=3) +EUCL: IN=1.978e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + ALL=1.021e-04 +EUCL: BD=6.395e-05, NB=0.000e+00, RS=1.027e-01, SC=1.267e+00, AC=2.527e+00 +CYCLE: 3 (43%, 11 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.830e-03, NB=0.000e+00, RS=6.670e-02, SC=1.027e+00, AC=2.649e+00 +PROJ: Dim=23, Df=9.853e-01, STR=1.715e-04 +TNGL: 0 (cyc=4) +EUCL: IN=3.948e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.132e-04 +EUCL: BD=3.200e-05, NB=0.000e+00, RS=5.488e-01, SC=9.856e-01, AC=2.421e+00 +CYCLE: 4 (44%, 16 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.122e-02, NB=0.000e+00, RS=6.571e-01, SC=2.479e+00, AC=2.563e+00 +PROJ: Dim=15, Df=9.988e-01, STR=1.491e-03 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=8.141e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.228e-05 +EUCL: BD=5.609e-05, NB=1.832e-06, RS=2.767e-01, SC=6.307e-01, AC=2.464e+00 +CYCLE: 5 (51%, 20 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.784e-02, NB=0.000e+00, RS=7.578e-01, SC=1.772e+00, AC=2.795e+00 +PROJ: Dim=14, Df=9.969e-01, STR=1.098e-03 +TNGL: 0 (cyc=4) +EUCL: IN=7.059e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=7.673e-05 +EUCL: BD=2.268e-05, NB=1.138e-05, RS=6.667e-01, SC=8.832e-01, AC=2.532e+00 +CYCLE: 6 (51%, 24 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.509e-02, NB=0.000e+00, RS=8.196e-01, SC=2.048e+00, AC=2.640e+00 +PROJ: Dim=13, Df=9.945e-01, STR=1.060e-03 +TNGL: 0 (cyc=3) +EUCL: IN=2.177e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.169e-05 +EUCL: BD=7.848e-05, NB=0.000e+00, RS=5.727e-01, SC=5.995e-01, AC=2.401e+00 +CYCLE: 7 (52%, 28 secs) +DIST: BD=4.374e-02, NB=9.698e-06, RS=8.395e-01, SC=2.120e+00, AC=2.255e+00 +PROJ: Dim=8, Df=1.001e+00, STR=1.737e-03 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.863e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.751e-05 +EUCL: BD=2.940e-05, NB=7.588e-06, RS=5.579e-01, SC=6.906e-01, AC=2.588e+00 +CYCLE: 8 (56%, 30 secs) +DIST: BD=3.550e-02, NB=0.000e+00, RS=6.602e-01, SC=1.962e+00, AC=2.396e+00 +PROJ: Dim=7, Df=1.001e+00, STR=1.300e-03 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.007e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.111e-05 +EUCL: BD=1.035e-04, NB=4.201e-06, RS=5.812e-01, SC=4.365e-01, AC=2.327e+00 +CYCLE: 9 (57%, 32 secs) +DIST: BD=5.592e-02, NB=1.677e-05, RS=6.674e-01, SC=1.895e+00, AC=1.378e+00 +PROJ: Dim=4, Df=1.011e+00, STR=2.696e-03 +TNGL: 0 (cyc=2) +EUCL: IN=2.794e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.061e-04 +EUCL: BD=3.397e-05, NB=1.502e-04, RS=7.951e-01, SC=1.289e+00, AC=1.372e+00 +CYCLE: 10 (59%, 33 secs) +HAND: (secstr) Good:Bad=2:2 (18:22) +DIST: BD=1.210e-01, NB=1.245e-03, RS=9.581e-01, SC=5.321e+00, AC=7.782e-01 +PROJ: Dim=3, Df=1.022e+00, STR=6.041e-03 , flip +TNGL: 0 (cyc=1) +EUCL: IN=4.736e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.004e+00 ALL=1.694e-03 +** BEST: BD=1.708e-04, NB=2.557e-04, RS=6.575e-01, SC=3.655e+00, AC=1.010e+00 +CYCLE: 11 (60%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.356e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.027e+00 ALL=8.997e-04 +EUCL: BD=7.117e-04, NB=5.005e-04, RS=7.564e-01, SC=2.981e+00, AC=8.064e-01 +CYCLE: 12 (61%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=4.551e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.015e+00 ALL=7.158e-04 +EUCL: BD=7.573e-04, NB=2.254e-04, RS=7.498e-01, SC=2.249e+00, AC=8.756e-01 +CYCLE: 13 (62%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.240e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.099e+00 ALL=6.021e-04 +EUCL: BD=6.027e-04, NB=2.045e-04, RS=6.770e-01, SC=2.228e+00, AC=7.397e-01 +CYCLE: 14 (62%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=5.857e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.072e+00 ALL=6.594e-04 +EUCL: BD=4.728e-04, NB=1.796e-04, RS=7.050e-01, SC=1.850e+00, AC=1.058e+00 +CYCLE: 15 (63%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=4.714e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.146e+00 ALL=7.711e-04 +EUCL: BD=9.833e-04, NB=2.182e-04, RS=7.287e-01, SC=1.850e+00, AC=8.769e-01 +CYCLE: 16 (64%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=5.135e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.131e+00 ALL=7.827e-04 +EUCL: BD=3.137e-04, NB=2.276e-04, RS=7.493e-01, SC=2.179e+00, AC=8.692e-01 +CYCLE: 17 (65%, 39 secs) +HAND: (secstr) Good:Bad=2:2 (18:22) +DIST: BD=2.970e-02, NB=2.031e-04, RS=5.514e-01, SC=2.671e+00, AC=8.692e-01 +PROJ: Dim=3, Df=9.988e-01, STR=1.273e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=4.619e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.053e+00 ALL=7.329e-04 +EUCL: BD=1.123e-04, NB=1.808e-04, RS=8.174e-01, SC=2.749e+00, AC=7.423e-01 +CYCLE: 18 (66%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=5.929e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.068e+00 ALL=5.151e-04 +EUCL: BD=1.640e-05, NB=5.159e-04, RS=7.819e-01, SC=2.450e+00, AC=8.936e-01 +CYCLE: 19 (66%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.402e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.024e+00 ALL=5.857e-04 +EUCL: BD=1.910e-05, NB=5.265e-04, RS=7.910e-01, SC=2.442e+00, AC=9.936e-01 +CYCLE: 20 (67%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=5.444e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.106e+00 ALL=5.230e-04 +EUCL: BD=3.398e-05, NB=6.198e-04, RS=8.622e-01, SC=1.919e+00, AC=9.885e-01 +CYCLE: 21 (68%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=4.657e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.075e+00 ALL=5.433e-04 +EUCL: BD=4.979e-04, NB=6.340e-04, RS=7.856e-01, SC=1.997e+00, AC=1.105e+00 +CYCLE: 22 (69%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=4.347e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.140e+00 ALL=6.580e-04 +EUCL: BD=2.892e-05, NB=6.037e-04, RS=8.593e-01, SC=1.847e+00, AC=8.808e-01 +CYCLE: 23 (70%, 44 secs) +HAND: (secstr) Good:Bad=2:2 (18:22) +DIST: BD=2.917e-02, NB=1.843e-04, RS=5.670e-01, SC=2.631e+00, AC=9.628e-01 +PROJ: Dim=3, Df=9.985e-01, STR=1.177e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=4.615e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.036e+00 ALL=7.219e-04 +EUCL: BD=1.602e-05, NB=2.131e-04, RS=8.067e-01, SC=2.763e+00, AC=8.538e-01 +EXIT: no further improvement on 3D reprojection +TIME: 45 secs +END: BD=1.708e-04, NB=2.557e-04, RS=6.575e-01, SC=3.655e+00, AC=1.010e+00, Itno:23=10+13 +SAVE: models/example_18.pdb +VIOLS: models/example_18.viol + +Run 18 finished: Wed 17-Jun-1998 14:42:23 + +RUN 19 STARTED: Wed 17-Jun-1998 14:42:23 +# Randseed=898087343 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-1.989e-01 +? centre_dist(): Cdist2[69]=-3.278e-01 +? centre_dist(): Cdist2[69]=-3.583e-01 +? centre_dist(): Cdist2[17]=-1.385e+00 +DIST: BD=4.462e-01, NB=5.435e-05, RS=6.863e-01, SC=9.013e+00, AC=2.914e+00 +PROJ: Dim=31, Df=7.974e-01, STR=6.587e-02 +TNGL: 0 (cyc=1) +EUCL: IN=1.822e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=6.904e-05 +EUCL: BD=3.716e-05, NB=0.000e+00, RS=2.684e-01, SC=1.095e+00, AC=2.671e+00 +CYCLE: 2 (38%, 6 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +DIST: BD=6.532e+01, NB=3.306e-04, RS=1.453e+00, SC=1.079e+01, AC=2.465e+00 +PROJ: Dim=25, Df=9.734e-01, STR=8.903e-05 +TNGL: 0 (cyc=4) +EUCL: IN=6.873e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.705e-04 +EUCL: BD=9.134e-05, NB=1.423e-05, RS=3.707e-01, SC=2.499e+00, AC=2.549e+00 +CYCLE: 3 (43%, 12 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.515e-02, NB=1.791e-06, RS=8.189e-01, SC=2.589e+00, AC=2.828e+00 +PROJ: Dim=24, Df=9.991e-01, STR=1.293e-03 +TNGL: 0 (cyc=5) +EUCL: IN=6.506e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.149e-04 +EUCL: BD=2.111e-05, NB=9.187e-06, RS=4.653e-01, SC=1.455e+00, AC=2.576e+00 +CYCLE: 4 (44%, 18 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=4.029e-02, NB=0.000e+00, RS=8.679e-01, SC=2.455e+00, AC=2.872e+00 +PROJ: Dim=16, Df=9.994e-01, STR=1.235e-03 +TNGL: 0 (cyc=4) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=5.541e-04 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.061e-04 +EUCL: BD=6.309e-05, NB=0.000e+00, RS=4.802e-01, SC=1.795e+00, AC=2.738e+00 +CYCLE: 5 (50%, 21 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.494e-02, NB=0.000e+00, RS=6.992e-01, SC=1.917e+00, AC=2.799e+00 +PROJ: Dim=15, Df=9.986e-01, STR=6.060e-04 +TNGL: 0 (cyc=4) +EUCL: IN=8.541e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=7.468e-05 +EUCL: BD=4.901e-05, NB=0.000e+00, RS=5.926e-01, SC=1.285e+00, AC=2.588e+00 +CYCLE: 6 (51%, 25 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=4.126e-02, NB=7.863e-06, RS=8.446e-01, SC=2.246e+00, AC=2.665e+00 +PROJ: Dim=10, Df=9.932e-01, STR=1.686e-03 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.125e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.271e-05 +EUCL: BD=4.346e-05, NB=0.000e+00, RS=5.399e-01, SC=6.497e-01, AC=2.417e+00 +CYCLE: 7 (55%, 27 secs) +DIST: BD=2.617e-02, NB=0.000e+00, RS=7.584e-01, SC=9.804e-01, AC=2.408e+00 +PROJ: Dim=9, Df=1.001e+00, STR=5.929e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.080e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.483e-05 +EUCL: BD=4.008e-05, NB=0.000e+00, RS=5.023e-01, SC=6.971e-01, AC=2.340e+00 +CYCLE: 8 (55%, 30 secs) +DIST: BD=8.617e-03, NB=0.000e+00, RS=5.615e-01, SC=9.542e-01, AC=2.019e+00 +PROJ: Dim=6, Df=1.006e+00, STR=5.072e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.011e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.998e-05 +EUCL: BD=4.502e-06, NB=0.000e+00, RS=5.853e-01, SC=7.400e-01, AC=2.194e+00 +CYCLE: 9 (58%, 31 secs) +DIST: BD=5.443e-02, NB=5.812e-05, RS=9.169e-01, SC=2.403e+00, AC=1.342e+00 +PROJ: Dim=4, Df=1.013e+00, STR=3.491e-03 +TNGL: 0 (cyc=2) +EUCL: IN=2.894e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.835e-05 +EUCL: BD=9.708e-06, NB=0.000e+00, RS=5.361e-01, SC=7.652e-01, AC=1.560e+00 +CYCLE: 10 (59%, 33 secs) +HAND: (secstr) Good:Bad=3:1 (32:8) +DIST: BD=9.667e-02, NB=8.332e-05, RS=5.451e-01, SC=2.681e+00, AC=1.071e+00 +PROJ: Dim=3, Df=1.031e+00, STR=5.936e-03 +TNGL: 0 (cyc=1) +EUCL: IN=7.994e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.625e+00 ALL=1.150e-03 +** BEST: BD=3.210e-04, NB=1.295e-04, RS=9.618e-01, SC=3.589e+00, AC=8.949e-01 +CYCLE: 11 (60%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.331e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.482e+00 ALL=8.980e-04 +** BEST: BD=9.297e-05, NB=1.183e-04, RS=9.066e-01, SC=2.787e+00, AC=9.282e-01 +CYCLE: 12 (60%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.876e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.480e+00 ALL=9.769e-04 +EUCL: BD=1.977e-04, NB=1.521e-04, RS=6.284e-01, SC=2.614e+00, AC=7.282e-01 +CYCLE: 13 (61%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.779e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.498e+00 ALL=9.551e-04 +EUCL: BD=2.081e-04, NB=1.674e-04, RS=6.331e-01, SC=2.409e+00, AC=8.410e-01 +CYCLE: 14 (62%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.587e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.473e+00 ALL=1.023e-03 +** BEST: BD=2.345e-05, NB=6.394e-05, RS=5.673e-01, SC=2.990e+00, AC=8.449e-01 +CYCLE: 15 (62%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.012e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.502e+00 ALL=9.340e-04 +EUCL: BD=4.571e-05, NB=1.377e-04, RS=5.781e-01, SC=2.895e+00, AC=7.974e-01 +CYCLE: 16 (62%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.981e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.566e+00 ALL=1.300e-03 +EUCL: BD=3.391e-04, NB=6.511e-05, RS=8.239e-01, SC=2.917e+00, AC=7.577e-01 +CYCLE: 17 (63%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.375e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.451e+00 ALL=9.694e-04 +EUCL: BD=1.421e-04, NB=4.839e-05, RS=7.574e-01, SC=2.670e+00, AC=1.041e+00 +CYCLE: 18 (64%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.792e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.473e+00 ALL=9.432e-04 +EUCL: BD=6.429e-05, NB=3.995e-05, RS=7.256e-01, SC=2.907e+00, AC=9.500e-01 +CYCLE: 19 (65%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.971e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.517e+00 ALL=8.168e-04 +EUCL: BD=1.039e-04, NB=5.258e-05, RS=5.886e-01, SC=2.774e+00, AC=6.756e-01 +CYCLE: 20 (66%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.638e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.484e+00 ALL=9.628e-04 +EUCL: BD=3.602e-05, NB=1.279e-04, RS=5.889e-01, SC=2.907e+00, AC=6.923e-01 +CYCLE: 21 (66%, 42 secs) +HAND: (secstr) Good:Bad=3:1 (33:7) +DIST: BD=2.225e-02, NB=1.251e-04, RS=5.991e-01, SC=2.182e+00, AC=8.821e-01 +PROJ: Dim=3, Df=1.001e+00, STR=1.338e-03 +TNGL: 0 (cyc=0) +EUCL: IN=8.178e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.494e+00 ALL=8.433e-04 +EUCL: BD=6.444e-05, NB=5.584e-05, RS=7.226e-01, SC=2.501e+00, AC=9.974e-01 +CYCLE: 22 (67%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.606e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.437e+00 ALL=6.780e-04 +EUCL: BD=3.877e-05, NB=7.626e-05, RS=6.715e-01, SC=2.258e+00, AC=7.577e-01 +CYCLE: 23 (68%, 44 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.346e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.433e+00 ALL=4.409e-04 +EUCL: BD=6.827e-05, NB=6.815e-05, RS=7.151e-01, SC=2.010e+00, AC=8.321e-01 +CYCLE: 24 (69%, 45 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.774e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.369e+00 ALL=7.561e-04 +EUCL: BD=7.690e-05, NB=4.641e-05, RS=7.430e-01, SC=2.306e+00, AC=7.628e-01 +CYCLE: 25 (70%, 45 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.880e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.376e+00 ALL=4.889e-04 +EUCL: BD=1.057e-04, NB=4.185e-05, RS=5.738e-01, SC=1.907e+00, AC=9.333e-01 +CYCLE: 26 (70%, 46 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.741e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.446e+00 ALL=5.334e-04 +EUCL: BD=9.332e-05, NB=3.896e-05, RS=5.680e-01, SC=1.976e+00, AC=1.058e+00 +CYCLE: 27 (71%, 47 secs) +HAND: (secstr) Good:Bad=3:1 (33:7) +DIST: BD=1.787e-02, NB=5.540e-05, RS=5.753e-01, SC=1.977e+00, AC=9.410e-01 +PROJ: Dim=3, Df=9.992e-01, STR=9.348e-04 +TNGL: 0 (cyc=0) +EUCL: IN=7.536e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.456e+00 ALL=8.433e-04 +EUCL: BD=1.102e-04, NB=4.055e-05, RS=7.968e-01, SC=2.325e+00, AC=8.821e-01 +EXIT: no further improvement on 3D reprojection +TIME: 48 secs +END: BD=2.345e-05, NB=6.394e-05, RS=5.673e-01, SC=2.990e+00, AC=8.449e-01, Itno:27=12+15 +SAVE: models/example_19.pdb +VIOLS: models/example_19.viol + +Run 19 finished: Wed 17-Jun-1998 14:43:12 + +RUN 20 STARTED: Wed 17-Jun-1998 14:43:12 +# Randseed=898087392 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-1.584e+01 +? centre_dist(): Cdist2[69]=-1.119e-01 +DIST: BD=5.229e-01, NB=4.169e-05, RS=7.100e-01, SC=8.806e+00, AC=2.949e+00 +PROJ: Dim=32, Df=8.299e-01, STR=6.751e-02 +TNGL: 0 (cyc=1) +EUCL: IN=8.869e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=4.227e-05 +EUCL: BD=2.588e-05, NB=0.000e+00, RS=2.715e-01, SC=6.636e-01, AC=2.623e+00 +CYCLE: 2 (37%, 8 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.673e-03, NB=0.000e+00, RS=2.409e-01, SC=4.790e-01, AC=2.636e+00 +PROJ: Dim=24, Df=9.965e-01, STR=6.433e-05 +TNGL: 0 (cyc=0) +EUCL: IN=4.949e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + ALL=1.633e-05 +EUCL: BD=1.867e-06, NB=0.000e+00, RS=3.021e-01, SC=3.806e-01, AC=2.451e+00 +CYCLE: 3 (44%, 13 secs) +DIST: BD=3.286e-03, NB=0.000e+00, RS=2.698e-01, SC=2.653e-01, AC=2.438e+00 +PROJ: Dim=16, Df=9.999e-01, STR=5.277e-05 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=1.570e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=2.046e-05 +EUCL: BD=3.806e-05, NB=1.038e-05, RS=3.338e-01, SC=2.961e-01, AC=2.359e+00 +CYCLE: 4 (50%, 17 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.133e-03, NB=0.000e+00, RS=4.041e-01, SC=6.263e-01, AC=2.417e+00 +PROJ: Dim=15, Df=9.695e-01, STR=2.518e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.338e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.256e-05 +EUCL: BD=1.381e-05, NB=1.802e-06, RS=2.614e-01, SC=5.552e-01, AC=2.291e+00 +CYCLE: 5 (51%, 21 secs) +DIST: BD=2.016e-02, NB=0.000e+00, RS=3.720e-01, SC=1.112e+00, AC=2.412e+00 +PROJ: Dim=10, Df=1.002e+00, STR=5.985e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.144e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.775e-05 +EUCL: BD=4.661e-05, NB=0.000e+00, RS=4.994e-01, SC=6.215e-01, AC=2.400e+00 +CYCLE: 6 (55%, 24 secs) +DIST: BD=9.579e-03, NB=3.079e-05, RS=6.071e-01, SC=6.480e-01, AC=2.550e+00 +PROJ: Dim=9, Df=1.001e+00, STR=2.706e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.512e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=5.233e-05 +EUCL: BD=5.213e-05, NB=0.000e+00, RS=2.836e-01, SC=4.838e-01, AC=2.274e+00 +CYCLE: 7 (55%, 26 secs) +DIST: BD=8.545e-03, NB=0.000e+00, RS=3.928e-01, SC=6.912e-01, AC=1.819e+00 +PROJ: Dim=6, Df=1.008e+00, STR=5.166e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.511e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=5.865e-05 +EUCL: BD=1.730e-05, NB=7.971e-06, RS=6.294e-01, SC=5.432e-01, AC=1.929e+00 +CYCLE: 8 (58%, 28 secs) + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +DIST: BD=4.942e-01, NB=6.462e-04, RS=7.729e-01, SC=4.727e+00, AC=1.185e+00 +PROJ: Dim=4, Df=1.021e+00, STR=1.545e-03 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=1.615e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=4.323e-04 +EUCL: BD=1.457e-03, NB=3.567e-06, RS=9.415e-01, SC=9.867e-01, AC=1.405e+00 +CYCLE: 9 (59%, 29 secs) + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +HAND: (secstr) Good:Bad=1:3 (15:25) +DIST: BD=2.538e-01, NB=3.894e-04, RS=8.013e-01, SC=4.013e+00, AC=7.397e-01 +PROJ: Dim=3, Df=1.024e+00, STR=1.633e-03 , flip +TNGL: 0 (cyc=2) +EUCL: IN=4.270e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.508e+00 ALL=1.985e-03 +** BEST: BD=3.805e-04, NB=1.605e-04, RS=1.180e+00, SC=3.193e+00, AC=1.365e+00 +CYCLE: 10 (60%, 30 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.763e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.484e+00 ALL=1.684e-03 +EUCL: BD=1.401e-04, NB=1.361e-04, RS=1.256e+00, SC=2.913e+00, AC=1.155e+00 +CYCLE: 11 (61%, 31 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.501e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.463e+00 ALL=2.931e-03 +EUCL: BD=1.007e-03, NB=9.625e-05, RS=1.178e+00, SC=4.535e+00, AC=1.190e+00 +CYCLE: 12 (62%, 32 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.424e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.331e+00 ALL=1.259e-03 +EUCL: BD=6.168e-04, NB=1.027e-04, RS=1.365e+00, SC=2.472e+00, AC=1.033e+00 +CYCLE: 13 (62%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=2.121e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.344e+00 ALL=1.455e-03 +EUCL: BD=1.910e-04, NB=1.992e-04, RS=1.160e+00, SC=2.189e+00, AC=1.228e+00 +CYCLE: 14 (63%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.611e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.278e+00 ALL=1.512e-03 +EUCL: BD=1.641e-04, NB=3.035e-04, RS=1.130e+00, SC=1.321e+00, AC=9.269e-01 +CYCLE: 15 (64%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.693e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.184e+00 ALL=1.035e-03 +EUCL: BD=4.787e-05, NB=2.498e-04, RS=1.226e+00, SC=1.020e+00, AC=8.654e-01 +CYCLE: 16 (65%, 36 secs) +HAND: (secstr) Good:Bad=1:3 (15:25) +DIST: BD=4.321e-02, NB=8.332e-05, RS=9.626e-01, SC=2.269e+00, AC=1.115e+00 +PROJ: Dim=3, Df=1.000e+00, STR=1.983e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=4.302e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.407e+00 ALL=1.612e-03 +EUCL: BD=2.312e-04, NB=1.298e-04, RS=1.180e+00, SC=2.566e+00, AC=1.138e+00 +CYCLE: 17 (66%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.166e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.443e+00 ALL=1.344e-03 +EUCL: BD=7.343e-04, NB=1.164e-04, RS=1.076e+00, SC=2.163e+00, AC=1.053e+00 +CYCLE: 18 (66%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.584e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.294e+00 ALL=1.234e-03 +EUCL: BD=9.898e-04, NB=9.934e-05, RS=1.086e+00, SC=2.037e+00, AC=1.027e+00 +CYCLE: 19 (67%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.294e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.241e+00 ALL=1.314e-03 +EUCL: BD=7.411e-04, NB=1.140e-04, RS=1.082e+00, SC=1.888e+00, AC=8.846e-01 +CYCLE: 20 (68%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.211e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.245e+00 ALL=1.780e-03 +EUCL: BD=1.136e-03, NB=1.192e-04, RS=1.166e+00, SC=2.037e+00, AC=1.118e+00 +CYCLE: 21 (69%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.054e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.217e+00 ALL=1.178e-03 +EUCL: BD=1.141e-03, NB=1.225e-04, RS=9.754e-01, SC=1.393e+00, AC=1.053e+00 +CYCLE: 22 (70%, 41 secs) +HAND: (secstr) Good:Bad=1:3 (15:25) +DIST: BD=4.278e-02, NB=8.816e-05, RS=9.529e-01, SC=2.268e+00, AC=1.172e+00 +PROJ: Dim=3, Df=1.000e+00, STR=1.978e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=4.342e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.391e+00 ALL=1.478e-03 +EUCL: BD=8.900e-04, NB=1.366e-04, RS=1.248e+00, SC=2.572e+00, AC=1.044e+00 +EXIT: no further improvement on 3D reprojection +TIME: 42 secs +END: BD=3.805e-04, NB=1.605e-04, RS=1.180e+00, SC=3.193e+00, AC=1.365e+00, Itno:22=9+13 +SAVE: models/example_20.pdb +VIOLS: models/example_20.viol + +Run 20 finished: Wed 17-Jun-1998 14:43:55 + +RUN 21 STARTED: Wed 17-Jun-1998 14:43:55 +# Randseed=898087435 +CYCLE: 1 (0%, 0 seconds) +DIST: BD=4.076e-01, NB=7.856e-05, RS=6.824e-01, SC=9.220e+00, AC=2.885e+00 +PROJ: Dim=30, Df=7.919e-01, STR=6.675e-02 +TNGL: 0 (cyc=2) +EUCL: IN=7.793e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=5.109e-05 +EUCL: BD=4.429e-05, NB=0.000e+00, RS=1.033e-01, SC=7.949e-01, AC=2.429e+00 +CYCLE: 2 (39%, 6 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.024e-02, NB=0.000e+00, RS=6.275e-01, SC=1.589e+00, AC=2.773e+00 +PROJ: Dim=29, Df=9.621e-01, STR=7.985e-04 +TNGL: 0 (cyc=2) +EUCL: IN=2.102e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=4.619e-05 +EUCL: BD=1.745e-05, NB=0.000e+00, RS=4.156e-01, SC=6.071e-01, AC=2.512e+00 +CYCLE: 3 (40%, 15 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.354e-03, NB=0.000e+00, RS=5.318e-01, SC=1.016e+00, AC=2.735e+00 +PROJ: Dim=19, Df=9.683e-01, STR=2.558e-04 +TNGL: 0 (cyc=0) +EUCL: IN=2.496e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.986e-05 +EUCL: BD=9.675e-06, NB=0.000e+00, RS=5.846e-01, SC=3.889e-01, AC=2.431e+00 +CYCLE: 4 (48%, 20 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.186e-03, NB=0.000e+00, RS=5.363e-01, SC=4.559e-01, AC=2.473e+00 +PROJ: Dim=12, Df=9.607e-01, STR=2.385e-04 +TNGL: 0 (cyc=0) +EUCL: IN=5.328e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=7.284e-05 +EUCL: BD=2.829e-06, NB=0.000e+00, RS=5.396e-01, SC=6.945e-01, AC=2.338e+00 +CYCLE: 5 (53%, 24 secs) +DIST: BD=1.062e-02, NB=0.000e+00, RS=5.272e-01, SC=6.303e-01, AC=2.294e+00 +PROJ: Dim=8, Df=1.003e+00, STR=3.358e-04 +TNGL: 0 (cyc=0) +EUCL: IN=2.273e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 5 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 5 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.069e-05 +EUCL: BD=1.207e-05, NB=0.000e+00, RS=4.326e-01, SC=4.399e-01, AC=2.064e+00 +CYCLE: 6 (56%, 26 secs) +DIST: BD=8.865e-03, NB=1.928e-07, RS=4.294e-01, SC=4.941e-01, AC=1.876e+00 +PROJ: Dim=7, Df=1.002e+00, STR=2.737e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=1.586e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.497e-05 +EUCL: BD=2.197e-04, NB=7.184e-06, RS=3.430e-01, SC=4.268e-01, AC=2.178e+00 +CYCLE: 7 (57%, 27 secs) +DIST: BD=1.913e+00, NB=2.096e-03, RS=2.976e-01, SC=1.157e+01, AC=7.526e-01 +PROJ: Dim=4, Df=1.023e+00, STR=1.823e-02 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=4.850e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.681e-04 +EUCL: BD=7.007e-05, NB=4.406e-05, RS=7.319e-01, SC=1.178e+00, AC=1.341e+00 +CYCLE: 8 (59%, 29 secs) + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +HAND: (secstr) Good:Bad=2:2 (21:19) +DIST: BD=3.306e+00, NB=6.677e-04, RS=6.521e-01, SC=4.492e+00, AC=7.705e-01 +PROJ: Dim=3, Df=1.021e+00, STR=4.775e-03 +TNGL: 0 (cyc=0) +EUCL: IN=1.646e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.290e+00 ALL=2.251e-03 +** BEST: BD=3.406e-03, NB=1.237e-04, RS=1.245e+00, SC=4.569e+00, AC=1.047e+00 +CYCLE: 9 (60%, 30 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.503e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.046e+00 ALL=1.519e-03 +** BEST: BD=4.068e-04, NB=1.310e-04, RS=8.040e-01, SC=4.059e+00, AC=1.133e+00 +CYCLE: 10 (60%, 31 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.473e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.993e+00 ALL=2.565e-03 +EUCL: BD=2.568e-03, NB=1.990e-04, RS=5.624e-01, SC=2.680e+00, AC=1.136e+00 +CYCLE: 11 (61%, 32 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.526e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.092e+00 ALL=1.311e-03 +EUCL: BD=5.799e-03, NB=1.034e-04, RS=4.746e-01, SC=2.557e+00, AC=9.795e-01 +CYCLE: 12 (62%, 32 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.402e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.117e+00 ALL=1.272e-03 +EUCL: BD=5.800e-05, NB=1.883e-04, RS=5.915e-01, SC=3.194e+00, AC=1.082e+00 +CYCLE: 13 (62%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.530e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.137e+00 ALL=1.153e-03 +EUCL: BD=6.977e-04, NB=1.797e-04, RS=5.734e-01, SC=2.575e+00, AC=1.163e+00 +CYCLE: 14 (63%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.587e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.124e+00 ALL=1.116e-03 +EUCL: BD=1.243e-04, NB=1.444e-04, RS=6.490e-01, SC=2.756e+00, AC=9.397e-01 +CYCLE: 15 (64%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.906e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.014e+00 ALL=9.440e-04 +** BEST: BD=6.940e-05, NB=8.348e-05, RS=6.315e-01, SC=2.577e+00, AC=8.654e-01 +CYCLE: 16 (64%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.884e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.012e+00 ALL=8.282e-04 +EUCL: BD=3.104e-04, NB=3.966e-05, RS=6.001e-01, SC=2.699e+00, AC=9.808e-01 +CYCLE: 17 (65%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.790e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.977e+00 ALL=9.132e-04 +EUCL: BD=2.244e-04, NB=3.223e-05, RS=5.635e-01, SC=2.741e+00, AC=1.046e+00 +CYCLE: 18 (66%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.478e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.034e+00 ALL=8.472e-04 +EUCL: BD=2.978e-04, NB=2.271e-05, RS=6.214e-01, SC=2.971e+00, AC=1.063e+00 +CYCLE: 19 (66%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.031e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.024e+00 ALL=9.597e-04 +EUCL: BD=1.187e-04, NB=5.873e-05, RS=6.647e-01, SC=2.676e+00, AC=1.005e+00 +CYCLE: 20 (67%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.816e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.051e+00 ALL=9.287e-04 +EUCL: BD=4.544e-05, NB=6.309e-05, RS=6.580e-01, SC=2.801e+00, AC=1.259e+00 +CYCLE: 21 (68%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.165e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.054e+00 ALL=1.009e-03 +EUCL: BD=1.778e-04, NB=5.821e-05, RS=6.331e-01, SC=2.989e+00, AC=1.113e+00 +CYCLE: 22 (69%, 41 secs) +HAND: (secstr) Good:Bad=2:2 (15:25) +DIST: BD=2.591e-02, NB=7.853e-06, RS=4.847e-01, SC=2.147e+00, AC=9.256e-01 +PROJ: Dim=3, Df=9.997e-01, STR=1.197e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=7.344e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.019e+00 ALL=1.027e-03 +EUCL: BD=5.462e-05, NB=8.405e-05, RS=6.767e-01, SC=2.740e+00, AC=1.078e+00 +CYCLE: 23 (70%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.062e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.041e+00 ALL=1.230e-03 +EUCL: BD=9.016e-05, NB=5.347e-05, RS=6.386e-01, SC=2.520e+00, AC=1.018e+00 +CYCLE: 24 (70%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.064e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.066e+00 ALL=1.000e-03 +EUCL: BD=1.483e-04, NB=4.820e-05, RS=6.921e-01, SC=2.573e+00, AC=1.112e+00 +CYCLE: 25 (71%, 44 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.847e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.979e+00 ALL=8.796e-04 +EUCL: BD=1.870e-03, NB=3.652e-05, RS=6.335e-01, SC=2.648e+00, AC=1.006e+00 +CYCLE: 26 (72%, 44 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.574e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.070e+00 ALL=1.782e-03 +EUCL: BD=1.278e-04, NB=6.994e-05, RS=7.066e-01, SC=2.581e+00, AC=1.117e+00 +CYCLE: 27 (73%, 45 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.539e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.082e+00 ALL=9.947e-04 +EUCL: BD=2.161e-04, NB=5.509e-05, RS=6.800e-01, SC=2.777e+00, AC=1.186e+00 +CYCLE: 28 (74%, 46 secs) +HAND: (secstr) Good:Bad=2:2 (15:25) +DIST: BD=2.650e-02, NB=2.550e-05, RS=4.984e-01, SC=2.141e+00, AC=9.962e-01 +PROJ: Dim=3, Df=9.995e-01, STR=1.350e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=8.618e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.000e+00 ALL=1.053e-03 +EUCL: BD=1.519e-04, NB=7.590e-05, RS=5.794e-01, SC=2.554e+00, AC=9.590e-01 +EXIT: no further improvement on 3D reprojection +TIME: 47 secs +END: BD=6.940e-05, NB=8.348e-05, RS=6.315e-01, SC=2.577e+00, AC=8.654e-01, Itno:28=10+18 +SAVE: models/example_21.pdb +VIOLS: models/example_21.viol + +Run 21 finished: Wed 17-Jun-1998 14:44:42 + +RUN 22 STARTED: Wed 17-Jun-1998 14:44:42 +# Randseed=898087482 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-4.411e+00 +? centre_dist(): Cdist2[69]=-1.663e+00 +? centre_dist(): Cdist2[69]=-1.349e+00 +? centre_dist(): Cdist2[69]=-7.678e-01 +? centre_dist(): Cdist2[69]=-8.850e-01 +? centre_dist(): Cdist2[69]=-4.725e-01 +DIST: BD=6.076e-01, NB=0.000e+00, RS=8.924e-01, SC=1.082e+01, AC=2.910e+00 +PROJ: Dim=32, Df=8.319e-01, STR=6.896e-02 +TNGL: 0 (cyc=2) +EUCL: IN=6.444e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.822e-05 +EUCL: BD=1.102e-06, NB=0.000e+00, RS=3.463e-01, SC=4.483e-01, AC=2.494e+00 +CYCLE: 2 (37%, 7 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=4.805e-03, NB=0.000e+00, RS=5.991e-01, SC=1.206e+00, AC=2.764e+00 +PROJ: Dim=30, Df=9.979e-01, STR=5.004e-04 +TNGL: 0 (cyc=1) +EUCL: IN=5.242e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.887e-05 +EUCL: BD=2.250e-05, NB=0.000e+00, RS=1.633e-01, SC=4.817e-01, AC=2.473e+00 +CYCLE: 3 (39%, 14 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.190e-02, NB=0.000e+00, RS=5.404e-01, SC=1.125e+00, AC=2.709e+00 +PROJ: Dim=20, Df=9.821e-01, STR=4.775e-04 +TNGL: 0 (cyc=3) +EUCL: IN=5.375e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=3.298e-05 +EUCL: BD=8.668e-05, NB=0.000e+00, RS=1.954e-01, SC=6.358e-01, AC=2.435e+00 +CYCLE: 4 (47%, 18 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=9.349e-03, NB=0.000e+00, RS=3.715e-01, SC=9.900e-01, AC=2.660e+00 +PROJ: Dim=19, Df=9.414e-01, STR=2.964e-04 +TNGL: 0 (cyc=2) +EUCL: IN=5.260e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=3.996e-05 +EUCL: BD=1.877e-05, NB=1.145e-06, RS=2.862e-01, SC=6.089e-01, AC=2.429e+00 +CYCLE: 5 (48%, 23 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=8.560e-03, NB=0.000e+00, RS=5.447e-01, SC=1.203e+00, AC=2.665e+00 +PROJ: Dim=12, Df=9.982e-01, STR=4.409e-04 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=6.569e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=6.125e-05 +EUCL: BD=1.119e-04, NB=2.081e-06, RS=2.981e-01, SC=7.521e-01, AC=2.422e+00 +CYCLE: 6 (53%, 26 secs) +DIST: BD=2.494e-02, NB=0.000e+00, RS=6.207e-01, SC=9.464e-01, AC=2.271e+00 +PROJ: Dim=8, Df=1.002e+00, STR=6.297e-04 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.470e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=5.209e-05 +EUCL: BD=8.848e-06, NB=0.000e+00, RS=3.476e-01, SC=4.805e-01, AC=2.253e+00 +CYCLE: 7 (56%, 28 secs) +DIST: BD=2.044e-02, NB=0.000e+00, RS=5.291e-01, SC=1.257e+00, AC=2.263e+00 +PROJ: Dim=7, Df=1.004e+00, STR=7.018e-04 +TNGL: 0 (cyc=4) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.426e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=7.024e-05 +EUCL: BD=1.485e-04, NB=2.154e-05, RS=2.002e-01, SC=8.445e-01, AC=2.319e+00 +CYCLE: 8 (57%, 30 secs) +DIST: BD=1.728e-01, NB=6.881e-04, RS=9.551e-01, SC=5.520e+00, AC=1.282e+00 +PROJ: Dim=4, Df=1.012e+00, STR=6.746e-03 +TNGL: 0 (cyc=4) +EUCL: IN=3.521e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.760e-04 +EUCL: BD=2.482e-05, NB=3.130e-06, RS=5.513e-01, SC=6.946e-01, AC=1.924e+00 +CYCLE: 9 (59%, 32 secs) +HAND: (secstr) Good:Bad=1:3 (5:35) +DIST: BD=1.934e-01, NB=7.644e-04, RS=7.524e-01, SC=4.443e+00, AC=8.141e-01 +PROJ: Dim=3, Df=1.018e+00, STR=7.044e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=9.495e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.522e+00 ALL=7.579e-04 +** BEST: BD=3.189e-04, NB=2.188e-04, RS=4.364e-01, SC=4.296e+00, AC=9.128e-01 +CYCLE: 10 (60%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.246e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.283e+00 ALL=6.800e-04 +EUCL: BD=4.542e-04, NB=2.327e-04, RS=6.683e-01, SC=3.221e+00, AC=8.423e-01 +CYCLE: 11 (61%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.118e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.052e+00 ALL=6.975e-04 +EUCL: BD=5.805e-04, NB=2.366e-04, RS=7.367e-01, SC=2.655e+00, AC=8.026e-01 +CYCLE: 12 (62%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.330e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=6.733e-01 ALL=6.057e-04 +EUCL: BD=2.855e-04, NB=3.606e-04, RS=8.664e-01, SC=2.084e+00, AC=9.410e-01 +CYCLE: 13 (62%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.950e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=5.761e-01 ALL=3.756e-04 +EUCL: BD=1.969e-03, NB=2.932e-04, RS=7.826e-01, SC=1.459e+00, AC=9.077e-01 +CYCLE: 14 (63%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.821e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=4.831e-01 ALL=2.480e-04 +EUCL: BD=1.761e-03, NB=2.318e-04, RS=7.756e-01, SC=1.334e+00, AC=9.590e-01 +CYCLE: 15 (64%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=2.108e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=4.643e-01 ALL=2.247e-04 +EUCL: BD=3.451e-04, NB=2.005e-04, RS=7.197e-01, SC=1.252e+00, AC=9.513e-01 +CYCLE: 16 (65%, 38 secs) +HAND: (secstr) Good:Bad=1:3 (3:37) +DIST: BD=2.600e-02, NB=8.824e-05, RS=3.709e-01, SC=2.618e+00, AC=8.115e-01 +PROJ: Dim=3, Df=9.984e-01, STR=8.472e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=6.888e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.218e+00 ALL=5.250e-04 +EUCL: BD=1.166e-03, NB=1.497e-04, RS=3.586e-01, SC=2.786e+00, AC=7.269e-01 +CYCLE: 17 (66%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.241e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.214e+00 ALL=5.205e-04 +EUCL: BD=4.916e-04, NB=1.007e-04, RS=3.578e-01, SC=2.755e+00, AC=6.679e-01 +CYCLE: 18 (66%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.650e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.129e+00 ALL=4.764e-04 +EUCL: BD=3.616e-04, NB=2.485e-04, RS=5.066e-01, SC=2.594e+00, AC=7.962e-01 +CYCLE: 19 (67%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.294e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.621e+00 ALL=4.257e-04 +EUCL: BD=7.727e-04, NB=2.326e-04, RS=5.419e-01, SC=2.534e+00, AC=9.192e-01 +CYCLE: 20 (68%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.298e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=7.677e-01 ALL=4.700e-04 +EUCL: BD=4.129e-03, NB=3.860e-04, RS=4.663e-01, SC=1.745e+00, AC=1.186e+00 +CYCLE: 21 (69%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.941e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=8.229e-01 ALL=4.443e-04 +EUCL: BD=5.800e-04, NB=1.954e-04, RS=4.221e-01, SC=1.959e+00, AC=9.333e-01 +CYCLE: 22 (70%, 42 secs) +HAND: (secstr) Good:Bad=1:3 (3:37) +DIST: BD=2.784e-02, NB=7.319e-05, RS=3.849e-01, SC=2.575e+00, AC=7.731e-01 +PROJ: Dim=3, Df=9.990e-01, STR=8.422e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=6.366e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.252e+00 ALL=5.226e-04 +EUCL: BD=6.557e-04, NB=1.399e-04, RS=4.626e-01, SC=2.995e+00, AC=7.987e-01 +EXIT: no further improvement on 3D reprojection +TIME: 44 secs +END: BD=3.189e-04, NB=2.188e-04, RS=4.364e-01, SC=4.296e+00, AC=9.128e-01, Itno:22=9+13 +SAVE: models/example_22.pdb +VIOLS: models/example_22.viol + +Run 22 finished: Wed 17-Jun-1998 14:45:27 + +RUN 23 STARTED: Wed 17-Jun-1998 14:45:27 +# Randseed=898087527 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-1.090e-01 +DIST: BD=7.115e-01, NB=5.386e-05, RS=6.267e-01, SC=9.251e+00, AC=2.910e+00 +PROJ: Dim=29, Df=8.057e-01, STR=6.703e-02 +TNGL: 0 (cyc=2) +EUCL: IN=1.134e-04 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=7.264e-05 +EUCL: BD=4.739e-05, NB=0.000e+00, RS=1.577e-01, SC=1.051e+00, AC=2.777e+00 +CYCLE: 2 (40%, 6 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=5.224e-03, NB=0.000e+00, RS=3.289e-01, SC=1.776e+00, AC=2.828e+00 +PROJ: Dim=27, Df=9.847e-01, STR=8.401e-04 +TNGL: 0 (cyc=1) +EUCL: IN=8.572e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=2.958e-05 +EUCL: BD=1.319e-05, NB=0.000e+00, RS=1.636e-01, SC=6.847e-01, AC=2.463e+00 +CYCLE: 3 (41%, 12 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=8.137e-03, NB=0.000e+00, RS=3.894e-01, SC=1.591e+00, AC=2.781e+00 +PROJ: Dim=18, Df=9.452e-01, STR=4.493e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.664e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.529e-05 +EUCL: BD=4.260e-05, NB=1.210e-05, RS=2.984e-01, SC=5.391e-01, AC=2.468e+00 +CYCLE: 4 (48%, 17 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.204e-02, NB=0.000e+00, RS=4.299e-01, SC=1.333e+00, AC=2.768e+00 +PROJ: Dim=17, Df=9.982e-01, STR=5.711e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=6.454e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 5 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.608e-05 +EUCL: BD=5.449e-05, NB=0.000e+00, RS=1.132e-01, SC=4.963e-01, AC=2.433e+00 +CYCLE: 5 (49%, 21 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.079e-02, NB=1.351e-05, RS=6.532e-01, SC=1.685e+00, AC=2.686e+00 +PROJ: Dim=16, Df=9.994e-01, STR=9.140e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=4.258e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=9.650e-06 +EUCL: BD=1.784e-05, NB=0.000e+00, RS=2.666e-01, SC=3.727e-01, AC=2.347e+00 +CYCLE: 6 (50%, 26 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=9.690e-02, NB=5.699e-05, RS=6.315e-01, SC=2.552e+00, AC=2.729e+00 +PROJ: Dim=15, Df=9.991e-01, STR=2.023e-03 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.472e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=6.791e-06 +EUCL: BD=2.390e-05, NB=0.000e+00, RS=5.302e-01, SC=2.298e-01, AC=2.378e+00 +CYCLE: 7 (51%, 29 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.575e-02, NB=0.000e+00, RS=9.711e-01, SC=1.700e+00, AC=2.713e+00 +PROJ: Dim=14, Df=9.993e-01, STR=8.582e-04 +TNGL: 0 (cyc=4) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.410e-04 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=5.992e-05 +EUCL: BD=4.315e-05, NB=1.323e-07, RS=3.951e-01, SC=1.096e+00, AC=2.545e+00 +CYCLE: 8 (51%, 32 secs) +DIST: BD=2.623e-02, NB=0.000e+00, RS=6.331e-01, SC=1.447e+00, AC=2.433e+00 +PROJ: Dim=9, Df=1.002e+00, STR=7.817e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.505e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.521e-05 +EUCL: BD=4.755e-05, NB=0.000e+00, RS=5.674e-01, SC=3.136e-01, AC=2.374e+00 +CYCLE: 9 (55%, 34 secs) +DIST: BD=1.348e-02, NB=4.117e-07, RS=6.744e-01, SC=8.655e-01, AC=2.318e+00 +PROJ: Dim=8, Df=1.001e+00, STR=4.190e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.138e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.618e-05 +EUCL: BD=5.645e-05, NB=0.000e+00, RS=2.942e-01, SC=3.499e-01, AC=2.341e+00 +CYCLE: 10 (56%, 36 secs) +DIST: BD=3.277e-02, NB=6.639e-06, RS=6.213e-01, SC=1.625e+00, AC=1.556e+00 +PROJ: Dim=5, Df=1.010e+00, STR=1.946e-03 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=1.482e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.715e-05 +EUCL: BD=3.433e-04, NB=0.000e+00, RS=4.374e-01, SC=4.662e-01, AC=1.844e+00 +CYCLE: 11 (59%, 38 secs) +DIST: BD=4.257e-02, NB=1.934e-04, RS=4.876e-01, SC=2.076e+00, AC=1.355e+00 +PROJ: Dim=4, Df=1.009e+00, STR=2.420e-03 +TNGL: 0 (cyc=2) +EUCL: IN=3.060e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=4.137e-05 +EUCL: BD=2.308e-05, NB=0.000e+00, RS=2.411e-01, SC=3.932e-01, AC=1.446e+00 +CYCLE: 12 (59%, 39 secs) + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +HAND: (secstr) Good:Bad=3:1 (22:18) +DIST: BD=5.938e-01, NB=3.795e-04, RS=3.328e-01, SC=5.531e+00, AC=9.667e-01 +PROJ: Dim=3, Df=1.028e+00, STR=1.332e-03 +TNGL: 0 (cyc=0) +EUCL: IN=1.204e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.894e+00 ALL=1.759e-03 +** BEST: BD=1.111e-03, NB=1.222e-04, RS=6.357e-01, SC=5.611e+00, AC=1.091e+00 +CYCLE: 13 (60%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.118e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.573e+00 ALL=1.110e-03 +EUCL: BD=5.297e-05, NB=1.092e-04, RS=6.947e-01, SC=4.468e+00, AC=1.082e+00 +CYCLE: 14 (61%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.222e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.544e+00 ALL=9.132e-04 +EUCL: BD=4.469e-05, NB=1.687e-04, RS=6.319e-01, SC=4.314e+00, AC=1.104e+00 +CYCLE: 15 (62%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.114e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.567e+00 ALL=1.131e-03 +EUCL: BD=2.581e-04, NB=1.312e-04, RS=1.194e+00, SC=4.346e+00, AC=1.160e+00 +CYCLE: 16 (62%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.198e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.586e+00 ALL=6.090e-04 +EUCL: BD=3.031e-04, NB=1.717e-04, RS=9.035e-01, SC=3.608e+00, AC=1.000e+00 +CYCLE: 17 (63%, 44 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.186e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.649e+00 ALL=6.247e-04 +EUCL: BD=4.952e-05, NB=5.905e-06, RS=9.391e-01, SC=3.565e+00, AC=1.068e+00 +CYCLE: 18 (64%, 44 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.226e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.628e+00 ALL=6.142e-04 +EUCL: BD=2.092e-04, NB=7.155e-06, RS=9.118e-01, SC=3.659e+00, AC=1.172e+00 +CYCLE: 19 (65%, 45 secs) +HAND: (secstr) Good:Bad=3:1 (24:16) +DIST: BD=3.929e-02, NB=9.159e-05, RS=6.320e-01, SC=3.242e+00, AC=1.137e+00 +PROJ: Dim=3, Df=9.996e-01, STR=1.782e-03 +TNGL: 0 (cyc=0) +EUCL: IN=1.311e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.670e+00 ALL=1.054e-03 +** BEST: BD=7.254e-06, NB=1.209e-04, RS=5.820e-01, SC=4.750e+00, AC=1.013e+00 +CYCLE: 20 (65%, 46 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.129e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.510e+00 ALL=2.294e-03 +EUCL: BD=6.883e-05, NB=1.679e-04, RS=7.416e-01, SC=4.676e+00, AC=1.085e+00 +CYCLE: 21 (66%, 47 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.677e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.561e+00 ALL=9.837e-04 +EUCL: BD=4.181e-04, NB=1.796e-04, RS=8.041e-01, SC=4.309e+00, AC=1.137e+00 +CYCLE: 22 (66%, 48 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.619e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.584e+00 ALL=7.335e-04 +EUCL: BD=2.275e-04, NB=1.816e-04, RS=6.856e-01, SC=4.229e+00, AC=1.047e+00 +CYCLE: 23 (67%, 49 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.624e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.573e+00 ALL=8.113e-04 +EUCL: BD=3.710e-04, NB=1.706e-04, RS=7.885e-01, SC=4.071e+00, AC=1.108e+00 +CYCLE: 24 (68%, 49 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.558e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.553e+00 ALL=7.454e-04 +EUCL: BD=6.634e-04, NB=5.493e-05, RS=7.861e-01, SC=4.176e+00, AC=1.104e+00 +CYCLE: 25 (69%, 50 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.570e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.522e+00 ALL=6.970e-04 +EUCL: BD=2.924e-04, NB=6.383e-05, RS=7.990e-01, SC=4.070e+00, AC=1.178e+00 +CYCLE: 26 (70%, 51 secs) +HAND: (secstr) Good:Bad=3:1 (24:16) +DIST: BD=1.221e-02, NB=1.252e-04, RS=6.298e-01, SC=2.734e+00, AC=1.121e+00 +PROJ: Dim=3, Df=9.996e-01, STR=9.532e-04 +TNGL: 0 (cyc=0) +EUCL: IN=1.132e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.532e+00 ALL=1.103e-03 +EUCL: BD=1.735e-05, NB=1.673e-04, RS=6.730e-01, SC=4.347e+00, AC=1.138e+00 +CYCLE: 27 (70%, 52 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.094e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.534e+00 ALL=9.118e-04 +EUCL: BD=2.129e-04, NB=1.962e-04, RS=9.265e-01, SC=4.245e+00, AC=1.010e+00 +CYCLE: 28 (71%, 53 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.239e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.616e+00 ALL=9.260e-04 +EUCL: BD=7.566e-04, NB=1.650e-04, RS=8.161e-01, SC=4.149e+00, AC=1.037e+00 +CYCLE: 29 (72%, 54 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.229e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.610e+00 ALL=8.124e-04 +EUCL: BD=3.762e-04, NB=7.447e-05, RS=8.311e-01, SC=3.981e+00, AC=1.001e+00 +CYCLE: 30 (73%, 54 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.260e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.587e+00 ALL=5.619e-04 +EUCL: BD=4.078e-05, NB=8.623e-05, RS=8.359e-01, SC=3.713e+00, AC=1.065e+00 +CYCLE: 31 (74%, 55 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.818e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.530e+00 ALL=4.812e-04 +EUCL: BD=2.693e-04, NB=1.243e-04, RS=6.903e-01, SC=2.910e+00, AC=1.096e+00 +CYCLE: 32 (74%, 56 secs) +HAND: (secstr) Good:Bad=3:1 (24:16) +DIST: BD=2.270e-02, NB=1.216e-04, RS=5.844e-01, SC=2.756e+00, AC=1.205e+00 +PROJ: Dim=3, Df=9.995e-01, STR=9.210e-04 +TNGL: 0 (cyc=0) +EUCL: IN=1.517e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.604e+00 ALL=9.173e-04 +EUCL: BD=2.412e-05, NB=7.349e-05, RS=6.583e-01, SC=4.476e+00, AC=1.044e+00 +EXIT: no further improvement on 3D reprojection +TIME: 57 secs +END: BD=7.254e-06, NB=1.209e-04, RS=5.820e-01, SC=4.750e+00, AC=1.013e+00, Itno:32=13+19 +SAVE: models/example_23.pdb +VIOLS: models/example_23.viol + +Run 23 finished: Wed 17-Jun-1998 14:46:25 + +RUN 24 STARTED: Wed 17-Jun-1998 14:46:25 +# Randseed=898087585 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-1.133e+01 +? centre_dist(): Cdist2[17]=-6.513e+00 +DIST: BD=6.566e-01, NB=0.000e+00, RS=6.493e-01, SC=9.317e+00, AC=2.974e+00 +PROJ: Dim=31, Df=8.134e-01, STR=7.113e-02 +TNGL: 0 (cyc=3) +EUCL: IN=2.383e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.465e-04 +EUCL: BD=4.040e-06, NB=0.000e+00, RS=2.143e-01, SC=2.216e+00, AC=2.717e+00 +CYCLE: 2 (38%, 5 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.697e-02, NB=0.000e+00, RS=7.194e-01, SC=2.407e+00, AC=2.682e+00 +PROJ: Dim=30, Df=9.838e-01, STR=1.084e-03 +TNGL: 0 (cyc=2) +EUCL: IN=4.926e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=2.294e-05 +EUCL: BD=1.393e-05, NB=0.000e+00, RS=5.604e-01, SC=5.342e-01, AC=2.383e+00 +CYCLE: 3 (39%, 14 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.629e-03, NB=0.000e+00, RS=5.711e-01, SC=9.804e-01, AC=2.665e+00 +PROJ: Dim=19, Df=9.720e-01, STR=2.121e-04 +TNGL: 0 (cyc=2) +EUCL: IN=1.624e-04 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + ALL=2.644e-05 +EUCL: BD=2.016e-05, NB=0.000e+00, RS=5.643e-01, SC=7.160e-01, AC=2.540e+00 +CYCLE: 4 (48%, 19 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.927e-02, NB=3.049e-05, RS=8.834e-01, SC=2.709e+00, AC=2.674e+00 +PROJ: Dim=12, Df=9.045e-01, STR=1.641e-03 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=5.553e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.504e-05 +EUCL: BD=1.763e-05, NB=3.539e-06, RS=2.820e-01, SC=8.224e-01, AC=2.527e+00 +CYCLE: 5 (53%, 22 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.833e-02, NB=0.000e+00, RS=7.343e-01, SC=2.094e+00, AC=2.726e+00 +PROJ: Dim=11, Df=9.989e-01, STR=9.963e-04 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=6.153e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.757e-05 +EUCL: BD=3.348e-05, NB=0.000e+00, RS=2.695e-01, SC=4.960e-01, AC=2.428e+00 +CYCLE: 6 (54%, 25 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=9.465e-03, NB=0.000e+00, RS=4.661e-01, SC=6.798e-01, AC=2.501e+00 +PROJ: Dim=10, Df=9.926e-01, STR=2.339e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.119e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.997e-05 +EUCL: BD=3.752e-05, NB=4.989e-06, RS=4.559e-01, SC=5.523e-01, AC=2.322e+00 +CYCLE: 7 (55%, 28 secs) +DIST: BD=1.384e-02, NB=0.000e+00, RS=5.061e-01, SC=9.445e-01, AC=2.095e+00 +PROJ: Dim=6, Df=1.009e+00, STR=7.361e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.688e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.297e-04 +EUCL: BD=2.114e-05, NB=6.220e-06, RS=5.528e-01, SC=8.377e-01, AC=2.035e+00 +CYCLE: 8 (58%, 30 secs) +DIST: BD=1.292e-02, NB=5.974e-05, RS=5.596e-01, SC=8.682e-01, AC=1.782e+00 +PROJ: Dim=5, Df=1.006e+00, STR=6.521e-04 +TNGL: 0 (cyc=2) +EUCL: IN=3.866e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=5.467e-05 +EUCL: BD=3.833e-05, NB=8.257e-06, RS=3.816e-01, SC=7.099e-01, AC=2.019e+00 +CYCLE: 9 (59%, 31 secs) +HAND: (secstr) Good:Bad=2:2 (13:27) +DIST: BD=1.614e-01, NB=1.026e-03, RS=1.077e+00, SC=4.542e+00, AC=1.044e+00 +PROJ: Dim=3, Df=1.029e+00, STR=7.690e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=4.614e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.200e+00 ALL=1.951e-03 +** BEST: BD=1.582e-04, NB=3.307e-04, RS=1.346e+00, SC=3.795e+00, AC=1.091e+00 +CYCLE: 10 (60%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.211e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.875e+00 ALL=1.126e-03 +EUCL: BD=3.035e-04, NB=1.876e-04, RS=7.071e-01, SC=3.109e+00, AC=9.833e-01 +CYCLE: 11 (61%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.048e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.980e+00 ALL=9.438e-04 +EUCL: BD=4.342e-04, NB=2.025e-04, RS=7.171e-01, SC=3.007e+00, AC=1.135e+00 +CYCLE: 12 (62%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.563e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.930e+00 ALL=9.302e-04 +EUCL: BD=5.471e-04, NB=1.825e-04, RS=5.752e-01, SC=2.785e+00, AC=8.590e-01 +CYCLE: 13 (62%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.653e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.930e+00 ALL=7.590e-04 +EUCL: BD=3.293e-04, NB=1.104e-04, RS=5.182e-01, SC=2.594e+00, AC=8.205e-01 +CYCLE: 14 (63%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.947e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.936e+00 ALL=6.155e-04 +EUCL: BD=2.186e-04, NB=7.128e-05, RS=5.307e-01, SC=2.680e+00, AC=7.179e-01 +CYCLE: 15 (64%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.200e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.898e+00 ALL=6.772e-04 +** BEST: BD=7.045e-05, NB=7.514e-05, RS=5.016e-01, SC=2.447e+00, AC=7.462e-01 +CYCLE: 16 (64%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.617e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.972e+00 ALL=7.858e-04 +EUCL: BD=3.704e-04, NB=4.878e-05, RS=5.100e-01, SC=2.249e+00, AC=7.615e-01 +CYCLE: 17 (65%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.895e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.917e+00 ALL=6.671e-04 +EUCL: BD=2.968e-04, NB=8.093e-05, RS=4.731e-01, SC=2.319e+00, AC=9.115e-01 +CYCLE: 18 (66%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=4.278e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.893e+00 ALL=7.597e-04 +EUCL: BD=9.239e-04, NB=5.852e-05, RS=4.835e-01, SC=2.260e+00, AC=9.372e-01 +CYCLE: 19 (66%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.906e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.903e+00 ALL=5.655e-04 +EUCL: BD=2.952e-04, NB=6.513e-05, RS=4.663e-01, SC=2.043e+00, AC=1.050e+00 +CYCLE: 20 (67%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=5.150e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.819e+00 ALL=9.588e-04 +EUCL: BD=4.865e-05, NB=8.172e-05, RS=5.885e-01, SC=2.633e+00, AC=8.244e-01 +CYCLE: 21 (68%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.921e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.912e+00 ALL=7.404e-04 +EUCL: BD=4.138e-04, NB=6.829e-05, RS=5.865e-01, SC=2.200e+00, AC=8.756e-01 +CYCLE: 22 (69%, 42 secs) +HAND: (secstr) Good:Bad=2:2 (15:25) +DIST: BD=1.374e-02, NB=7.795e-05, RS=4.594e-01, SC=1.502e+00, AC=7.436e-01 +PROJ: Dim=3, Df=9.992e-01, STR=5.389e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=3.399e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.965e+00 ALL=6.180e-04 +EUCL: BD=4.555e-04, NB=3.970e-05, RS=4.037e-01, SC=1.997e+00, AC=7.103e-01 +CYCLE: 23 (70%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.985e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.994e+00 ALL=5.814e-04 +EUCL: BD=7.688e-04, NB=4.222e-05, RS=3.613e-01, SC=1.907e+00, AC=7.346e-01 +CYCLE: 24 (70%, 44 secs) +TNGL: 0 (cyc=0) +EUCL: IN=4.239e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.929e+00 ALL=5.195e-04 +EUCL: BD=1.491e-04, NB=4.211e-05, RS=3.725e-01, SC=2.183e+00, AC=8.846e-01 +CYCLE: 25 (71%, 45 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.740e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.940e+00 ALL=7.128e-04 +EUCL: BD=3.933e-05, NB=1.040e-04, RS=3.702e-01, SC=1.692e+00, AC=7.346e-01 +CYCLE: 26 (72%, 46 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.802e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.918e+00 ALL=5.234e-04 +EUCL: BD=9.932e-05, NB=1.783e-04, RS=4.758e-01, SC=2.104e+00, AC=8.103e-01 +CYCLE: 27 (73%, 47 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.390e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.932e+00 ALL=4.533e-04 +** BEST: BD=3.112e-05, NB=8.098e-05, RS=4.893e-01, SC=1.890e+00, AC=7.526e-01 +CYCLE: 28 (73%, 48 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.849e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.890e+00 ALL=5.313e-04 +EUCL: BD=1.925e-04, NB=9.573e-05, RS=5.121e-01, SC=1.936e+00, AC=9.295e-01 +CYCLE: 29 (74%, 48 secs) +TNGL: 0 (cyc=0) +EUCL: IN=4.502e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.902e+00 ALL=5.782e-04 +EUCL: BD=2.797e-05, NB=1.173e-04, RS=5.203e-01, SC=2.520e+00, AC=8.513e-01 +CYCLE: 30 (74%, 49 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.844e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.937e+00 ALL=4.688e-04 +EUCL: BD=3.633e-05, NB=7.586e-05, RS=5.655e-01, SC=2.167e+00, AC=7.577e-01 +CYCLE: 31 (75%, 50 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.212e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.998e+00 ALL=6.651e-04 +EUCL: BD=5.609e-05, NB=6.492e-05, RS=5.279e-01, SC=2.163e+00, AC=8.436e-01 +CYCLE: 32 (76%, 51 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.867e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.927e+00 ALL=5.698e-04 +EUCL: BD=1.505e-05, NB=6.154e-05, RS=5.492e-01, SC=2.049e+00, AC=7.654e-01 +CYCLE: 33 (77%, 52 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.186e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.924e+00 ALL=5.510e-04 +EUCL: BD=4.803e-05, NB=2.011e-04, RS=5.487e-01, SC=1.950e+00, AC=7.051e-01 +CYCLE: 34 (77%, 53 secs) +HAND: (secstr) Good:Bad=2:2 (15:25) +DIST: BD=1.506e-02, NB=2.597e-05, RS=4.911e-01, SC=1.516e+00, AC=6.821e-01 +PROJ: Dim=3, Df=9.987e-01, STR=5.583e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=3.305e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.955e+00 ALL=4.213e-04 +EUCL: BD=1.250e-04, NB=1.020e-04, RS=4.315e-01, SC=1.309e+00, AC=8.936e-01 +CYCLE: 35 (78%, 54 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.417e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.932e+00 ALL=4.363e-04 +EUCL: BD=1.053e-04, NB=1.030e-04, RS=4.587e-01, SC=2.000e+00, AC=8.603e-01 +CYCLE: 36 (79%, 55 secs) +TNGL: 0 (cyc=0) +EUCL: IN=4.107e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.934e+00 ALL=4.480e-04 +EUCL: BD=1.844e-05, NB=1.658e-04, RS=4.355e-01, SC=1.936e+00, AC=1.006e+00 +CYCLE: 37 (80%, 56 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.446e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.858e+00 ALL=4.315e-04 +EUCL: BD=7.354e-05, NB=3.028e-05, RS=5.428e-01, SC=2.274e+00, AC=9.833e-01 +CYCLE: 38 (81%, 57 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.247e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.933e+00 ALL=4.921e-04 +EUCL: BD=5.321e-05, NB=4.468e-05, RS=6.220e-01, SC=2.301e+00, AC=9.705e-01 +CYCLE: 39 (81%, 58 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.259e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.908e+00 ALL=4.770e-04 +EUCL: BD=1.013e-04, NB=2.646e-04, RS=5.444e-01, SC=1.899e+00, AC=9.397e-01 +CYCLE: 40 (82%, 59 secs) +HAND: (secstr) Good:Bad=2:2 (15:25) +DIST: BD=1.896e-02, NB=2.500e-05, RS=4.850e-01, SC=1.531e+00, AC=8.679e-01 +PROJ: Dim=3, Df=9.981e-01, STR=5.504e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=3.390e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.981e+00 ALL=4.807e-04 +EUCL: BD=1.062e-04, NB=1.099e-04, RS=4.072e-01, SC=2.016e+00, AC=8.474e-01 +EXIT: no further improvement on 3D reprojection +TIME: 1 min +END: BD=3.112e-05, NB=8.098e-05, RS=4.893e-01, SC=1.890e+00, AC=7.526e-01, Itno:40=11+29 +SAVE: models/example_24.pdb +VIOLS: models/example_24.viol + +Run 24 finished: Wed 17-Jun-1998 14:47:26 + +RUN 25 STARTED: Wed 17-Jun-1998 14:47:26 +# Randseed=898087646 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-9.031e+00 +? centre_dist(): Cdist2[69]=-1.239e+00 +? centre_dist(): Cdist2[69]=-1.241e+00 +? centre_dist(): Cdist2[69]=-7.774e-01 +? centre_dist(): Cdist2[17]=-2.218e-01 +DIST: BD=9.282e-01, NB=7.735e-06, RS=7.685e-01, SC=1.110e+01, AC=2.936e+00 +PROJ: Dim=32, Df=8.283e-01, STR=7.188e-02 +TNGL: 0 (cyc=1) +EUCL: IN=4.979e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=2.964e-05 +EUCL: BD=1.193e-05, NB=0.000e+00, RS=3.021e-01, SC=4.335e-01, AC=2.597e+00 +CYCLE: 2 (37%, 7 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +DIST: BD=1.265e+01, NB=4.774e-04, RS=9.685e-01, SC=8.088e+00, AC=2.550e+00 +PROJ: Dim=24, Df=9.889e-01, STR=1.437e-04 +TNGL: 0 (cyc=4) +EUCL: IN=3.837e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.786e-04 +EUCL: BD=9.557e-05, NB=1.172e-05, RS=2.309e-01, SC=2.141e+00, AC=2.640e+00 +CYCLE: 3 (44%, 14 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=5.301e-03, NB=0.000e+00, RS=1.403e-01, SC=2.057e+00, AC=2.797e+00 +PROJ: Dim=23, Df=9.986e-01, STR=4.503e-04 +TNGL: 0 (cyc=4) +EUCL: IN=5.283e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 6 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.578e-04 +EUCL: BD=2.357e-05, NB=4.226e-05, RS=4.909e-01, SC=1.814e+00, AC=2.554e+00 +CYCLE: 4 (44%, 18 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.816e-02, NB=3.841e-06, RS=8.029e-01, SC=3.597e+00, AC=2.876e+00 +PROJ: Dim=15, Df=9.980e-01, STR=1.785e-03 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=5.989e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.588e-05 +EUCL: BD=2.749e-05, NB=0.000e+00, RS=3.547e-01, SC=7.470e-01, AC=2.373e+00 +CYCLE: 5 (51%, 22 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.149e-02, NB=0.000e+00, RS=5.705e-01, SC=1.681e+00, AC=2.704e+00 +PROJ: Dim=14, Df=9.970e-01, STR=9.558e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=4.432e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.122e-05 +EUCL: BD=4.173e-05, NB=0.000e+00, RS=3.504e-01, SC=5.335e-01, AC=2.447e+00 +CYCLE: 6 (51%, 26 secs) +DIST: BD=9.176e-03, NB=0.000e+00, RS=4.182e-01, SC=6.494e-01, AC=2.409e+00 +PROJ: Dim=9, Df=1.001e+00, STR=2.345e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.408e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.117e-05 +EUCL: BD=1.237e-05, NB=0.000e+00, RS=4.100e-01, SC=5.468e-01, AC=2.387e+00 +CYCLE: 7 (55%, 28 secs) +DIST: BD=4.033e-02, NB=0.000e+00, RS=7.284e-01, SC=2.138e+00, AC=1.924e+00 +PROJ: Dim=6, Df=1.006e+00, STR=1.924e-03 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=5.134e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=8.743e-05 +EUCL: BD=1.895e-05, NB=9.132e-06, RS=1.443e-01, SC=9.083e-01, AC=2.228e+00 +CYCLE: 8 (58%, 30 secs) +DIST: BD=5.706e-02, NB=9.017e-05, RS=2.491e-01, SC=2.746e+00, AC=1.849e+00 +PROJ: Dim=5, Df=1.007e+00, STR=2.320e-03 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=4.201e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=4.752e-05 +EUCL: BD=2.227e-05, NB=1.422e-05, RS=2.899e-01, SC=5.474e-01, AC=2.014e+00 +CYCLE: 9 (59%, 31 secs) +DIST: BD=6.496e-02, NB=2.396e-04, RS=5.621e-01, SC=3.767e+00, AC=1.376e+00 +PROJ: Dim=4, Df=1.009e+00, STR=3.709e-03 +TNGL: 0 (cyc=2) +EUCL: IN=3.402e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.118e-04 +EUCL: BD=8.396e-05, NB=9.529e-05, RS=4.288e-01, SC=8.440e-01, AC=1.626e+00 +CYCLE: 10 (59%, 33 secs) +HAND: (secstr) Good:Bad=3:1 (30:10) +DIST: BD=1.730e-01, NB=1.667e-03, RS=7.907e-01, SC=6.382e+00, AC=9.462e-01 +PROJ: Dim=3, Df=1.015e+00, STR=9.115e-03 +TNGL: 0 (cyc=0) +EUCL: IN=1.988e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.801e+00 ALL=1.428e-03 +** BEST: BD=2.104e-03, NB=3.356e-04, RS=8.641e-01, SC=5.806e+00, AC=1.212e+00 +CYCLE: 11 (60%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.822e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.557e+00 ALL=8.919e-04 +** BEST: BD=8.249e-04, NB=2.816e-04, RS=6.111e-01, SC=5.118e+00, AC=8.821e-01 +CYCLE: 12 (60%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.671e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.505e+00 ALL=8.725e-04 +EUCL: BD=5.631e-04, NB=2.628e-04, RS=7.843e-01, SC=4.904e+00, AC=1.036e+00 +CYCLE: 13 (61%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.736e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.498e+00 ALL=1.065e-03 +EUCL: BD=2.929e-04, NB=2.076e-04, RS=5.762e-01, SC=4.905e+00, AC=1.092e+00 +CYCLE: 14 (62%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.679e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.524e+00 ALL=9.589e-04 +EUCL: BD=7.887e-05, NB=1.827e-04, RS=6.262e-01, SC=4.521e+00, AC=9.500e-01 +CYCLE: 15 (62%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.708e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.411e+00 ALL=8.536e-04 +EUCL: BD=1.495e-04, NB=6.575e-05, RS=6.796e-01, SC=4.387e+00, AC=1.032e+00 +CYCLE: 16 (63%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.730e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.348e+00 ALL=8.479e-04 +EUCL: BD=1.491e-04, NB=7.702e-05, RS=7.899e-01, SC=4.413e+00, AC=1.053e+00 +CYCLE: 17 (64%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.407e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.288e+00 ALL=7.212e-04 +EUCL: BD=4.326e-05, NB=7.954e-05, RS=9.030e-01, SC=3.657e+00, AC=9.321e-01 +CYCLE: 18 (65%, 39 secs) +HAND: (secstr) Good:Bad=3:1 (29:11) +DIST: BD=2.713e-02, NB=4.972e-05, RS=6.026e-01, SC=3.397e+00, AC=8.551e-01 +PROJ: Dim=3, Df=9.991e-01, STR=9.194e-04 +TNGL: 0 (cyc=0) +EUCL: IN=1.801e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.488e+00 ALL=6.968e-04 +EUCL: BD=7.083e-04, NB=1.203e-04, RS=7.020e-01, SC=4.824e+00, AC=1.126e+00 +CYCLE: 19 (66%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.651e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.422e+00 ALL=7.829e-04 +EUCL: BD=1.864e-04, NB=7.309e-05, RS=7.703e-01, SC=4.458e+00, AC=9.641e-01 +CYCLE: 20 (66%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.742e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.455e+00 ALL=9.481e-04 +EUCL: BD=8.136e-05, NB=8.009e-05, RS=7.113e-01, SC=4.560e+00, AC=1.042e+00 +CYCLE: 21 (67%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.368e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.345e+00 ALL=8.438e-04 +EUCL: BD=2.724e-04, NB=1.097e-04, RS=7.711e-01, SC=4.303e+00, AC=9.462e-01 +CYCLE: 22 (68%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.402e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.296e+00 ALL=7.309e-04 +EUCL: BD=2.453e-04, NB=9.557e-05, RS=8.092e-01, SC=4.142e+00, AC=9.372e-01 +CYCLE: 23 (69%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.437e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.305e+00 ALL=7.128e-04 +EUCL: BD=8.716e-05, NB=1.099e-04, RS=8.058e-01, SC=4.157e+00, AC=9.974e-01 +CYCLE: 24 (70%, 44 secs) +HAND: (secstr) Good:Bad=3:1 (29:11) +DIST: BD=2.983e-02, NB=5.969e-05, RS=6.122e-01, SC=3.397e+00, AC=8.372e-01 +PROJ: Dim=3, Df=9.986e-01, STR=9.744e-04 +TNGL: 0 (cyc=0) +EUCL: IN=1.730e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.622e+00 ALL=8.716e-04 +** BEST: BD=6.811e-04, NB=1.673e-04, RS=4.679e-01, SC=4.884e+00, AC=1.044e+00 +CYCLE: 25 (70%, 45 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.806e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.577e+00 ALL=1.013e-03 +EUCL: BD=2.668e-04, NB=1.209e-04, RS=5.841e-01, SC=4.629e+00, AC=9.885e-01 +CYCLE: 26 (70%, 45 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.826e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.559e+00 ALL=1.041e-03 +EUCL: BD=8.681e-05, NB=1.048e-04, RS=5.718e-01, SC=4.751e+00, AC=8.474e-01 +CYCLE: 27 (71%, 46 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.477e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.406e+00 ALL=9.019e-04 +EUCL: BD=8.413e-05, NB=9.999e-05, RS=5.871e-01, SC=4.272e+00, AC=1.031e+00 +CYCLE: 28 (72%, 47 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.372e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.353e+00 ALL=7.483e-04 +EUCL: BD=1.453e-04, NB=8.475e-05, RS=6.353e-01, SC=3.935e+00, AC=1.164e+00 +CYCLE: 29 (73%, 48 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.341e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.316e+00 ALL=7.249e-04 +EUCL: BD=1.480e-04, NB=5.564e-05, RS=6.908e-01, SC=3.744e+00, AC=1.069e+00 +CYCLE: 30 (74%, 49 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.440e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.313e+00 ALL=7.365e-04 +EUCL: BD=1.902e-04, NB=7.395e-05, RS=6.952e-01, SC=3.645e+00, AC=9.974e-01 +CYCLE: 31 (74%, 49 secs) +HAND: (secstr) Good:Bad=3:1 (28:12) +DIST: BD=1.738e-02, NB=1.007e-04, RS=4.924e-01, SC=3.264e+00, AC=8.051e-01 +PROJ: Dim=3, Df=9.986e-01, STR=7.652e-04 +TNGL: 0 (cyc=0) +EUCL: IN=1.889e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.669e+00 ALL=1.052e-03 +EUCL: BD=6.380e-04, NB=1.302e-04, RS=5.052e-01, SC=4.723e+00, AC=1.082e+00 +CYCLE: 32 (75%, 50 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.798e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.542e+00 ALL=8.670e-04 +EUCL: BD=1.362e-04, NB=1.207e-04, RS=6.202e-01, SC=4.636e+00, AC=9.462e-01 +CYCLE: 33 (76%, 51 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.508e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.442e+00 ALL=7.567e-04 +EUCL: BD=4.015e-05, NB=1.511e-04, RS=6.863e-01, SC=4.567e+00, AC=9.756e-01 +CYCLE: 34 (77%, 52 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.435e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.373e+00 ALL=7.228e-04 +EUCL: BD=2.478e-05, NB=6.676e-05, RS=7.618e-01, SC=3.971e+00, AC=1.108e+00 +CYCLE: 35 (77%, 53 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.486e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.329e+00 ALL=7.127e-04 +EUCL: BD=1.001e-04, NB=4.620e-05, RS=8.092e-01, SC=3.900e+00, AC=9.590e-01 +CYCLE: 36 (78%, 53 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.342e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.269e+00 ALL=7.709e-04 +EUCL: BD=4.074e-05, NB=7.256e-05, RS=8.931e-01, SC=3.791e+00, AC=9.282e-01 +CYCLE: 37 (79%, 54 secs) +HAND: (secstr) Good:Bad=3:1 (28:12) +DIST: BD=1.790e-02, NB=1.050e-04, RS=4.968e-01, SC=3.307e+00, AC=8.256e-01 +PROJ: Dim=3, Df=9.987e-01, STR=7.546e-04 +TNGL: 0 (cyc=0) +EUCL: IN=1.899e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.657e+00 ALL=1.071e-03 +EUCL: BD=1.845e-04, NB=7.821e-05, RS=4.832e-01, SC=4.619e+00, AC=1.065e+00 +EXIT: no further improvement on 3D reprojection +TIME: 55 secs +END: BD=6.811e-04, NB=1.673e-04, RS=4.679e-01, SC=4.884e+00, AC=1.044e+00, Itno:37=12+25 +SAVE: models/example_25.pdb +VIOLS: models/example_25.viol + +Run 25 finished: Wed 17-Jun-1998 14:48:22 + +RUN 26 STARTED: Wed 17-Jun-1998 14:48:22 +# Randseed=898087702 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-2.041e+00 +? centre_dist(): Cdist2[69]=-1.546e-01 +? centre_dist(): Cdist2[69]=-2.538e-01 +DIST: BD=1.412e+00, NB=0.000e+00, RS=7.351e-01, SC=9.192e+00, AC=2.974e+00 +PROJ: Dim=31, Df=8.025e-01, STR=6.730e-02 +TNGL: 0 (cyc=2) +EUCL: IN=4.276e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=2.289e-05 +EUCL: BD=4.919e-05, NB=0.000e+00, RS=2.273e-01, SC=3.612e-01, AC=2.568e+00 +CYCLE: 2 (38%, 6 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.707e-04, NB=0.000e+00, RS=2.770e-01, SC=9.341e-01, AC=2.619e+00 +PROJ: Dim=25, Df=9.499e-01, STR=1.357e-04 +TNGL: 0 (cyc=2) +EUCL: IN=3.760e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=4.061e-05 +EUCL: BD=1.169e-05, NB=0.000e+00, RS=2.981e-01, SC=6.965e-01, AC=2.537e+00 +CYCLE: 3 (43%, 13 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.673e-02, NB=0.000e+00, RS=4.569e-01, SC=1.218e+00, AC=2.592e+00 +PROJ: Dim=16, Df=9.770e-01, STR=5.905e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.086e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.428e-05 +EUCL: BD=1.562e-05, NB=0.000e+00, RS=5.131e-01, SC=5.627e-01, AC=2.508e+00 +CYCLE: 4 (50%, 18 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.314e-03, NB=0.000e+00, RS=5.339e-01, SC=6.744e-01, AC=2.656e+00 +PROJ: Dim=15, Df=9.793e-01, STR=1.624e-04 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.510e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.929e-05 +EUCL: BD=3.363e-05, NB=0.000e+00, RS=4.757e-01, SC=3.369e-01, AC=2.501e+00 +CYCLE: 5 (51%, 22 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=6.719e-03, NB=0.000e+00, RS=7.086e-01, SC=7.792e-01, AC=2.549e+00 +PROJ: Dim=10, Df=9.607e-01, STR=3.349e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.082e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=2.713e-05 +EUCL: BD=2.902e-05, NB=5.480e-06, RS=3.698e-01, SC=4.968e-01, AC=2.378e+00 +CYCLE: 6 (55%, 24 secs) +DIST: BD=1.389e-02, NB=0.000e+00, RS=5.017e-01, SC=7.427e-01, AC=2.373e+00 +PROJ: Dim=9, Df=1.001e+00, STR=4.098e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.577e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=9.167e-05 +EUCL: BD=2.269e-05, NB=4.351e-05, RS=4.716e-01, SC=8.034e-01, AC=2.426e+00 +CYCLE: 7 (55%, 27 secs) +DIST: BD=1.161e-02, NB=0.000e+00, RS=4.823e-01, SC=9.569e-01, AC=2.426e+00 +PROJ: Dim=8, Df=1.002e+00, STR=4.541e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.787e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.056e-05 +EUCL: BD=8.960e-06, NB=0.000e+00, RS=5.402e-01, SC=5.329e-01, AC=2.210e+00 +CYCLE: 8 (56%, 29 secs) + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +DIST: BD=7.399e-01, NB=2.552e-04, RS=3.973e-01, SC=1.935e+00, AC=1.544e+00 +PROJ: Dim=5, Df=1.014e+00, STR=1.355e-04 +TNGL: 0 (cyc=1) +EUCL: IN=4.365e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.213e-04 +EUCL: BD=7.786e-05, NB=5.197e-06, RS=6.474e-01, SC=7.672e-01, AC=1.829e+00 +CYCLE: 9 (59%, 31 secs) + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +DIST: BD=4.491e-01, NB=2.064e-06, RS=4.413e-01, SC=3.383e+00, AC=1.113e+00 +PROJ: Dim=4, Df=1.009e+00, STR=8.765e-04 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=1.405e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=1.771e-04 +EUCL: BD=4.469e-05, NB=0.000e+00, RS=4.692e-01, SC=1.104e+00, AC=1.346e+00 +CYCLE: 10 (59%, 32 secs) +HAND: (secstr) Good:Bad=2:2 (19:21) +DIST: BD=9.159e-02, NB=6.964e-05, RS=4.175e-01, SC=2.328e+00, AC=9.910e-01 +PROJ: Dim=3, Df=1.017e+00, STR=3.348e-03 , flip +TNGL: 0 (cyc=1) +EUCL: IN=1.125e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.264e+00 ALL=8.810e-04 +** BEST: BD=1.125e-04, NB=1.856e-04, RS=4.836e-01, SC=4.244e+00, AC=1.031e+00 +CYCLE: 11 (60%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.931e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.109e+00 ALL=7.671e-04 +** BEST: BD=1.049e-04, NB=1.409e-04, RS=3.523e-01, SC=3.677e+00, AC=9.295e-01 +CYCLE: 12 (60%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.081e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.095e+00 ALL=8.632e-04 +EUCL: BD=4.255e-05, NB=1.410e-04, RS=5.512e-01, SC=3.707e+00, AC=1.099e+00 +CYCLE: 13 (61%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.017e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.039e+00 ALL=1.273e-03 +EUCL: BD=7.835e-04, NB=4.715e-05, RS=3.329e-01, SC=3.370e+00, AC=1.012e+00 +CYCLE: 14 (62%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.690e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.036e+00 ALL=1.186e-03 +EUCL: BD=8.871e-04, NB=9.867e-05, RS=3.098e-01, SC=3.402e+00, AC=8.936e-01 +CYCLE: 15 (62%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.872e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.001e+00 ALL=1.036e-03 +EUCL: BD=3.619e-04, NB=9.578e-05, RS=3.197e-01, SC=3.370e+00, AC=9.974e-01 +CYCLE: 16 (63%, 37 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.026e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.041e+00 ALL=1.016e-03 +EUCL: BD=6.155e-04, NB=9.407e-05, RS=3.944e-01, SC=3.219e+00, AC=1.056e+00 +CYCLE: 17 (64%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.919e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.041e+00 ALL=9.974e-04 +EUCL: BD=1.973e-04, NB=5.039e-05, RS=2.603e-01, SC=3.250e+00, AC=1.163e+00 +CYCLE: 18 (65%, 39 secs) +HAND: (secstr) Good:Bad=2:2 (19:21) +DIST: BD=2.410e-02, NB=1.210e-04, RS=2.826e-01, SC=2.205e+00, AC=9.449e-01 +PROJ: Dim=3, Df=9.990e-01, STR=1.059e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=1.134e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.087e+00 ALL=7.465e-04 +EUCL: BD=2.580e-04, NB=1.339e-04, RS=2.865e-01, SC=3.042e+00, AC=9.577e-01 +CYCLE: 19 (66%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.017e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.088e+00 ALL=9.606e-04 +EUCL: BD=3.409e-04, NB=9.112e-05, RS=2.392e-01, SC=3.463e+00, AC=1.133e+00 +CYCLE: 20 (66%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.058e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.987e+00 ALL=9.804e-04 +EUCL: BD=3.302e-04, NB=1.118e-04, RS=3.214e-01, SC=3.477e+00, AC=1.194e+00 +CYCLE: 21 (67%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.154e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=2.992e+00 ALL=9.723e-04 +EUCL: BD=2.210e-03, NB=7.907e-05, RS=2.497e-01, SC=3.342e+00, AC=1.008e+00 +CYCLE: 22 (68%, 42 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.010e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.050e+00 ALL=7.479e-04 +EUCL: BD=4.616e-04, NB=1.180e-04, RS=2.570e-01, SC=3.064e+00, AC=1.112e+00 +CYCLE: 23 (69%, 43 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.056e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.120e+00 ALL=9.337e-04 +EUCL: BD=5.362e-04, NB=1.259e-04, RS=3.366e-01, SC=3.229e+00, AC=1.029e+00 +CYCLE: 24 (70%, 44 secs) +HAND: (secstr) Good:Bad=2:2 (19:21) +DIST: BD=2.306e-02, NB=1.274e-04, RS=3.095e-01, SC=2.181e+00, AC=9.679e-01 +PROJ: Dim=3, Df=9.992e-01, STR=7.793e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=1.058e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=3.059e+00 ALL=7.069e-04 +EUCL: BD=1.648e-04, NB=1.446e-04, RS=3.173e-01, SC=3.399e+00, AC=9.692e-01 +EXIT: no further improvement on 3D reprojection +TIME: 45 secs +END: BD=1.049e-04, NB=1.409e-04, RS=3.523e-01, SC=3.677e+00, AC=9.295e-01, Itno:24=11+13 +SAVE: models/example_26.pdb +VIOLS: models/example_26.viol + +Run 26 finished: Wed 17-Jun-1998 14:49:07 + +RUN 27 STARTED: Wed 17-Jun-1998 14:49:07 +# Randseed=898087747 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-8.029e+00 +DIST: BD=2.590e+00, NB=5.856e-05, RS=5.832e-01, SC=9.786e+00, AC=2.863e+00 +PROJ: Dim=31, Df=8.193e-01, STR=6.892e-02 +TNGL: 0 (cyc=2) +EUCL: IN=2.422e-03 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.519e-04 +EUCL: BD=4.711e-05, NB=0.000e+00, RS=1.842e-01, SC=1.535e+00, AC=2.738e+00 +CYCLE: 2 (38%, 5 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.484e-02, NB=0.000e+00, RS=4.512e-01, SC=2.365e+00, AC=2.940e+00 +PROJ: Dim=30, Df=9.982e-01, STR=1.047e-03 +TNGL: 0 (cyc=3) +EUCL: IN=5.230e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.007e-04 +EUCL: BD=1.468e-06, NB=0.000e+00, RS=2.415e-01, SC=1.562e+00, AC=2.678e+00 +CYCLE: 3 (39%, 11 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=2.498e-03, NB=0.000e+00, RS=3.756e-01, SC=1.543e+00, AC=2.671e+00 +PROJ: Dim=19, Df=9.756e-01, STR=3.023e-04 +TNGL: 0 (cyc=1) +EUCL: IN=4.720e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.932e-05 +EUCL: BD=1.964e-05, NB=0.000e+00, RS=5.127e-01, SC=3.765e-01, AC=2.494e+00 +CYCLE: 4 (48%, 17 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=5.275e-04, NB=0.000e+00, RS=3.923e-01, SC=3.608e-01, AC=2.395e+00 +PROJ: Dim=12, Df=9.745e-01, STR=6.741e-05 +TNGL: 0 (cyc=4) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=1.999e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.185e-05 +EUCL: BD=5.957e-06, NB=0.000e+00, RS=2.003e-01, SC=4.642e-01, AC=2.313e+00 +CYCLE: 5 (53%, 20 secs) +DIST: BD=3.859e-02, NB=3.921e-06, RS=5.552e-01, SC=2.066e+00, AC=2.345e+00 +PROJ: Dim=8, Df=1.002e+00, STR=1.556e-03 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.040e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=2.689e-05 +EUCL: BD=6.525e-05, NB=0.000e+00, RS=2.561e-01, SC=4.278e-01, AC=2.232e+00 +CYCLE: 6 (56%, 22 secs) +DIST: BD=2.631e-02, NB=0.000e+00, RS=4.543e-01, SC=1.402e+00, AC=2.227e+00 +PROJ: Dim=7, Df=1.002e+00, STR=1.016e-03 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=1.701e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=3.100e-05 +EUCL: BD=9.092e-05, NB=8.913e-07, RS=2.681e-01, SC=4.564e-01, AC=2.353e+00 +CYCLE: 7 (57%, 24 secs) +DIST: BD=1.151e-01, NB=4.153e-04, RS=4.093e-01, SC=3.334e+00, AC=1.446e+00 +PROJ: Dim=4, Df=1.015e+00, STR=4.475e-03 +TNGL: 0 (cyc=2) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.256e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.575e-04 +EUCL: BD=2.402e-05, NB=1.923e-06, RS=7.608e-01, SC=9.417e-01, AC=1.571e+00 +CYCLE: 8 (59%, 25 secs) +HAND: (secstr) Good:Bad=3:1 (30:10) +DIST: BD=1.081e-01, NB=5.551e-04, RS=6.343e-01, SC=3.261e+00, AC=8.269e-01 +PROJ: Dim=3, Df=1.009e+00, STR=4.625e-03 +TNGL: 0 (cyc=0) +EUCL: IN=9.993e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.414e+00 ALL=1.531e-03 +** BEST: BD=3.761e-04, NB=3.878e-05, RS=9.181e-01, SC=2.925e+00, AC=8.949e-01 +CYCLE: 9 (60%, 26 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.704e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.277e+00 ALL=1.222e-03 +EUCL: BD=1.638e-03, NB=4.523e-05, RS=8.620e-01, SC=2.196e+00, AC=9.154e-01 +CYCLE: 10 (61%, 27 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.078e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.192e+00 ALL=1.093e-03 +EUCL: BD=3.870e-03, NB=7.943e-05, RS=8.995e-01, SC=2.115e+00, AC=8.936e-01 +CYCLE: 11 (62%, 28 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.007e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.273e+00 ALL=9.785e-04 +EUCL: BD=1.248e-03, NB=1.233e-04, RS=8.318e-01, SC=1.641e+00, AC=1.074e+00 +CYCLE: 12 (62%, 29 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.530e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.246e+00 ALL=9.069e-04 +EUCL: BD=7.426e-04, NB=3.191e-04, RS=8.300e-01, SC=1.989e+00, AC=9.962e-01 +CYCLE: 13 (63%, 30 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.004e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.151e+00 ALL=6.964e-04 +EUCL: BD=4.181e-04, NB=7.788e-05, RS=6.894e-01, SC=1.679e+00, AC=1.149e+00 +CYCLE: 14 (64%, 30 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.296e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.109e+00 ALL=7.234e-04 +EUCL: BD=2.050e-04, NB=9.705e-05, RS=6.799e-01, SC=1.569e+00, AC=1.138e+00 +CYCLE: 15 (65%, 31 secs) +HAND: (secstr) Good:Bad=3:1 (30:10) +DIST: BD=2.001e-02, NB=1.785e-04, RS=8.449e-01, SC=1.764e+00, AC=8.936e-01 +PROJ: Dim=3, Df=9.999e-01, STR=1.451e-03 +TNGL: 0 (cyc=0) +EUCL: IN=1.203e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.272e+00 ALL=9.592e-04 +EUCL: BD=4.878e-04, NB=1.228e-04, RS=9.517e-01, SC=2.572e+00, AC=9.333e-01 +CYCLE: 16 (66%, 32 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.036e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.229e+00 ALL=8.014e-04 +EUCL: BD=8.621e-04, NB=1.785e-04, RS=8.198e-01, SC=1.784e+00, AC=1.014e+00 +CYCLE: 17 (66%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.244e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.260e+00 ALL=9.519e-04 +EUCL: BD=6.428e-04, NB=1.050e-04, RS=8.667e-01, SC=1.906e+00, AC=1.036e+00 +CYCLE: 18 (67%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.972e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.208e+00 ALL=9.565e-04 +EUCL: BD=5.743e-04, NB=1.129e-04, RS=8.974e-01, SC=1.771e+00, AC=9.282e-01 +CYCLE: 19 (68%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.082e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.170e+00 ALL=9.917e-04 +EUCL: BD=4.213e-04, NB=1.452e-04, RS=9.026e-01, SC=1.855e+00, AC=8.564e-01 +CYCLE: 20 (69%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.266e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.084e+00 ALL=6.065e-04 +EUCL: BD=2.537e-04, NB=5.112e-04, RS=8.892e-01, SC=2.087e+00, AC=9.462e-01 +CYCLE: 21 (70%, 37 secs) +HAND: (secstr) Good:Bad=3:1 (30:10) +DIST: BD=1.991e-02, NB=1.872e-04, RS=8.323e-01, SC=1.692e+00, AC=8.795e-01 +PROJ: Dim=3, Df=9.999e-01, STR=1.474e-03 +TNGL: 0 (cyc=0) +EUCL: IN=9.884e-06 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.264e+00 ALL=1.060e-03 +EUCL: BD=1.515e-03, NB=6.993e-05, RS=9.126e-01, SC=2.025e+00, AC=9.487e-01 +EXIT: no further improvement on 3D reprojection +TIME: 38 secs +END: BD=3.761e-04, NB=3.878e-05, RS=9.181e-01, SC=2.925e+00, AC=8.949e-01, Itno:21=8+13 +SAVE: models/example_27.pdb +VIOLS: models/example_27.viol + +Run 27 finished: Wed 17-Jun-1998 14:49:45 + +RUN 28 STARTED: Wed 17-Jun-1998 14:49:45 +# Randseed=898087785 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-7.842e+00 +? centre_dist(): Cdist2[69]=-9.771e-03 +DIST: BD=5.598e-01, NB=6.724e-05, RS=8.128e-01, SC=9.936e+00, AC=2.837e+00 +PROJ: Dim=31, Df=8.010e-01, STR=6.822e-02 +TNGL: 0 (cyc=4) +EUCL: IN=7.856e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=4.676e-05 +EUCL: BD=5.154e-05, NB=5.718e-07, RS=2.854e-01, SC=7.329e-01, AC=2.597e+00 +CYCLE: 2 (38%, 6 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.799e-02, NB=0.000e+00, RS=4.898e-01, SC=2.008e+00, AC=2.795e+00 +PROJ: Dim=30, Df=9.966e-01, STR=8.591e-04 +TNGL: 0 (cyc=3) +EUCL: IN=4.287e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=2.987e-05 +EUCL: BD=3.130e-05, NB=7.545e-07, RS=3.785e-01, SC=6.611e-01, AC=2.424e+00 +CYCLE: 3 (39%, 13 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.565e-02, NB=0.000e+00, RS=6.669e-01, SC=2.570e+00, AC=2.885e+00 +PROJ: Dim=20, Df=9.989e-01, STR=1.144e-03 +TNGL: 0 (cyc=5) +EUCL: IN=2.473e-04 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=9.996e-05 +EUCL: BD=2.452e-05, NB=0.000e+00, RS=4.662e-01, SC=1.367e+00, AC=2.605e+00 +CYCLE: 4 (47%, 18 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.517e-02, NB=0.000e+00, RS=6.515e-01, SC=2.831e+00, AC=2.832e+00 +PROJ: Dim=19, Df=9.980e-01, STR=1.524e-03 +TNGL: 0 (cyc=3) +EUCL: IN=1.041e-04 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 4 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + ALL=6.232e-05 +EUCL: BD=1.448e-05, NB=2.271e-05, RS=7.045e-01, SC=9.801e-01, AC=2.426e+00 +CYCLE: 5 (48%, 22 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.152e-02, NB=0.000e+00, RS=7.196e-01, SC=1.617e+00, AC=2.794e+00 +PROJ: Dim=12, Df=9.713e-01, STR=9.377e-04 +TNGL: 0 (cyc=4) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=3.785e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=2.559e-05 +EUCL: BD=1.277e-04, NB=0.000e+00, RS=2.319e-01, SC=5.855e-01, AC=2.412e+00 +CYCLE: 6 (53%, 26 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.101e-01, NB=2.934e-04, RS=7.143e-01, SC=5.702e+00, AC=2.133e+00 +PROJ: Dim=8, Df=9.987e-01, STR=6.671e-03 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=7.330e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=5.971e-05 +EUCL: BD=4.399e-05, NB=0.000e+00, RS=4.463e-01, SC=7.850e-01, AC=2.219e+00 +CYCLE: 7 (56%, 28 secs) +DIST: BD=2.826e-02, NB=0.000e+00, RS=4.636e-01, SC=1.280e+00, AC=2.292e+00 +PROJ: Dim=7, Df=1.002e+00, STR=7.182e-04 +TNGL: 0 (cyc=1) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.433e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=2.901e-05 +EUCL: BD=9.915e-05, NB=0.000e+00, RS=2.301e-01, SC=4.678e-01, AC=2.000e+00 +CYCLE: 8 (57%, 30 secs) +DIST: BD=1.138e-01, NB=2.637e-04, RS=2.130e-01, SC=2.423e+00, AC=1.346e+00 +PROJ: Dim=4, Df=1.014e+00, STR=2.874e-03 +TNGL: 0 (cyc=2) +EUCL: IN=6.552e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=1.159e-04 +EUCL: BD=1.506e-05, NB=1.106e-04, RS=3.659e-01, SC=7.222e-01, AC=1.587e+00 +CYCLE: 9 (59%, 31 secs) +HAND: (secstr) Good:Bad=1:3 (14:26) +DIST: BD=9.618e-02, NB=1.214e-03, RS=7.684e-01, SC=4.493e+00, AC=9.256e-01 +PROJ: Dim=3, Df=1.008e+00, STR=5.606e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=3.931e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.573e+00 ALL=1.105e-03 +** BEST: BD=6.945e-04, NB=7.044e-04, RS=6.605e-01, SC=2.495e+00, AC=1.165e+00 +CYCLE: 10 (60%, 32 secs) +TNGL: 0 (cyc=0) +EUCL: IN=4.402e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.559e+00 ALL=9.443e-04 +EUCL: BD=1.047e-03, NB=4.825e-04, RS=7.780e-01, SC=2.174e+00, AC=8.808e-01 +CYCLE: 11 (61%, 33 secs) +TNGL: 0 (cyc=0) +EUCL: IN=4.745e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.545e+00 ALL=8.630e-04 +EUCL: BD=2.333e-04, NB=4.066e-04, RS=7.603e-01, SC=2.555e+00, AC=8.526e-01 +CYCLE: 12 (62%, 34 secs) +TNGL: 0 (cyc=0) +EUCL: IN=4.375e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.523e+00 ALL=8.155e-04 +EUCL: BD=2.224e-04, NB=3.895e-04, RS=7.866e-01, SC=2.203e+00, AC=9.064e-01 +CYCLE: 13 (62%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=4.965e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.541e+00 ALL=6.746e-04 +EUCL: BD=2.061e-04, NB=2.092e-04, RS=7.750e-01, SC=2.210e+00, AC=8.051e-01 +CYCLE: 14 (63%, 35 secs) +TNGL: 0 (cyc=0) +EUCL: IN=5.643e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.464e+00 ALL=6.409e-04 +EUCL: BD=5.216e-04, NB=1.289e-04, RS=6.664e-01, SC=2.322e+00, AC=1.035e+00 +CYCLE: 15 (64%, 36 secs) +TNGL: 0 (cyc=0) +EUCL: IN=5.077e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.550e+00 ALL=5.944e-04 +EUCL: BD=3.620e-04, NB=7.308e-05, RS=6.856e-01, SC=2.360e+00, AC=1.003e+00 +CYCLE: 16 (65%, 37 secs) +HAND: (secstr) Good:Bad=1:3 (13:27) +DIST: BD=2.880e-02, NB=4.580e-04, RS=6.730e-01, SC=2.007e+00, AC=1.053e+00 +PROJ: Dim=3, Df=9.984e-01, STR=1.157e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=6.704e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.512e+00 ALL=7.563e-04 +EUCL: BD=5.706e-04, NB=6.828e-04, RS=7.697e-01, SC=2.233e+00, AC=8.436e-01 +CYCLE: 17 (66%, 38 secs) +TNGL: 0 (cyc=0) +EUCL: IN=5.537e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.522e+00 ALL=7.276e-04 +EUCL: BD=3.612e-04, NB=5.845e-04, RS=7.757e-01, SC=2.444e+00, AC=9.962e-01 +CYCLE: 18 (66%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=4.276e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.501e+00 ALL=8.653e-04 +EUCL: BD=1.859e-03, NB=6.186e-04, RS=8.510e-01, SC=2.181e+00, AC=8.679e-01 +CYCLE: 19 (67%, 39 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.207e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.520e+00 ALL=6.905e-04 +EUCL: BD=2.149e-04, NB=5.431e-04, RS=9.880e-01, SC=2.860e+00, AC=8.641e-01 +CYCLE: 20 (68%, 40 secs) +TNGL: 0 (cyc=0) +EUCL: IN=4.307e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.553e+00 ALL=8.123e-04 +EUCL: BD=8.317e-04, NB=5.462e-04, RS=1.089e+00, SC=2.251e+00, AC=1.053e+00 +CYCLE: 21 (69%, 41 secs) +TNGL: 0 (cyc=0) +EUCL: IN=4.320e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.503e+00 ALL=5.553e-04 +EUCL: BD=4.528e-04, NB=1.471e-04, RS=8.865e-01, SC=1.822e+00, AC=9.295e-01 +CYCLE: 22 (70%, 42 secs) +HAND: (secstr) Good:Bad=1:3 (13:27) +DIST: BD=3.186e-02, NB=4.298e-04, RS=6.698e-01, SC=2.002e+00, AC=1.100e+00 +PROJ: Dim=3, Df=9.986e-01, STR=1.199e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=4.386e-04 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + 2oSTR=1.495e+00 ALL=9.080e-04 +EUCL: BD=5.476e-04, NB=4.136e-04, RS=6.231e-01, SC=2.886e+00, AC=8.090e-01 +EXIT: no further improvement on 3D reprojection +TIME: 43 secs +END: BD=6.945e-04, NB=7.044e-04, RS=6.605e-01, SC=2.495e+00, AC=1.165e+00, Itno:22=9+13 +SAVE: models/example_28.pdb +VIOLS: models/example_28.viol + +Run 28 finished: Wed 17-Jun-1998 14:50:29 + +RUN 29 STARTED: Wed 17-Jun-1998 14:50:29 +# Randseed=898087829 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-8.145e-02 +DIST: BD=7.523e-01, NB=0.000e+00, RS=6.983e-01, SC=9.107e+00, AC=3.000e+00 +PROJ: Dim=28, Df=7.951e-01, STR=7.150e-02 +TNGL: 0 (cyc=2) +EUCL: IN=8.258e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + ALL=2.703e-05 +EUCL: BD=7.640e-05, NB=0.000e+00, RS=8.561e-02, SC=5.812e-01, AC=2.554e+00 +CYCLE: 2 (40%, 6 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=1.291e-03, NB=0.000e+00, RS=1.331e-01, SC=7.506e-01, AC=2.699e+00 +PROJ: Dim=25, Df=9.584e-01, STR=1.080e-04 +TNGL: 0 (cyc=3) +EUCL: IN=8.649e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + ALL=5.930e-05 +EUCL: BD=1.042e-05, NB=0.000e+00, RS=1.930e-01, SC=8.629e-01, AC=2.579e+00 +CYCLE: 3 (43%, 12 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=3.643e-03, NB=0.000e+00, RS=3.072e-01, SC=8.084e-01, AC=2.601e+00 +PROJ: Dim=16, Df=9.544e-01, STR=1.740e-04 +TNGL: 0 (cyc=2) +EUCL: IN=8.204e-05 +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + ALL=5.561e-05 +EUCL: BD=1.618e-05, NB=0.000e+00, RS=9.271e-02, SC=7.432e-01, AC=2.623e+00 +CYCLE: 4 (50%, 16 secs) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation +DIST: BD=9.872e-04, NB=0.000e+00, RS=7.921e-02, SC=6.621e-01, AC=2.644e+00 +PROJ: Dim=15, Df=9.847e-01, STR=9.231e-05 +TNGL: 0 (cyc=3) + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation +EUCL: IN=2.035e-05 +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 2 iteration(s) + +? rot_ndim(): SVD decomposition error + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 3 iteration(s) + +? rot_ndim(): SVD decomposition error + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rot(): Cannot decompose Mixtensor, no rotation + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) + ALL=??? + +? Specgrad_::iterate(Maxiter=30, Eps=2.000e-02): No convergence + + Steric_::adjust_xyz(SPECGRAD): Don't panic :-) +EUCL: BD=Infinity, NB=Infinity, RS=Infinity, SC=Infinity, AC=0.000e+00 +CYCLE: 5 (51%, 21 secs) +? eigen_ql(): Iteration limit (30) exceeded +? eigen_ql(): Iteration limit (30) exceeded +? eigen_ql(): Iteration limit (30) exceeded +? eigen_ql(): Iteration limit (30) exceeded +? eigen_ql(): Iteration limit (30) exceeded + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +! Svd_::safe_div(1.000e+00, 0.000e+00): Dangerous division at line 413 + +? Svd_::svd_core(): Impending div by zero (z=0.000e+00) + +? Svd_::make_decomp(): No convergence in 1 iteration(s) + +? Hirot_::get_rotflip(): Cannot decompose Mixtensor, no rotation + +WARNING: Exiting on signal 11 -- HORRIBLE ERROR CAUSED BY BUGGY CODE diff --git a/example/models/example_1.log b/example/models/example_1.log new file mode 100644 index 0000000..4efb05b --- /dev/null +++ b/example/models/example_1.log @@ -0,0 +1,190 @@ +CHILD PROCESS ID=7486 + +RUN 1 STARTED: Mon 14-Feb-2000 16:09:21 +# Randseed=958206625 + +nonlin11_reg():...................Done + +Q=1.424e-02, Stepno=15, t-stat=2.600e-02 + +D=-1.233e+01 * H ^5.723e-01 + 3.252e+01 + +Standard deviations: +------------- +0 | 5.24e-01 +1 | 2.03e-02 +2 | 5.07e-01 +============= + +Correlation matrix: + 0 1 2 +------------------------------------- +0 | 1.00e+00 +1 | -9.76e-01 1.00e+00 +2 | 9.93e-01 -9.52e-01 1.00e+00 +===================================== + +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[14]=-3.325e+00 +? centre_dist(): Cdist2[14]=-2.150e-01 +? centre_dist(): Cdist2[14]=-9.206e-01 +DIST: BD=5.432e-01, NB=0.000e+00, RS=5.757e-01, SC=1.156e+01, AC=2.974e+00 +PROJ: Dim=30, Df=8.099e-01, STR=6.648e-02 +TNGL: 0 (cyc=4) +EUCL: IN=1.614e-04 ALL=4.773e-05 +EUCL: BD=6.527e-06, NB=0.000e+00, RS=4.623e-01, SC=8.951e-01, AC=2.629e+00 +CYCLE: 2 (39%, 2 secs) +DIST: BD=8.399e-03, NB=0.000e+00, RS=7.041e-01, SC=8.798e-01, AC=2.696e+00 +PROJ: Dim=29, Df=1.000e+00, STR=1.713e-04 +TNGL: 0 (cyc=3) +EUCL: IN=5.686e-05 ALL=4.238e-05 +EUCL: BD=3.229e-06, NB=1.130e-05, RS=3.774e-01, SC=6.845e-01, AC=2.477e+00 +CYCLE: 3 (40%, 4 secs) +DIST: BD=1.856e-03, NB=0.000e+00, RS=4.050e-01, SC=5.248e-01, AC=2.472e+00 +PROJ: Dim=19, Df=1.000e+00, STR=5.846e-05 +TNGL: 0 (cyc=2) +EUCL: IN=1.276e-04 ALL=5.485e-05 +EUCL: BD=9.139e-06, NB=5.639e-06, RS=4.055e-01, SC=9.215e-01, AC=2.636e+00 +CYCLE: 4 (48%, 5 secs) +DIST: BD=3.656e-03, NB=0.000e+00, RS=5.032e-01, SC=8.181e-01, AC=2.473e+00 +PROJ: Dim=12, Df=1.001e+00, STR=1.546e-04 +TNGL: 0 (cyc=2) +EUCL: IN=2.652e-05 ALL=1.353e-05 +EUCL: BD=2.780e-05, NB=0.000e+00, RS=2.237e-01, SC=2.722e-01, AC=2.283e+00 +CYCLE: 5 (53%, 6 secs) +DIST: BD=1.122e-02, NB=0.000e+00, RS=5.292e-01, SC=6.923e-01, AC=2.456e+00 +PROJ: Dim=11, Df=1.001e+00, STR=2.830e-04 +TNGL: 0 (cyc=2) +EUCL: IN=2.484e-05 ALL=9.349e-06 +EUCL: BD=4.297e-05, NB=0.000e+00, RS=3.857e-01, SC=2.035e-01, AC=2.127e+00 +CYCLE: 6 (54%, 7 secs) +DIST: BD=1.608e-03, NB=0.000e+00, RS=4.621e-01, SC=2.474e-01, AC=2.283e+00 +PROJ: Dim=10, Df=1.001e+00, STR=7.469e-05 +TNGL: 0 (cyc=3) +EUCL: IN=1.941e-05 ALL=3.687e-05 +EUCL: BD=9.757e-06, NB=0.000e+00, RS=3.870e-01, SC=5.368e-01, AC=2.374e+00 +CYCLE: 7 (55%, 8 secs) +DIST: BD=4.794e-02, NB=7.582e-05, RS=5.161e-01, SC=1.648e+00, AC=1.967e+00 +PROJ: Dim=6, Df=1.009e+00, STR=1.789e-03 +TNGL: 0 (cyc=1) +EUCL: IN=2.522e-04 ALL=4.738e-05 +EUCL: BD=2.350e-05, NB=0.000e+00, RS=4.924e-01, SC=9.286e-01, AC=2.336e+00 +CYCLE: 8 (58%, 8 secs) +DIST: BD=6.731e-02, NB=6.458e-05, RS=6.471e-01, SC=2.074e+00, AC=1.912e+00 +PROJ: Dim=5, Df=1.007e+00, STR=2.357e-03 +TNGL: 0 (cyc=3) +EUCL: IN=4.059e-05 ALL=2.111e-04 +EUCL: BD=3.132e-05, NB=2.388e-05, RS=6.044e-01, SC=1.341e+00, AC=1.897e+00 +CYCLE: 9 (59%, 9 secs) +DIST: BD=3.769e-02, NB=2.312e-05, RS=4.965e-01, SC=2.370e+00, AC=1.523e+00 +PROJ: Dim=4, Df=1.010e+00, STR=2.085e-03 +TNGL: 0 (cyc=1) +EUCL: IN=2.280e-04 ALL=7.704e-05 +EUCL: BD=8.410e-05, NB=1.114e-05, RS=4.851e-01, SC=1.126e+00, AC=1.695e+00 +CYCLE: 10 (59%, 9 secs) +HAND: (secstr) Good:Bad=1:3 (16:24) +DIST: BD=1.027e-01, NB=7.495e-04, RS=7.934e-01, SC=3.525e+00, AC=1.091e+00 +PROJ: Dim=3, Df=1.028e+00, STR=6.420e-03 , flip +TNGL: 0 (cyc=0) +EUCL: IN=1.545e-03 2oSTR=1.944e+00 ALL=9.110e-04 +** BEST: BD=8.279e-05, NB=1.355e-04, RS=6.547e-01, SC=5.134e+00, AC=1.173e+00 +CYCLE: 11 (60%, 9 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.371e-03 2oSTR=2.991e+00 ALL=1.811e-03 +EUCL: BD=1.015e-04, NB=1.254e-04, RS=5.944e-01, SC=4.386e+00, AC=1.144e+00 +CYCLE: 12 (61%, 10 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.183e-03 2oSTR=1.598e+00 ALL=1.209e-03 +EUCL: BD=2.142e-04, NB=1.435e-04, RS=5.598e-01, SC=4.191e+00, AC=1.228e+00 +CYCLE: 13 (62%, 10 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.292e-03 2oSTR=1.629e+00 ALL=9.800e-04 +EUCL: BD=4.004e-04, NB=2.934e-04, RS=7.462e-01, SC=4.244e+00, AC=1.210e+00 +CYCLE: 14 (62%, 10 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.852e-04 2oSTR=1.432e+00 ALL=6.993e-04 +EUCL: BD=1.801e-04, NB=9.441e-05, RS=7.481e-01, SC=3.371e+00, AC=1.014e+00 +CYCLE: 15 (63%, 10 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.527e-04 2oSTR=1.421e+00 ALL=9.885e-04 +EUCL: BD=1.674e-04, NB=2.414e-04, RS=8.622e-01, SC=3.994e+00, AC=1.063e+00 +CYCLE: 16 (64%, 11 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.161e-04 2oSTR=1.508e+00 ALL=1.590e-03 +EUCL: BD=3.314e-04, NB=7.838e-05, RS=8.611e-01, SC=3.705e+00, AC=1.004e+00 +CYCLE: 17 (65%, 11 secs) +HAND: (secstr) Good:Bad=1:3 (14:26) +DIST: BD=2.419e-02, NB=6.548e-05, RS=5.448e-01, SC=2.972e+00, AC=1.160e+00 +PROJ: Dim=3, Df=9.989e-01, STR=8.725e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=1.616e-03 2oSTR=1.761e+00 ALL=1.479e-03 +EUCL: BD=9.042e-05, NB=1.861e-04, RS=7.672e-01, SC=4.410e+00, AC=1.254e+00 +CYCLE: 18 (66%, 11 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.443e-03 2oSTR=1.779e+00 ALL=9.034e-04 +** BEST: BD=2.989e-05, NB=1.296e-04, RS=5.527e-01, SC=4.306e+00, AC=1.206e+00 +CYCLE: 19 (66%, 12 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.285e-03 2oSTR=1.650e+00 ALL=7.875e-04 +EUCL: BD=8.069e-05, NB=3.769e-05, RS=6.560e-01, SC=3.979e+00, AC=1.105e+00 +CYCLE: 20 (66%, 12 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.291e-03 2oSTR=1.647e+00 ALL=1.491e-03 +EUCL: BD=7.204e-05, NB=2.997e-04, RS=8.149e-01, SC=5.398e+00, AC=1.049e+00 +CYCLE: 21 (67%, 12 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.488e-04 2oSTR=1.464e+00 ALL=7.423e-04 +EUCL: BD=1.832e-05, NB=8.600e-05, RS=9.296e-01, SC=3.741e+00, AC=1.173e+00 +CYCLE: 22 (68%, 13 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.000e-03 2oSTR=1.426e+00 ALL=1.036e-03 +EUCL: BD=3.396e-05, NB=2.239e-04, RS=1.017e+00, SC=3.896e+00, AC=1.127e+00 +CYCLE: 23 (69%, 13 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.990e-04 2oSTR=1.407e+00 ALL=8.852e-04 +EUCL: BD=2.611e-05, NB=1.257e-04, RS=9.803e-01, SC=3.296e+00, AC=1.072e+00 +CYCLE: 24 (70%, 13 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.228e-04 2oSTR=1.402e+00 ALL=1.094e-03 +EUCL: BD=3.245e-05, NB=1.456e-04, RS=1.091e+00, SC=3.608e+00, AC=9.615e-01 +CYCLE: 25 (70%, 13 secs) +HAND: (secstr) Good:Bad=1:3 (14:26) +DIST: BD=2.469e-02, NB=1.088e-04, RS=3.703e-01, SC=2.717e+00, AC=1.336e+00 +PROJ: Dim=3, Df=9.988e-01, STR=9.216e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=1.312e-03 2oSTR=1.730e+00 ALL=9.993e-04 +EUCL: BD=8.076e-05, NB=9.465e-05, RS=5.656e-01, SC=3.954e+00, AC=1.142e+00 +CYCLE: 26 (71%, 14 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.415e-03 2oSTR=1.653e+00 ALL=1.192e-03 +EUCL: BD=3.557e-04, NB=3.235e-04, RS=7.499e-01, SC=4.547e+00, AC=1.164e+00 +CYCLE: 27 (72%, 14 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.946e-04 2oSTR=1.509e+00 ALL=8.277e-04 +EUCL: BD=1.105e-04, NB=1.092e-04, RS=8.298e-01, SC=3.484e+00, AC=1.164e+00 +CYCLE: 28 (73%, 14 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.647e-04 2oSTR=1.407e+00 ALL=7.307e-04 +EUCL: BD=2.453e-05, NB=2.547e-04, RS=9.145e-01, SC=3.095e+00, AC=1.210e+00 +CYCLE: 29 (74%, 15 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.689e-04 2oSTR=1.401e+00 ALL=6.519e-04 +EUCL: BD=5.884e-05, NB=1.332e-04, RS=8.368e-01, SC=3.174e+00, AC=1.054e+00 +CYCLE: 30 (74%, 15 secs) +TNGL: 0 (cyc=0) +EUCL: IN=8.653e-04 2oSTR=1.536e+00 ALL=9.612e-04 +EUCL: BD=6.398e-05, NB=2.829e-04, RS=8.768e-01, SC=3.047e+00, AC=9.962e-01 +CYCLE: 31 (75%, 15 secs) +HAND: (secstr) Good:Bad=1:3 (14:26) +DIST: BD=2.570e-02, NB=8.859e-05, RS=3.866e-01, SC=2.663e+00, AC=1.305e+00 +PROJ: Dim=3, Df=9.985e-01, STR=9.080e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=1.239e-03 2oSTR=1.655e+00 ALL=8.565e-04 +EUCL: BD=2.136e-04, NB=4.676e-05, RS=6.529e-01, SC=3.898e+00, AC=1.231e+00 +EXIT: no further improvement on 3D reprojection +TIME: 16 secs +END: BD=2.989e-05, NB=1.296e-04, RS=5.527e-01, SC=4.306e+00, AC=1.206e+00, Itno:31=11+20 +SAVE: example/models/example_1.pdb +VIOLS: example/models/example_1.viol + +Run 1 finished: Mon 14-Feb-2000 16:09:38 diff --git a/example/models/example_1.pdb b/example/models/example_1.pdb new file mode 100644 index 0000000..864b8d3 --- /dev/null +++ b/example/models/example_1.pdb @@ -0,0 +1,178 @@ +HEADER PROTEIN MODEL 15-FEB-100 1 +COMPND MODEL C-ALPHA:FAKE C-BETA CHAIN 2 +SOURCE DRAGON 4.18.0-linux [Feb 15 2000, 21:40:49] 3 +EXPDTA THEORETICAL MODEL 4 +REMARK 1 NOT A GENUINE PDB ENTRY! 5 +REMARK 2 RESOLUTION. NOT APPLICABLE. 6 +REMARK 4 BOND SCORE: 1.952e-04 7 +REMARK 4 BUMP SCORE: 1.373e-04 8 +REMARK 4 EXTERNAL RESTRAINT SCORE: 5.884e-01 9 +REMARK 4 SECONDARY STRUCTURE SCORE: 3.291e+00 10 +REMARK 4 ACCESSIBILITY SCORE: 1.054e+00 11 +SEQRES 1 78 GLY TYR PHE CYS GLU SER CYS ARG LYS ILE ILE GLN LYS 12 +SEQRES 2 78 LEU GLU ASP MET VAL GLY PRO GLN PRO ASN GLU ASP THR 13 +SEQRES 3 78 VAL THR GLN ALA ALA SER GLN VAL CYS ASP LYS LEU LYS 14 +SEQRES 4 78 ILE LEU ARG GLY LEU CYS LYS LYS ILE MET ARG SER PHE 15 +SEQRES 5 78 LEU ARG ARG ILE SER TRP ASP ILE LEU THR GLY LYS LYS 16 +SEQRES 6 78 PRO GLN ALA ILE CYS VAL ASP ILE LYS ILE CYS LYS GLU 17 +HELIX 1 H1 SER 6 VAL 18 1 18 +HELIX 2 H2 GLU 24 ASP 36 1 19 +HELIX 3 H3 ARG 42 ILE 60 1 20 +HELIX 4 H4 PRO 66 ASP 72 1 21 +ATOM 1 N GLY 1 4.508 2.177 10.755 0.58 1.27 22 +ATOM 2 CA GLY 1 3.738 1.046 10.216 0.58 1.27 23 +ATOM 3 CA TYR 2 1.500 -0.185 7.407 0.38 0.59 24 +ATOM 4 CB TYR 2 -2.021 -2.229 7.797 0.38 0.59 25 +ATOM 5 CA PHE 3 3.190 0.866 4.163 0.51 1.48 26 +ATOM 6 CB PHE 3 1.431 1.979 1.092 0.51 1.48 27 +ATOM 7 CA CYS 4 6.969 0.594 4.565 1.00 0.84 28 +ATOM 8 CB CYS 4 8.329 -0.183 2.800 1.00 0.84 29 +ATOM 9 CA GLU 5 8.499 1.607 7.882 0.36 0.01 30 +ATOM 10 CB GLU 5 7.472 0.494 10.926 0.36 0.01 31 +ATOM 11 CA SER 6 11.351 4.051 7.279 0.52 0.49 32 +ATOM 12 CB SER 6 12.151 5.320 8.617 0.52 0.49 33 +ATOM 13 CA CYS 7 12.369 3.582 3.605 1.00 0.84 34 +ATOM 14 CB CYS 7 14.064 2.393 2.473 1.00 0.84 35 +ATOM 15 CA ARG 8 9.471 5.860 2.545 0.42 0.00 36 +ATOM 16 CB ARG 8 7.644 7.348 -1.809 0.42 0.00 37 +ATOM 17 CA LYS 9 8.561 6.517 6.221 0.23 0.03 38 +ATOM 18 CB LYS 9 10.258 8.575 9.282 0.23 0.03 39 +ATOM 19 CA ILE 10 5.375 4.415 5.791 0.54 3.46 40 +ATOM 20 CB ILE 10 3.913 3.127 7.308 0.54 3.46 41 +ATOM 21 CA ILE 11 5.401 5.142 2.027 0.61 3.46 42 +ATOM 22 CB ILE 11 5.702 3.783 -0.014 0.61 3.46 43 +ATOM 23 CA GLN 12 4.769 8.841 2.728 0.61 0.03 44 +ATOM 24 CB GLN 12 5.998 11.738 1.465 0.61 0.03 45 +ATOM 25 CA LYS 13 2.181 7.926 5.440 0.48 0.03 46 +ATOM 26 CB LYS 13 1.748 8.698 9.402 0.48 0.03 47 +ATOM 27 CA LEU 14 0.184 5.958 2.746 0.85 2.56 48 +ATOM 28 CB LEU 14 -0.812 3.336 2.455 0.85 2.56 49 +ATOM 29 CA GLU 15 0.141 9.134 0.624 0.47 0.01 50 +ATOM 30 CB GLU 15 0.923 9.873 -2.601 0.47 0.01 51 +ATOM 31 CA ASP 16 -1.149 11.132 3.650 0.73 0.03 52 +ATOM 32 CB ASP 16 -0.246 13.059 5.072 0.73 0.03 53 +ATOM 33 CA MET 17 -4.375 9.001 3.631 0.65 0.86 54 +ATOM 34 CB MET 17 -6.229 7.551 5.887 0.65 0.86 55 +ATOM 35 CA VAL 18 -4.477 9.314 -0.193 0.67 2.46 56 +ATOM 36 CB VAL 18 -5.391 10.878 -1.195 0.67 2.46 57 +ATOM 37 CA GLY 19 -2.739 6.477 -1.999 0.54 1.27 58 +ATOM 38 CA PRO 20 -1.299 8.120 -5.148 0.57 0.18 59 +ATOM 39 CB PRO 20 0.588 8.447 -5.608 0.57 0.18 60 +ATOM 40 CA GLN 21 -4.425 8.973 -7.184 0.53 0.03 61 +ATOM 41 CB GLN 21 -4.390 10.440 -10.240 0.53 0.03 62 +ATOM 42 CA PRO 22 -7.594 7.995 -5.404 0.46 0.18 63 +ATOM 43 CB PRO 22 -8.823 6.747 -6.305 0.46 0.18 64 +ATOM 44 CA ASN 23 -8.482 9.335 -1.951 0.40 0.01 65 +ATOM 45 CB ASN 23 -7.037 9.134 0.165 0.40 0.01 66 +ATOM 46 CA GLU 24 -11.893 11.025 -2.194 0.71 0.01 67 +ATOM 47 CB GLU 24 -12.302 14.061 -0.719 0.71 0.01 68 +ATOM 48 CA ASP 25 -14.859 9.425 -4.036 0.67 0.03 69 +ATOM 49 CB ASP 25 -17.406 9.665 -3.925 0.67 0.03 70 +ATOM 50 CA THR 26 -12.416 7.316 -6.113 0.32 0.59 71 +ATOM 51 CB THR 26 -12.091 7.034 -8.086 0.32 0.59 72 +ATOM 52 CA VAL 27 -10.853 5.975 -2.829 0.80 2.46 73 +ATOM 53 CB VAL 27 -8.944 5.507 -2.182 0.80 2.46 74 +ATOM 54 CA THR 28 -14.401 5.886 -1.278 0.49 0.59 75 +ATOM 55 CB THR 28 -15.303 6.773 0.297 0.49 0.59 76 +ATOM 56 CA GLN 29 -15.496 3.384 -4.014 0.57 0.03 77 +ATOM 57 CB GLN 29 -18.194 3.039 -6.037 0.57 0.03 78 +ATOM 58 CA ALA 30 -12.184 1.447 -3.446 0.46 1.73 79 +ATOM 59 CB ALA 30 -10.986 0.900 -4.372 0.46 1.73 80 +ATOM 60 CA ALA 31 -12.973 1.383 0.293 0.52 1.73 81 +ATOM 61 CB ALA 31 -12.109 1.602 1.634 0.52 1.73 82 +ATOM 62 CA SER 32 -16.665 0.583 -0.466 0.70 0.49 83 +ATOM 63 CB SER 32 -18.430 1.361 0.099 0.70 0.49 84 +ATOM 64 CA GLN 33 -15.604 -2.313 -2.748 0.57 0.03 85 +ATOM 65 CB GLN 33 -16.668 -3.540 -5.724 0.57 0.03 86 +ATOM 66 CA VAL 34 -12.831 -3.236 -0.247 0.49 2.46 87 +ATOM 67 CB VAL 34 -10.797 -3.599 -0.366 0.49 2.46 88 +ATOM 68 CA CYS 35 -15.444 -3.201 2.571 1.00 0.84 89 +ATOM 69 CB CYS 35 -15.995 -1.719 4.322 1.00 0.84 90 +ATOM 70 CA ASP 36 -16.790 -6.576 1.359 0.59 0.03 91 +ATOM 71 CB ASP 36 -18.422 -6.975 -0.573 0.59 0.03 92 +ATOM 72 CA LYS 37 -15.224 -9.237 3.594 0.52 0.03 93 +ATOM 73 CB LYS 37 -14.894 -13.047 2.229 0.52 0.03 94 +ATOM 74 CA LEU 38 -13.965 -8.349 7.101 0.76 2.56 95 +ATOM 75 CB LEU 38 -16.003 -7.771 8.963 0.76 2.56 96 +ATOM 76 CA LYS 39 -10.356 -8.127 8.461 0.76 0.03 97 +ATOM 77 CB LYS 39 -9.879 -6.441 12.124 0.76 0.03 98 +ATOM 78 CA ILE 40 -7.152 -9.340 6.700 0.50 3.46 99 +ATOM 79 CB ILE 40 -5.009 -10.019 7.724 0.50 3.46 100 +ATOM 80 CA LEU 41 -8.055 -9.254 2.976 0.61 2.56 101 +ATOM 81 CB LEU 41 -6.749 -10.626 0.887 0.61 2.56 102 +ATOM 82 CA ARG 42 -11.060 -6.960 2.615 0.54 0.00 103 +ATOM 83 CB ARG 42 -13.577 -4.970 6.384 0.54 0.00 104 +ATOM 84 CA GLY 43 -11.811 -6.448 -1.121 0.53 1.27 105 +ATOM 85 CA LEU 44 -10.624 -2.843 -0.953 0.49 2.56 106 +ATOM 86 CB LEU 44 -10.817 -0.614 -2.671 0.49 2.56 107 +ATOM 87 CA CYS 45 -9.071 -3.487 2.488 1.00 0.84 108 +ATOM 88 CB CYS 45 -9.624 -2.885 4.702 1.00 0.84 109 +ATOM 89 CA LYS 46 -6.260 -5.499 0.898 0.59 0.03 110 +ATOM 90 CB LYS 46 -3.465 -8.074 2.328 0.59 0.03 111 +ATOM 91 CA LYS 47 -7.143 -4.107 -2.585 0.38 0.03 112 +ATOM 92 CB LYS 47 -8.938 -5.599 -5.907 0.38 0.03 113 +ATOM 93 CA ILE 48 -5.641 -0.732 -1.648 0.66 3.46 114 +ATOM 94 CB ILE 48 -6.215 1.621 -2.130 0.66 3.46 115 +ATOM 95 CA MET 49 -2.894 -2.453 0.334 0.58 0.86 116 +ATOM 96 CB MET 49 -1.910 -2.336 3.440 0.58 0.86 117 +ATOM 97 CA ARG 50 -1.777 -4.367 -2.829 0.65 0.00 118 +ATOM 98 CB ARG 50 -0.263 -8.973 -3.826 0.65 0.00 119 +ATOM 99 CA SER 51 -2.341 -1.169 -4.885 0.45 0.49 120 +ATOM 100 CB SER 51 -3.540 -0.639 -6.408 0.45 0.49 121 +ATOM 101 CA PHE 52 0.347 0.590 -2.810 0.69 1.48 122 +ATOM 102 CB PHE 52 0.559 3.839 -1.031 0.69 1.48 123 +ATOM 103 CA LEU 53 2.730 -2.331 -3.300 0.42 2.56 124 +ATOM 104 CB LEU 53 4.066 -4.094 -1.550 0.42 2.56 125 +ATOM 105 CA ARG 54 2.585 -1.917 -7.102 0.49 0.00 126 +ATOM 106 CB ARG 54 1.948 -4.989 -10.931 0.49 0.00 127 +ATOM 107 CA ARG 55 3.140 1.873 -6.695 0.47 0.00 128 +ATOM 108 CB ARG 55 0.823 5.937 -8.312 0.47 0.00 129 +ATOM 109 CA ILE 56 6.242 1.196 -4.511 0.54 3.46 130 +ATOM 110 CB ILE 56 7.218 2.230 -2.491 0.54 3.46 131 +ATOM 111 CA SER 57 7.205 -1.745 -6.751 0.64 0.49 132 +ATOM 112 CB SER 57 7.537 -3.702 -6.430 0.64 0.49 133 +ATOM 113 CA TRP 58 7.287 0.518 -9.845 0.34 0.74 134 +ATOM 114 CB TRP 58 5.743 0.309 -13.409 0.34 0.74 135 +ATOM 115 CA ASP 59 9.496 3.070 -8.034 0.43 0.03 136 +ATOM 116 CB ASP 59 9.523 5.626 -7.890 0.43 0.03 137 +ATOM 117 CA ILE 60 11.648 0.291 -6.522 0.60 3.46 138 +ATOM 118 CB ILE 60 11.362 -0.070 -4.096 0.60 3.46 139 +ATOM 119 CA LEU 61 14.177 -2.012 -8.202 0.60 2.56 140 +ATOM 120 CB LEU 61 16.457 -1.238 -9.670 0.60 2.56 141 +ATOM 121 CA THR 62 13.085 -5.544 -7.550 0.59 0.59 142 +ATOM 122 CB THR 62 11.544 -6.148 -8.709 0.59 0.59 143 +ATOM 123 CA GLY 63 14.307 -8.169 -5.157 0.57 1.27 144 +ATOM 124 CA LYS 64 16.787 -7.743 -2.264 0.53 0.03 145 +ATOM 125 CB LYS 64 18.939 -10.767 -0.618 0.53 0.03 146 +ATOM 126 CA LYS 65 16.957 -4.073 -1.137 0.55 0.03 147 +ATOM 127 CB LYS 65 19.137 -2.480 1.895 0.55 0.03 148 +ATOM 128 CA PRO 66 14.568 -2.273 -3.569 0.90 0.18 149 +ATOM 129 CB PRO 66 14.239 -2.690 -5.466 0.90 0.18 150 +ATOM 130 CA GLN 67 12.966 0.523 -1.465 0.65 0.03 151 +ATOM 131 CB GLN 67 14.139 3.251 0.171 0.65 0.03 152 +ATOM 132 CA ALA 68 9.500 -1.015 -1.962 0.56 1.73 153 +ATOM 133 CB ALA 68 8.070 -0.432 -2.417 0.56 1.73 154 +ATOM 134 CA ILE 69 10.787 -4.490 -0.946 0.87 3.46 155 +ATOM 135 CB ILE 69 10.678 -6.759 -1.914 0.87 3.46 156 +ATOM 136 CA CYS 70 12.314 -2.959 2.205 1.00 0.84 157 +ATOM 137 CB CYS 70 14.262 -3.368 3.473 1.00 0.84 158 +ATOM 138 CA VAL 71 9.395 -0.495 2.461 0.60 2.46 159 +ATOM 139 CB VAL 71 9.253 1.565 2.595 0.60 2.46 160 +ATOM 140 CA ASP 72 6.843 -3.340 2.371 0.41 0.03 161 +ATOM 141 CB ASP 72 5.267 -3.525 4.380 0.41 0.03 162 +ATOM 142 CA ILE 73 6.365 -5.941 -0.363 0.74 3.46 163 +ATOM 143 CB ILE 73 5.335 -5.477 -2.560 0.74 3.46 164 +ATOM 144 CA LYS 74 7.704 -9.362 0.780 0.41 0.03 165 +ATOM 145 CB LYS 74 8.690 -12.511 -1.586 0.41 0.03 166 +ATOM 146 CA ILE 75 7.920 -9.191 4.623 0.57 3.46 167 +ATOM 147 CB ILE 75 9.180 -10.830 5.973 0.57 3.46 168 +ATOM 148 CA CYS 76 5.975 -6.208 6.150 1.00 0.84 169 +ATOM 149 CB CYS 76 6.168 -5.802 8.467 1.00 0.84 170 +ATOM 150 CA LYS 77 3.731 -3.861 4.059 0.34 0.03 171 +ATOM 151 CB LYS 77 -0.116 -3.558 5.322 0.34 0.03 172 +ATOM 152 CA GLU 78 4.532 -1.754 0.967 0.34 0.01 173 +ATOM 153 CB GLU 78 4.234 0.109 -1.861 0.34 0.01 174 +ATOM 154 C GLU 78 5.562 -1.073 0.040 0.34 0.01 175 +TER 155 GLU 78 176 +MASTER 7 0 0 4 0 0 0 0 154 1 0 6 177 +END 178 diff --git a/example/models/example_1.viol b/example/models/example_1.viol new file mode 100644 index 0000000..2ef6244 --- /dev/null +++ b/example/models/example_1.viol @@ -0,0 +1,19 @@ +# Restraint violations: 17 +# Atom pair Type Actual Ideal (Strict) Rel.viol Error +SCC[ 4]:SCC[ 76] RESTR 8.27 > 4.50 (1.00) 0.84 83.7 % + CA[ 44]: CA[ 34] NONBD 2.35 < 4.92 (1.00) 0.52 52.2 % +SCC[ 35]:SCC[ 45] RESTR 6.49 > 4.50 (1.00) 0.44 44.2 % +SCC[ 7]:SCC[ 70] RESTR 5.85 > 4.50 (1.00) 0.30 30.0 % + CA[ 10]: CA[ 7] HELIX 7.37 > 5.09 (0.30) 0.13 44.8 % + CA[ 70]: CA[ 7] RESTR 6.69 > 6.00 (1.00) 0.11 11.5 % + CA[ 9]: CA[ 6] HELIX 3.87 < 4.99 (0.30) 0.07 22.4 % + CA[ 45]: CA[ 35] RESTR 6.38 > 6.00 (1.00) 0.06 6.3 % + CA[ 45]: CA[ 42] HELIX 4.00 < 4.99 (0.30) 0.06 19.8 % + CA[ 47]: CA[ 44] HELIX 4.05 < 4.99 (0.30) 0.06 18.9 % + CA[ 48]: CA[ 45] HELIX 6.04 > 5.09 (0.30) 0.06 18.6 % + CA[ 36]: CA[ 33] HELIX 6.04 > 5.09 (0.30) 0.06 18.6 % + CA[ 45]: CA[ 34] NONBD 4.66 < 4.92 (1.00) 0.05 5.4 % + CA[ 36]: CA[ 32] HELIX 7.39 > 6.28 (0.30) 0.05 17.7 % + CA[ 46]: CA[ 43] HELIX 5.98 > 5.09 (0.30) 0.05 17.5 % + CA[ 47]: CA[ 42] HELIX 7.11 < 8.58 (0.30) 0.05 17.2 % + CA[ 14]: CA[ 7] HELIX 12.44 > 10.63 (0.30) 0.05 17.1 % diff --git a/example/models/example_2.log b/example/models/example_2.log new file mode 100644 index 0000000..30ddfe5 --- /dev/null +++ b/example/models/example_2.log @@ -0,0 +1,20 @@ +CHILD PROCESS ID=7486 + +RUN 2 STARTED: Mon 14-Feb-2000 16:09:38 +# Randseed=958206642 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-8.029e+00 +? centre_dist(): Cdist2[69]=-6.070e-02 +? centre_dist(): Cdist2[69]=-9.654e-02 +DIST: BD=1.733e+00, NB=0.000e+00, RS=9.696e-01, SC=1.107e+01, AC=2.905e+00 +PROJ: Dim=31, Df=8.224e-01, STR=7.103e-02 +TNGL: 0 (cyc=3) +EUCL: IN=1.597e-04 ALL=4.346e-05 +EUCL: BD=5.421e-05, NB=0.000e+00, RS=1.638e-01, SC=7.367e-01, AC=2.735e+00 +CYCLE: 2 (38%, 2 secs) +DIST: BD=1.260e-02, NB=0.000e+00, RS=5.032e-01, SC=9.222e-01, AC=2.769e+00 +PROJ: Dim=30, Df=1.000e-00, STR=3.334e-04 +TNGL: 0 (cyc=1) +EUCL: IN=4.754e-05 ALL=1.721e-05 +EUCL: BD=1.903e-05, NB=0.000e+00, RS=5.471e-01, SC=4.345e-01, AC=2.503e+00 +CYCLE: 3 (39%, 4 secs) diff --git a/example/models/example_2.pdb b/example/models/example_2.pdb new file mode 100644 index 0000000..2f8f8c8 --- /dev/null +++ b/example/models/example_2.pdb @@ -0,0 +1,178 @@ +HEADER PROTEIN MODEL 14-FEB-100 1 +COMPND MODEL C-ALPHA:FAKE C-BETA CHAIN 2 +SOURCE DRAGON 4.18.0-linux [Feb 14 2000, 16:05:54] 3 +EXPDTA THEORETICAL MODEL 4 +REMARK 1 NOT A GENUINE PDB ENTRY! 5 +REMARK 2 RESOLUTION. NOT APPLICABLE. 6 +REMARK 4 BOND SCORE: 4.115e-04 7 +REMARK 4 BUMP SCORE: 1.323e-04 8 +REMARK 4 EXTERNAL RESTRAINT SCORE: 7.242e-01 9 +REMARK 4 SECONDARY STRUCTURE SCORE: 2.085e+00 10 +REMARK 4 ACCESSIBILITY SCORE: 1.351e+00 11 +SEQRES 1 78 GLY TYR PHE CYS GLU SER CYS ARG LYS ILE ILE GLN LYS 12 +SEQRES 2 78 LEU GLU ASP MET VAL GLY PRO GLN PRO ASN GLU ASP THR 13 +SEQRES 3 78 VAL THR GLN ALA ALA SER GLN VAL CYS ASP LYS LEU LYS 14 +SEQRES 4 78 ILE LEU ARG GLY LEU CYS LYS LYS ILE MET ARG SER PHE 15 +SEQRES 5 78 LEU ARG ARG ILE SER TRP ASP ILE LEU THR GLY LYS LYS 16 +SEQRES 6 78 PRO GLN ALA ILE CYS VAL ASP ILE LYS ILE CYS LYS GLU 17 +HELIX 1 H1 SER 6 VAL 18 1 18 +HELIX 2 H2 GLU 24 ASP 36 1 19 +HELIX 3 H3 ARG 42 ILE 60 1 20 +HELIX 4 H4 PRO 66 ASP 72 1 21 +ATOM 1 N GLY 1 9.376 -3.852 8.770 0.58 1.27 22 +ATOM 2 CA GLY 1 7.982 -3.387 8.869 0.58 1.27 23 +ATOM 3 CA TYR 2 4.267 -2.641 8.295 0.38 0.59 24 +ATOM 4 CB TYR 2 1.202 -5.344 8.142 0.38 0.59 25 +ATOM 5 CA PHE 3 3.978 1.125 7.892 0.51 1.48 26 +ATOM 6 CB PHE 3 0.984 3.151 8.724 0.51 1.48 27 +ATOM 7 CA CYS 4 7.177 2.531 6.521 1.00 0.84 28 +ATOM 8 CB CYS 4 7.189 4.109 4.767 1.00 0.84 29 +ATOM 9 CA GLU 5 10.356 1.223 8.164 0.36 0.01 30 +ATOM 10 CB GLU 5 11.346 3.076 10.838 0.36 0.01 31 +ATOM 11 CA SER 6 12.658 -1.727 7.436 0.52 0.49 32 +ATOM 12 CB SER 6 13.276 -3.108 8.760 0.52 0.49 33 +ATOM 13 CA CYS 7 13.564 -1.564 3.720 1.00 0.84 34 +ATOM 14 CB CYS 7 13.302 -3.019 1.880 1.00 0.84 35 +ATOM 15 CA ARG 8 15.068 1.916 4.199 0.42 0.00 36 +ATOM 16 CB ARG 8 15.998 4.811 8.104 0.42 0.00 37 +ATOM 17 CA LYS 9 15.556 2.232 0.411 0.23 0.03 38 +ATOM 18 CB LYS 9 18.560 3.441 -2.039 0.23 0.03 39 +ATOM 19 CA ILE 10 11.946 0.899 -0.035 0.54 3.46 40 +ATOM 20 CB ILE 10 10.918 -1.058 -1.138 0.54 3.46 41 +ATOM 21 CA ILE 11 10.633 3.937 1.984 0.61 3.46 42 +ATOM 22 CB ILE 11 8.947 4.288 3.755 0.61 3.46 43 +ATOM 23 CA GLN 12 13.101 6.190 0.027 0.61 0.03 44 +ATOM 24 CB GLN 12 15.391 8.549 0.852 0.61 0.03 45 +ATOM 25 CA LYS 13 11.872 4.631 -3.264 0.48 0.03 46 +ATOM 26 CB LYS 13 13.670 3.076 -6.554 0.48 0.03 47 +ATOM 27 CA LEU 14 8.223 5.165 -2.130 0.85 2.56 48 +ATOM 28 CB LEU 14 5.865 3.620 -2.110 0.85 2.56 49 +ATOM 29 CA GLU 15 9.196 8.727 -1.035 0.47 0.01 50 +ATOM 30 CB GLU 15 9.431 10.366 1.935 0.47 0.01 51 +ATOM 31 CA ASP 16 9.788 9.625 -4.764 0.73 0.03 52 +ATOM 32 CB ASP 16 11.737 10.555 -6.139 0.73 0.03 53 +ATOM 33 CA MET 17 6.214 8.534 -5.551 0.65 0.86 54 +ATOM 34 CB MET 17 3.393 8.590 -3.920 0.65 0.86 55 +ATOM 35 CA VAL 18 7.287 7.350 -9.025 0.67 2.46 56 +ATOM 36 CB VAL 18 6.861 8.258 -10.835 0.67 2.46 57 +ATOM 37 CA GLY 19 9.297 4.170 -8.517 0.54 1.27 58 +ATOM 38 CA PRO 20 9.080 1.824 -5.498 0.57 0.18 59 +ATOM 39 CB PRO 20 10.537 0.768 -4.696 0.57 0.18 60 +ATOM 40 CA GLN 21 5.472 1.938 -4.346 0.53 0.03 61 +ATOM 41 CB GLN 21 4.874 3.456 -1.374 0.53 0.03 62 +ATOM 42 CA PRO 22 2.468 0.518 -6.195 0.46 0.18 63 +ATOM 43 CB PRO 22 1.530 -1.164 -5.782 0.46 0.18 64 +ATOM 44 CA ASN 23 1.633 2.989 -9.000 0.40 0.01 65 +ATOM 45 CB ASN 23 0.627 2.354 -11.278 0.40 0.01 66 +ATOM 46 CA GLU 24 2.473 6.518 -8.009 0.71 0.01 67 +ATOM 47 CB GLU 24 5.744 7.419 -7.803 0.71 0.01 68 +ATOM 48 CA ASP 25 -0.360 9.034 -7.250 0.67 0.03 69 +ATOM 49 CB ASP 25 -2.069 10.330 -8.646 0.67 0.03 70 +ATOM 50 CA THR 26 0.445 8.791 -3.520 0.32 0.59 71 +ATOM 51 CB THR 26 0.576 10.131 -2.014 0.32 0.59 72 +ATOM 52 CA VAL 27 0.906 5.008 -3.770 0.80 2.46 73 +ATOM 53 CB VAL 27 2.441 3.695 -3.318 0.80 2.46 74 +ATOM 54 CA THR 28 -2.580 4.599 -5.182 0.49 0.59 75 +ATOM 55 CB THR 28 -3.344 3.599 -6.763 0.49 0.59 76 +ATOM 56 CA GLN 29 -4.048 6.834 -2.415 0.57 0.03 77 +ATOM 57 CB GLN 29 -6.118 9.517 -2.339 0.57 0.03 78 +ATOM 58 CA ALA 30 -2.211 4.784 0.231 0.46 1.73 79 +ATOM 59 CB ALA 30 -1.205 5.138 1.437 0.46 1.73 80 +ATOM 60 CA ALA 31 -3.725 1.558 -1.137 0.52 1.73 81 +ATOM 61 CB ALA 31 -3.154 0.095 -1.493 0.52 1.73 82 +ATOM 62 CA SER 32 -7.152 3.237 -1.313 0.70 0.49 83 +ATOM 63 CB SER 32 -8.542 3.454 -2.749 0.70 0.49 84 +ATOM 64 CA GLN 33 -6.847 4.333 2.364 0.57 0.03 85 +ATOM 65 CB GLN 33 -7.472 7.194 4.072 0.57 0.03 86 +ATOM 66 CA VAL 34 -5.552 0.889 3.331 0.49 2.46 87 +ATOM 67 CB VAL 34 -3.728 0.162 3.988 0.49 2.46 88 +ATOM 68 CA CYS 35 -8.967 -0.678 2.602 1.00 0.84 89 +ATOM 69 CB CYS 35 -9.707 -2.776 1.815 1.00 0.84 90 +ATOM 70 CA ASP 36 -10.683 2.570 3.679 0.59 0.03 91 +ATOM 71 CB ASP 36 -11.306 3.025 6.119 0.59 0.03 92 +ATOM 72 CA LYS 37 -11.404 5.091 0.860 0.52 0.03 93 +ATOM 73 CB LYS 37 -13.546 4.428 -2.524 0.52 0.03 94 +ATOM 74 CA LEU 38 -9.717 8.358 1.846 0.76 2.56 95 +ATOM 75 CB LEU 38 -9.353 10.641 0.231 0.76 2.56 96 +ATOM 76 CA LYS 39 -8.635 7.836 5.511 0.76 0.03 97 +ATOM 77 CB LYS 39 -5.325 9.335 7.322 0.76 0.03 98 +ATOM 78 CA ILE 40 -11.272 5.629 7.143 0.50 3.46 99 +ATOM 79 CB ILE 40 -11.008 4.273 9.191 0.50 3.46 100 +ATOM 80 CA LEU 41 -14.396 5.929 4.987 0.61 2.56 101 +ATOM 81 CB LEU 41 -14.178 7.522 2.670 0.61 2.56 102 +ATOM 82 CA ARG 42 -17.783 4.308 5.628 0.54 0.00 103 +ATOM 83 CB ARG 42 -19.869 5.661 9.908 0.54 0.00 104 +ATOM 84 CA GLY 43 -19.830 1.819 3.521 0.53 1.27 105 +ATOM 85 CA LEU 44 -17.931 2.875 0.357 0.49 2.56 106 +ATOM 86 CB LEU 44 -18.674 3.607 -2.263 0.49 2.56 107 +ATOM 87 CA CYS 45 -14.603 2.522 2.232 1.00 0.84 108 +ATOM 88 CB CYS 45 -12.774 3.951 2.661 1.00 0.84 109 +ATOM 89 CA LYS 46 -15.454 -1.096 3.126 0.59 0.03 110 +ATOM 90 CB LYS 46 -15.681 -3.205 6.588 0.59 0.03 111 +ATOM 91 CA LYS 47 -16.001 -1.900 -0.598 0.38 0.03 112 +ATOM 92 CB LYS 47 -18.880 -3.800 -2.739 0.38 0.03 113 +ATOM 93 CA ILE 48 -12.696 -0.163 -1.460 0.66 3.46 114 +ATOM 94 CB ILE 48 -11.999 1.535 -3.113 0.66 3.46 115 +ATOM 95 CA MET 49 -10.902 -2.107 1.263 0.58 0.86 116 +ATOM 96 CB MET 49 -9.122 -1.259 3.859 0.58 0.86 117 +ATOM 97 CA ARG 50 -12.021 -5.439 -0.262 0.65 0.00 118 +ATOM 98 CB ARG 50 -14.034 -9.612 1.481 0.65 0.00 119 +ATOM 99 CA SER 51 -10.929 -4.188 -3.701 0.45 0.49 120 +ATOM 100 CB SER 51 -11.768 -4.175 -5.528 0.45 0.49 121 +ATOM 101 CA PHE 52 -7.584 -2.970 -2.234 0.69 1.48 122 +ATOM 102 CB PHE 52 -5.619 0.174 -2.368 0.69 1.48 123 +ATOM 103 CA LEU 53 -7.143 -6.397 -0.568 0.42 2.56 124 +ATOM 104 CB LEU 53 -6.273 -7.254 1.973 0.42 2.56 125 +ATOM 105 CA ARG 54 -8.363 -8.186 -3.757 0.49 0.00 126 +ATOM 106 CB ARG 54 -11.896 -11.492 -4.803 0.49 0.00 127 +ATOM 107 CA ARG 55 -5.693 -6.335 -5.795 0.47 0.00 128 +ATOM 108 CB ARG 55 -5.691 -3.762 -10.023 0.47 0.00 129 +ATOM 109 CA ILE 56 -3.024 -7.277 -3.245 0.54 3.46 130 +ATOM 110 CB ILE 56 -1.315 -6.004 -1.997 0.54 3.46 131 +ATOM 111 CA SER 57 -4.038 -10.961 -3.383 0.64 0.49 132 +ATOM 112 CB SER 57 -4.473 -12.371 -2.019 0.64 0.49 133 +ATOM 113 CA TRP 58 -3.876 -10.840 -7.202 0.34 0.74 134 +ATOM 114 CB TRP 58 -6.204 -12.101 -10.052 0.34 0.74 135 +ATOM 115 CA ASP 59 -0.551 -9.005 -7.148 0.43 0.03 136 +ATOM 116 CB ASP 59 0.353 -6.927 -8.339 0.43 0.03 137 +ATOM 117 CA ILE 60 0.885 -11.515 -4.602 0.60 3.46 138 +ATOM 118 CB ILE 60 0.038 -13.753 -3.990 0.60 3.46 139 +ATOM 119 CA LEU 61 3.957 -9.700 -3.238 0.60 2.56 140 +ATOM 120 CB LEU 61 4.137 -7.033 -2.339 0.60 2.56 141 +ATOM 121 CA THR 62 6.727 -12.342 -3.378 0.59 0.59 142 +ATOM 122 CB THR 62 8.567 -11.988 -4.132 0.59 0.59 143 +ATOM 123 CA GLY 63 5.620 -15.730 -1.926 0.57 1.27 144 +ATOM 124 CA LYS 64 4.311 -15.289 1.652 0.53 0.03 145 +ATOM 125 CB LYS 64 1.195 -17.194 3.426 0.53 0.03 146 +ATOM 126 CA LYS 65 6.595 -12.651 3.183 0.55 0.03 147 +ATOM 127 CB LYS 65 10.163 -13.306 5.007 0.55 0.03 148 +ATOM 128 CA PRO 66 4.837 -9.270 2.648 0.90 0.18 149 +ATOM 129 CB PRO 66 3.583 -8.748 1.221 0.90 0.18 150 +ATOM 130 CA GLN 67 6.109 -7.150 5.561 0.65 0.03 151 +ATOM 131 CB GLN 67 8.048 -7.748 8.277 0.65 0.03 152 +ATOM 132 CA ALA 68 4.296 -4.078 4.156 0.56 1.73 153 +ATOM 133 CB ALA 68 3.285 -2.979 4.757 0.56 1.73 154 +ATOM 134 CA ILE 69 5.904 -4.726 0.715 0.87 3.46 155 +ATOM 135 CB ILE 69 5.052 -5.164 -1.562 0.87 3.46 156 +ATOM 136 CA CYS 70 9.386 -4.409 2.285 1.00 0.84 157 +ATOM 137 CB CYS 70 11.383 -5.662 2.186 1.00 0.84 158 +ATOM 138 CA VAL 71 8.265 -1.201 4.083 0.60 2.46 159 +ATOM 139 CB VAL 71 8.194 -0.597 6.062 0.60 2.46 160 +ATOM 140 CA ASP 72 7.328 0.437 0.749 0.41 0.03 161 +ATOM 141 CB ASP 72 8.922 2.044 -0.447 0.41 0.03 162 +ATOM 142 CA ILE 73 3.892 -0.446 -0.708 0.74 3.46 163 +ATOM 143 CB ILE 73 3.136 0.856 -2.667 0.74 3.46 164 +ATOM 144 CA LYS 74 1.523 -3.167 0.599 0.41 0.03 165 +ATOM 145 CB LYS 74 1.140 -6.730 -1.308 0.41 0.03 166 +ATOM 146 CA ILE 75 -0.469 -2.389 3.780 0.57 3.46 167 +ATOM 147 CB ILE 75 -1.833 -4.164 4.823 0.57 3.46 168 +ATOM 148 CA CYS 76 -0.458 0.996 5.427 1.00 0.84 169 +ATOM 149 CB CYS 76 -1.117 0.908 7.691 1.00 0.84 170 +ATOM 150 CA LYS 77 0.370 4.491 4.267 0.34 0.03 171 +ATOM 151 CB LYS 77 -1.875 7.815 4.893 0.34 0.03 172 +ATOM 152 CA GLU 78 3.731 4.238 2.401 0.34 0.01 173 +ATOM 153 CB GLU 78 6.693 4.182 0.733 0.34 0.01 174 +ATOM 154 C GLU 78 5.121 4.022 1.643 0.34 0.01 175 +TER 155 GLU 78 176 +MASTER 7 0 0 4 0 0 0 0 154 1 0 6 177 +END 178 diff --git a/example/models/example_2.viol b/example/models/example_2.viol new file mode 100644 index 0000000..357af0c --- /dev/null +++ b/example/models/example_2.viol @@ -0,0 +1,15 @@ +# Restraint violations: 13 +# Atom pair Type Actual Ideal (Strict) Rel.viol Error +SCC[ 4]:SCC[ 76] RESTR 9.37 > 4.50 (1.00) 1.08 108.2 % +SCC[ 35]:SCC[ 45] RESTR 7.44 > 4.50 (1.00) 0.65 65.4 % + CA[ 49]: CA[ 35] NONBD 2.75 < 4.92 (1.00) 0.44 44.0 % + CA[ 9]: CA[ 6] HELIX 8.57 > 5.09 (0.30) 0.20 68.3 % + CA[ 18]: CA[ 15] HELIX 8.33 > 5.09 (0.30) 0.19 63.6 % + CA[ 45]: CA[ 36] NONBD 4.18 < 4.92 (1.00) 0.15 15.1 % +SCC[ 7]:SCC[ 70] RESTR 3.28 < 3.80 (1.00) 0.14 13.7 % + CA[ 76]: CA[ 4] RESTR 7.86 > 7.00 (1.00) 0.12 12.4 % + CA[ 70]: CA[ 7] RESTR 5.25 < 5.80 (1.00) 0.09 9.4 % + CA[ 79]: CA[ 78] BOND 1.60 > 1.54 (2.32) 0.09 3.8 % + CA[ 45]: CA[ 35] RESTR 6.49 > 6.00 (1.00) 0.08 8.2 % + CA[ 10]: CA[ 6] HELIX 7.95 > 6.28 (0.30) 0.08 26.7 % + CA[ 13]: CA[ 6] HELIX 12.47 > 10.63 (0.30) 0.05 17.3 % diff --git a/example/models/example_31.log b/example/models/example_31.log new file mode 100644 index 0000000..61d76ac --- /dev/null +++ b/example/models/example_31.log @@ -0,0 +1,161 @@ +CHILD PROCESS ID=7487 + +RUN 31 STARTED: Mon 14-Feb-2000 16:09:21 +# Randseed=958207649 + +nonlin11_reg():...................Done + +Q=1.424e-02, Stepno=15, t-stat=2.600e-02 + +D=-1.233e+01 * H ^5.723e-01 + 3.252e+01 + +Standard deviations: +------------- +0 | 5.24e-01 +1 | 2.03e-02 +2 | 5.07e-01 +============= + +Correlation matrix: + 0 1 2 +------------------------------------- +0 | 1.00e+00 +1 | -9.76e-01 1.00e+00 +2 | 9.93e-01 -9.52e-01 1.00e+00 +===================================== + +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-7.890e+00 +? centre_dist(): Cdist2[69]=-1.926e-01 +? centre_dist(): Cdist2[69]=-3.554e-01 +DIST: BD=1.198e+00, NB=0.000e+00, RS=8.125e-01, SC=1.182e+01, AC=3.000e+00 +PROJ: Dim=32, Df=8.172e-01, STR=7.077e-02 +TNGL: 0 (cyc=1) +EUCL: IN=1.085e-04 ALL=4.975e-05 +EUCL: BD=5.801e-05, NB=0.000e+00, RS=7.113e-02, SC=8.541e-01, AC=2.592e+00 +CYCLE: 2 (37%, 2 secs) +DIST: BD=4.633e-03, NB=0.000e+00, RS=2.180e-01, SC=7.035e-01, AC=2.609e+00 +PROJ: Dim=30, Df=1.000e+00, STR=8.179e-05 +TNGL: 0 (cyc=1) +EUCL: IN=3.935e-05 ALL=3.720e-05 +EUCL: BD=2.706e-05, NB=0.000e+00, RS=2.444e-01, SC=5.131e-01, AC=2.429e+00 +CYCLE: 3 (39%, 4 secs) +DIST: BD=4.980e-04, NB=0.000e+00, RS=1.462e-01, SC=3.849e-01, AC=2.421e+00 +PROJ: Dim=20, Df=1.000e+00, STR=1.983e-05 +TNGL: 0 (cyc=1) +EUCL: IN=2.204e-05 ALL=6.213e-05 +EUCL: BD=1.790e-06, NB=0.000e+00, RS=3.609e-01, SC=6.221e-01, AC=2.323e+00 +CYCLE: 4 (47%, 6 secs) +DIST: BD=1.142e-03, NB=0.000e+00, RS=3.706e-01, SC=3.083e-01, AC=2.259e+00 +PROJ: Dim=13, Df=1.001e+00, STR=4.007e-05 +TNGL: 0 (cyc=1) +EUCL: IN=1.638e-05 ALL=2.290e-05 +EUCL: BD=5.325e-05, NB=0.000e+00, RS=2.524e-01, SC=2.665e-01, AC=2.272e+00 +CYCLE: 5 (52%, 7 secs) +DIST: BD=5.207e-03, NB=0.000e+00, RS=2.854e-01, SC=2.993e-01, AC=2.250e+00 +PROJ: Dim=12, Df=1.000e+00, STR=1.075e-04 +TNGL: 0 (cyc=2) +EUCL: IN=1.715e-05 ALL=1.560e-05 +EUCL: BD=1.389e-05, NB=0.000e+00, RS=2.740e-01, SC=1.961e-01, AC=2.241e+00 +CYCLE: 6 (53%, 7 secs) +DIST: BD=2.213e-03, NB=0.000e+00, RS=3.138e-01, SC=2.230e-01, AC=2.241e+00 +PROJ: Dim=11, Df=1.001e+00, STR=7.638e-05 +TNGL: 0 (cyc=3) +EUCL: IN=1.171e-05 ALL=4.674e-05 +EUCL: BD=8.385e-06, NB=0.000e+00, RS=2.509e-01, SC=5.318e-01, AC=2.271e+00 +CYCLE: 7 (54%, 8 secs) +DIST: BD=1.114e-02, NB=0.000e+00, RS=3.369e-01, SC=7.988e-01, AC=2.219e+00 +PROJ: Dim=7, Df=1.008e+00, STR=4.754e-04 +TNGL: 0 (cyc=1) +EUCL: IN=1.641e-05 ALL=2.144e-05 +EUCL: BD=6.055e-05, NB=0.000e+00, RS=3.945e-01, SC=4.053e-01, AC=2.258e+00 +CYCLE: 8 (57%, 9 secs) +DIST: BD=3.580e-02, NB=1.942e-05, RS=6.632e-01, SC=1.900e+00, AC=2.087e+00 +PROJ: Dim=6, Df=1.006e+00, STR=1.775e-03 +TNGL: 0 (cyc=3) +EUCL: IN=3.020e-05 ALL=7.920e-05 +EUCL: BD=1.533e-05, NB=4.389e-07, RS=5.963e-01, SC=7.017e-01, AC=2.010e+00 +CYCLE: 9 (58%, 9 secs) +DIST: BD=4.416e-02, NB=1.901e-05, RS=6.063e-01, SC=2.429e+00, AC=1.814e+00 +PROJ: Dim=5, Df=1.005e+00, STR=2.004e-03 +TNGL: 0 (cyc=2) +EUCL: IN=1.761e-05 ALL=4.541e-05 +EUCL: BD=3.101e-05, NB=7.787e-06, RS=4.365e-01, SC=6.950e-01, AC=1.899e+00 +CYCLE: 10 (59%, 10 secs) +DIST: BD=6.972e-02, NB=4.607e-04, RS=5.997e-01, SC=2.966e+00, AC=1.365e+00 +PROJ: Dim=4, Df=1.006e+00, STR=2.911e-03 +TNGL: 0 (cyc=2) +EUCL: IN=2.218e-05 ALL=5.246e-04 +EUCL: BD=3.572e-04, NB=1.401e-06, RS=3.862e-01, SC=1.800e+00, AC=1.403e+00 +CYCLE: 11 (59%, 10 secs) +HAND: (secstr) Good:Bad=3:1 (24:16) +DIST: BD=8.761e-02, NB=7.008e-05, RS=8.713e-01, SC=2.738e+00, AC=9.397e-01 +PROJ: Dim=3, Df=1.016e+00, STR=4.574e-03 +TNGL: 0 (cyc=0) +EUCL: IN=6.762e-06 2oSTR=1.327e+00 ALL=1.020e-03 +** BEST: BD=3.615e-04, NB=3.908e-06, RS=7.133e-01, SC=2.160e+00, AC=1.056e+00 +CYCLE: 12 (60%, 11 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.072e-05 2oSTR=1.262e+00 ALL=7.033e-04 +EUCL: BD=3.636e-04, NB=0.000e+00, RS=6.169e-01, SC=1.774e+00, AC=1.194e+00 +CYCLE: 13 (61%, 11 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.582e-06 2oSTR=1.191e+00 ALL=6.216e-04 +EUCL: BD=1.143e-04, NB=3.727e-05, RS=6.035e-01, SC=2.011e+00, AC=1.185e+00 +CYCLE: 14 (62%, 12 secs) +TNGL: 0 (cyc=0) +EUCL: IN=9.514e-06 2oSTR=1.138e+00 ALL=6.050e-04 +EUCL: BD=1.248e-03, NB=4.340e-04, RS=5.347e-01, SC=1.419e+00, AC=1.121e+00 +CYCLE: 15 (62%, 12 secs) +TNGL: 0 (cyc=0) +EUCL: IN=2.698e-05 2oSTR=1.160e+00 ALL=4.645e-04 +EUCL: BD=4.832e-04, NB=5.451e-04, RS=6.057e-01, SC=1.181e+00, AC=1.201e+00 +CYCLE: 16 (63%, 12 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.777e-05 2oSTR=1.090e+00 ALL=4.508e-04 +EUCL: BD=1.632e-04, NB=5.327e-05, RS=5.188e-01, SC=1.152e+00, AC=1.136e+00 +CYCLE: 17 (64%, 12 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.534e-05 2oSTR=1.149e+00 ALL=3.827e-04 +EUCL: BD=4.541e-04, NB=1.247e-04, RS=5.109e-01, SC=1.067e+00, AC=1.212e+00 +CYCLE: 18 (65%, 13 secs) +HAND: (secstr) Good:Bad=3:1 (24:16) +DIST: BD=1.851e-02, NB=2.590e-05, RS=5.603e-01, SC=1.352e+00, AC=1.045e+00 +PROJ: Dim=3, Df=9.988e-01, STR=7.814e-04 +TNGL: 0 (cyc=0) +EUCL: IN=8.279e-06 2oSTR=1.187e+00 ALL=5.462e-04 +EUCL: BD=6.777e-05, NB=7.899e-06, RS=4.809e-01, SC=2.126e+00, AC=1.172e+00 +CYCLE: 19 (66%, 13 secs) +TNGL: 0 (cyc=0) +EUCL: IN=1.337e-05 2oSTR=1.120e+00 ALL=3.628e-04 +EUCL: BD=2.403e-04, NB=3.353e-05, RS=5.074e-01, SC=1.336e+00, AC=1.190e+00 +CYCLE: 20 (66%, 13 secs) +TNGL: 0 (cyc=0) +EUCL: IN=7.767e-06 2oSTR=1.127e+00 ALL=3.930e-04 +EUCL: BD=3.884e-04, NB=2.738e-04, RS=6.453e-01, SC=1.461e+00, AC=1.271e+00 +CYCLE: 21 (67%, 14 secs) +TNGL: 0 (cyc=0) +EUCL: IN=6.922e-06 2oSTR=1.184e+00 ALL=4.103e-04 +EUCL: BD=6.649e-04, NB=4.293e-04, RS=5.141e-01, SC=1.182e+00, AC=1.218e+00 +CYCLE: 22 (68%, 14 secs) +TNGL: 0 (cyc=0) +EUCL: IN=2.933e-05 2oSTR=1.132e+00 ALL=5.104e-04 +EUCL: BD=2.888e-04, NB=4.326e-04, RS=7.007e-01, SC=1.045e+00, AC=1.159e+00 +CYCLE: 23 (69%, 14 secs) +TNGL: 0 (cyc=0) +EUCL: IN=3.342e-05 2oSTR=1.166e+00 ALL=5.014e-04 +EUCL: BD=4.247e-05, NB=5.026e-04, RS=7.786e-01, SC=1.199e+00, AC=1.131e+00 +CYCLE: 24 (70%, 15 secs) +HAND: (secstr) Good:Bad=1:3 (16:24) +DIST: BD=1.701e-02, NB=2.415e-05, RS=5.557e-01, SC=1.385e+00, AC=1.082e+00 +PROJ: Dim=3, Df=9.988e-01, STR=8.286e-04 , flip +TNGL: 0 (cyc=0) +EUCL: IN=8.969e-06 2oSTR=1.161e+00 ALL=6.514e-04 +EUCL: BD=6.170e-05, NB=1.004e-05, RS=5.288e-01, SC=2.005e+00, AC=1.228e+00 +EXIT: no further improvement on 3D reprojection +TIME: 15 secs +END: BD=3.615e-04, NB=3.908e-06, RS=7.133e-01, SC=2.160e+00, AC=1.056e+00, Itno:24=11+13 +SAVE: example/models/example_31.pdb +VIOLS: example/models/example_31.viol + +Run 31 finished: Mon 14-Feb-2000 16:09:37 diff --git a/example/models/example_31.pdb b/example/models/example_31.pdb new file mode 100644 index 0000000..4ca0aac --- /dev/null +++ b/example/models/example_31.pdb @@ -0,0 +1,178 @@ +HEADER PROTEIN MODEL 14-FEB-100 1 +COMPND MODEL C-ALPHA:FAKE C-BETA CHAIN 2 +SOURCE DRAGON 4.18.0-linux [Feb 14 2000, 16:05:54] 3 +EXPDTA THEORETICAL MODEL 4 +REMARK 1 NOT A GENUINE PDB ENTRY! 5 +REMARK 2 RESOLUTION. NOT APPLICABLE. 6 +REMARK 4 BOND SCORE: 3.615e-04 7 +REMARK 4 BUMP SCORE: 3.908e-06 8 +REMARK 4 EXTERNAL RESTRAINT SCORE: 7.133e-01 9 +REMARK 4 SECONDARY STRUCTURE SCORE: 2.160e+00 10 +REMARK 4 ACCESSIBILITY SCORE: 1.056e+00 11 +SEQRES 1 78 GLY TYR PHE CYS GLU SER CYS ARG LYS ILE ILE GLN LYS 12 +SEQRES 2 78 LEU GLU ASP MET VAL GLY PRO GLN PRO ASN GLU ASP THR 13 +SEQRES 3 78 VAL THR GLN ALA ALA SER GLN VAL CYS ASP LYS LEU LYS 14 +SEQRES 4 78 ILE LEU ARG GLY LEU CYS LYS LYS ILE MET ARG SER PHE 15 +SEQRES 5 78 LEU ARG ARG ILE SER TRP ASP ILE LEU THR GLY LYS LYS 16 +SEQRES 6 78 PRO GLN ALA ILE CYS VAL ASP ILE LYS ILE CYS LYS GLU 17 +HELIX 1 H1 SER 6 VAL 18 1 18 +HELIX 2 H2 GLU 24 ASP 36 1 19 +HELIX 3 H3 ARG 42 ILE 60 1 20 +HELIX 4 H4 PRO 66 ASP 72 1 21 +ATOM 1 N GLY 1 10.747 -4.030 -7.456 0.58 1.27 22 +ATOM 2 CA GLY 1 9.635 -4.154 -8.409 0.58 1.27 23 +ATOM 3 CA TYR 2 6.029 -3.626 -9.303 0.38 0.59 24 +ATOM 4 CB TYR 2 3.319 -6.504 -10.349 0.38 0.59 25 +ATOM 5 CA PHE 3 5.440 0.108 -9.033 0.51 1.48 26 +ATOM 6 CB PHE 3 2.890 1.912 -11.034 0.51 1.48 27 +ATOM 7 CA CYS 4 7.652 1.861 -6.566 1.00 0.84 28 +ATOM 8 CB CYS 4 6.929 3.157 -4.731 1.00 0.84 29 +ATOM 9 CA GLU 5 11.261 1.111 -7.642 0.36 0.01 30 +ATOM 10 CB GLU 5 11.629 0.040 -10.848 0.36 0.01 31 +ATOM 11 CA SER 6 14.507 1.413 -5.569 0.52 0.49 32 +ATOM 12 CB SER 6 16.286 2.133 -6.168 0.52 0.49 33 +ATOM 13 CA CYS 7 13.587 0.028 -2.093 1.00 0.84 34 +ATOM 14 CB CYS 7 12.425 -1.869 -1.306 1.00 0.84 35 +ATOM 15 CA ARG 8 15.319 2.977 -0.411 0.42 0.00 36 +ATOM 16 CB ARG 8 17.798 3.538 3.836 0.42 0.00 37 +ATOM 17 CA LYS 9 14.421 5.330 -3.237 0.23 0.03 38 +ATOM 18 CB LYS 9 16.560 7.802 -5.645 0.23 0.03 39 +ATOM 19 CA ILE 10 10.713 4.435 -2.901 0.54 3.46 40 +ATOM 20 CB ILE 10 8.895 3.969 -4.506 0.54 3.46 41 +ATOM 21 CA ILE 11 10.913 4.544 0.886 0.61 3.46 42 +ATOM 22 CB ILE 11 10.264 2.968 2.674 0.61 3.46 43 +ATOM 23 CA GLN 12 12.492 8.002 0.875 0.61 0.03 44 +ATOM 24 CB GLN 12 15.142 9.384 2.476 0.61 0.03 45 +ATOM 25 CA LYS 13 9.932 9.301 -1.638 0.48 0.03 46 +ATOM 26 CB LYS 13 10.167 11.394 -5.108 0.48 0.03 47 +ATOM 27 CA LEU 14 7.058 7.824 0.453 0.85 2.56 48 +ATOM 28 CB LEU 14 4.939 6.029 -0.040 0.85 2.56 49 +ATOM 29 CA GLU 15 8.272 9.808 3.493 0.47 0.01 50 +ATOM 30 CB GLU 15 8.801 9.062 6.767 0.47 0.01 51 +ATOM 31 CA ASP 16 8.642 12.977 1.324 0.73 0.03 52 +ATOM 32 CB ASP 16 10.609 14.415 0.539 0.73 0.03 53 +ATOM 33 CA MET 17 4.824 13.082 0.826 0.65 0.86 54 +ATOM 34 CB MET 17 2.828 14.132 -1.528 0.65 0.86 55 +ATOM 35 CA VAL 18 4.335 11.436 4.255 0.67 2.46 56 +ATOM 36 CB VAL 18 4.044 12.398 6.065 0.67 2.46 57 +ATOM 37 CA GLY 19 4.487 7.674 3.704 0.54 1.27 58 +ATOM 38 CA PRO 20 3.284 7.016 0.180 0.57 0.18 59 +ATOM 39 CB PRO 20 4.413 6.883 -1.428 0.57 0.18 60 +ATOM 40 CA GLN 21 -0.504 6.662 0.338 0.53 0.03 61 +ATOM 41 CB GLN 21 -2.490 5.401 -2.103 0.53 0.03 62 +ATOM 42 CA PRO 22 -1.725 7.939 3.650 0.46 0.18 63 +ATOM 43 CB PRO 22 -3.195 9.244 3.513 0.46 0.18 64 +ATOM 44 CA ASN 23 -0.543 7.082 7.185 0.40 0.01 65 +ATOM 45 CB ASN 23 1.743 6.086 7.807 0.40 0.01 66 +ATOM 46 CA GLU 24 -3.435 8.001 9.614 0.71 0.01 67 +ATOM 47 CB GLU 24 -3.002 7.351 12.923 0.71 0.01 68 +ATOM 48 CA ASP 25 -6.793 9.623 8.467 0.67 0.03 69 +ATOM 49 CB ASP 25 -8.962 10.380 9.598 0.67 0.03 70 +ATOM 50 CA THR 26 -5.461 9.608 4.874 0.32 0.59 71 +ATOM 51 CB THR 26 -5.311 10.984 3.402 0.32 0.59 72 +ATOM 52 CA VAL 27 -4.527 5.911 5.219 0.80 2.46 73 +ATOM 53 CB VAL 27 -2.754 4.844 5.248 0.80 2.46 74 +ATOM 54 CA THR 28 -8.258 5.022 5.489 0.49 0.59 75 +ATOM 55 CB THR 28 -9.363 3.842 6.700 0.49 0.59 76 +ATOM 56 CA GLN 29 -8.982 7.340 2.468 0.57 0.03 77 +ATOM 57 CB GLN 29 -11.285 9.722 1.751 0.57 0.03 78 +ATOM 58 CA ALA 30 -5.976 5.802 0.609 0.46 1.73 79 +ATOM 59 CB ALA 30 -4.743 6.382 -0.248 0.46 1.73 80 +ATOM 60 CA ALA 31 -7.175 2.287 1.670 0.52 1.73 81 +ATOM 61 CB ALA 31 -6.467 0.975 2.277 0.52 1.73 82 +ATOM 62 CA SER 32 -10.762 3.200 0.683 0.70 0.49 83 +ATOM 63 CB SER 32 -12.549 3.123 1.600 0.70 0.49 84 +ATOM 64 CA GLN 33 -9.506 4.319 -2.789 0.57 0.03 85 +ATOM 65 CB GLN 33 -9.811 7.133 -4.655 0.57 0.03 86 +ATOM 66 CA VAL 34 -7.766 0.960 -3.289 0.49 2.46 87 +ATOM 67 CB VAL 34 -5.857 0.383 -3.844 0.49 2.46 88 +ATOM 68 CA CYS 35 -11.036 -0.886 -2.333 1.00 0.84 89 +ATOM 69 CB CYS 35 -11.909 -1.871 -0.374 1.00 0.84 90 +ATOM 70 CA ASP 36 -12.265 -0.431 -5.948 0.59 0.03 91 +ATOM 71 CB ASP 36 -13.176 -2.215 -7.542 0.59 0.03 92 +ATOM 72 CA LYS 37 -11.828 3.284 -6.650 0.52 0.03 93 +ATOM 73 CB LYS 37 -9.937 4.982 -9.816 0.52 0.03 94 +ATOM 74 CA LEU 38 -13.534 5.075 -3.765 0.76 2.56 95 +ATOM 75 CB LEU 38 -13.518 7.868 -3.376 0.76 2.56 96 +ATOM 76 CA LYS 39 -15.267 2.538 -1.482 0.76 0.03 97 +ATOM 77 CB LYS 39 -15.997 3.758 2.321 0.76 0.03 98 +ATOM 78 CA ILE 40 -16.405 -0.991 -2.295 0.50 3.46 99 +ATOM 79 CB ILE 40 -18.572 -1.549 -1.248 0.50 3.46 100 +ATOM 80 CA LEU 41 -15.001 -3.866 -4.336 0.61 2.56 101 +ATOM 81 CB LEU 41 -12.790 -3.662 -6.075 0.61 2.56 102 +ATOM 82 CA ARG 42 -16.940 -7.051 -3.747 0.54 0.00 103 +ATOM 83 CB ARG 42 -19.891 -8.657 -7.383 0.54 0.00 104 +ATOM 84 CA GLY 43 -16.719 -9.058 -0.494 0.53 1.27 105 +ATOM 85 CA LEU 44 -15.299 -5.983 1.297 0.49 2.56 106 +ATOM 86 CB LEU 44 -15.954 -4.571 3.649 0.49 2.56 107 +ATOM 87 CA CYS 45 -12.626 -5.613 -1.422 1.00 0.84 108 +ATOM 88 CB CYS 45 -12.163 -4.010 -3.091 1.00 0.84 109 +ATOM 89 CA LYS 46 -11.008 -8.899 -0.336 0.59 0.03 110 +ATOM 90 CB LYS 46 -9.906 -12.312 -2.238 0.59 0.03 111 +ATOM 91 CA LYS 47 -10.855 -7.643 3.282 0.38 0.03 112 +ATOM 92 CB LYS 47 -11.816 -9.192 6.909 0.38 0.03 113 +ATOM 93 CA ILE 48 -9.417 -4.315 2.048 0.66 3.46 114 +ATOM 94 CB ILE 48 -9.860 -1.937 2.545 0.66 3.46 115 +ATOM 95 CA MET 49 -7.004 -6.218 -0.277 0.58 0.86 116 +ATOM 96 CB MET 49 -6.303 -6.111 -3.459 0.58 0.86 117 +ATOM 97 CA ARG 50 -5.761 -8.300 2.706 0.65 0.00 118 +ATOM 98 CB ARG 50 -4.473 -13.028 3.402 0.65 0.00 119 +ATOM 99 CA SER 51 -5.938 -5.163 4.922 0.45 0.49 120 +ATOM 100 CB SER 51 -6.879 -4.674 6.630 0.45 0.49 121 +ATOM 101 CA PHE 52 -3.561 -3.353 2.501 0.69 1.48 122 +ATOM 102 CB PHE 52 -3.499 -0.014 0.885 0.69 1.48 123 +ATOM 103 CA LEU 53 -1.274 -6.429 2.444 0.42 2.56 124 +ATOM 104 CB LEU 53 -0.399 -8.206 0.437 0.42 2.56 125 +ATOM 105 CA ARG 54 -0.676 -6.078 6.260 0.49 0.00 126 +ATOM 106 CB ARG 54 -0.841 -9.148 10.139 0.49 0.00 127 +ATOM 107 CA ARG 55 0.104 -2.328 5.781 0.47 0.00 128 +ATOM 108 CB ARG 55 -1.527 1.896 7.780 0.47 0.00 129 +ATOM 109 CA ILE 56 2.688 -3.253 3.091 0.54 3.46 130 +ATOM 110 CB ILE 56 3.249 -2.405 0.839 0.54 3.46 131 +ATOM 111 CA SER 57 4.033 -6.055 5.385 0.64 0.49 132 +ATOM 112 CB SER 57 4.447 -8.012 5.181 0.64 0.49 133 +ATOM 113 CA TRP 58 4.245 -3.505 8.236 0.34 0.74 134 +ATOM 114 CB TRP 58 2.554 -3.132 11.720 0.34 0.74 135 +ATOM 115 CA ASP 59 6.814 -1.475 6.229 0.43 0.03 136 +ATOM 116 CB ASP 59 7.293 1.017 5.886 0.43 0.03 137 +ATOM 117 CA ILE 60 8.361 -4.766 4.955 0.60 3.46 138 +ATOM 118 CB ILE 60 10.483 -5.793 5.694 0.60 3.46 139 +ATOM 119 CA LEU 61 5.946 -6.140 2.303 0.60 2.56 140 +ATOM 120 CB LEU 61 5.314 -4.344 0.223 0.60 2.56 141 +ATOM 121 CA THR 62 4.240 -9.524 1.976 0.59 0.59 142 +ATOM 122 CB THR 62 2.726 -9.546 0.638 0.59 0.59 143 +ATOM 123 CA GLY 63 4.767 -12.874 3.623 0.57 1.27 144 +ATOM 124 CA LYS 64 8.160 -12.682 5.386 0.53 0.03 145 +ATOM 125 CB LYS 64 9.243 -14.596 8.799 0.53 0.03 146 +ATOM 126 CA LYS 65 10.346 -10.357 3.344 0.55 0.03 147 +ATOM 127 CB LYS 65 14.370 -10.820 3.065 0.55 0.03 148 +ATOM 128 CA PRO 66 8.452 -7.563 1.586 0.90 0.18 149 +ATOM 129 CB PRO 66 7.802 -6.125 2.765 0.90 0.18 150 +ATOM 130 CA GLN 67 7.646 -7.169 -2.144 0.65 0.03 151 +ATOM 131 CB GLN 67 9.034 -8.269 -5.034 0.65 0.03 152 +ATOM 132 CA ALA 68 4.609 -5.011 -1.231 0.56 1.73 153 +ATOM 133 CB ALA 68 3.046 -5.016 -1.617 0.56 1.73 154 +ATOM 134 CA ILE 69 6.833 -2.833 0.982 0.87 3.46 155 +ATOM 135 CB ILE 69 6.516 -1.641 3.121 0.87 3.46 156 +ATOM 136 CA CYS 70 9.750 -3.253 -1.469 1.00 0.84 157 +ATOM 137 CB CYS 70 11.958 -4.069 -1.306 1.00 0.84 158 +ATOM 138 CA VAL 71 7.598 -1.803 -4.294 0.60 2.46 159 +ATOM 139 CB VAL 71 7.257 -2.320 -6.269 0.60 2.46 160 +ATOM 140 CA ASP 72 6.336 0.995 -1.971 0.41 0.03 161 +ATOM 141 CB ASP 72 7.490 1.184 0.307 0.41 0.03 162 +ATOM 142 CA ILE 73 3.538 3.543 -2.679 0.74 3.46 163 +ATOM 143 CB ILE 73 2.621 5.278 -1.179 0.74 3.46 164 +ATOM 144 CA LYS 74 2.541 2.688 -6.329 0.41 0.03 165 +ATOM 145 CB LYS 74 1.806 5.489 -9.174 0.41 0.03 166 +ATOM 146 CA ILE 75 2.310 -1.093 -7.004 0.57 3.46 167 +ATOM 147 CB ILE 75 2.982 -2.312 -9.045 0.57 3.46 168 +ATOM 148 CA CYS 76 0.801 -2.555 -3.795 1.00 0.84 169 +ATOM 149 CB CYS 76 1.377 -4.612 -2.792 1.00 0.84 170 +ATOM 150 CA LYS 77 -1.812 -0.068 -2.510 0.34 0.03 171 +ATOM 151 CB LYS 77 -3.658 -0.592 1.068 0.34 0.03 172 +ATOM 152 CA GLU 78 -2.584 2.941 -4.790 0.34 0.01 173 +ATOM 153 CB GLU 78 -3.972 5.898 -5.733 0.34 0.01 174 +ATOM 154 C GLU 78 -2.123 3.325 -6.233 0.34 0.01 175 +TER 155 GLU 78 176 +MASTER 7 0 0 4 0 0 0 0 154 1 0 6 177 +END 178 diff --git a/example/models/example_31.viol b/example/models/example_31.viol new file mode 100644 index 0000000..ddbecd6 --- /dev/null +++ b/example/models/example_31.viol @@ -0,0 +1,10 @@ +# Restraint violations: 8 +# Atom pair Type Actual Ideal (Strict) Rel.viol Error +SCC[ 4]:SCC[ 76] RESTR 9.74 > 4.50 (1.00) 1.17 116.5 % +SCC[ 7]:SCC[ 70] RESTR 2.25 < 3.80 (1.00) 0.41 40.8 % + CA[ 76]: CA[ 4] RESTR 8.61 > 7.00 (1.00) 0.23 23.0 % + CA[ 45]: CA[ 35] RESTR 5.07 < 5.80 (1.00) 0.13 12.6 % + CA[ 70]: CA[ 7] RESTR 5.09 < 5.80 (1.00) 0.12 12.3 % +SCC[ 35]:SCC[ 45] RESTR 3.47 < 3.80 (1.00) 0.09 8.8 % + CA[ 36]: CA[ 33] HELIX 6.34 > 5.09 (0.30) 0.07 24.5 % + CA[ 36]: CA[ 32] HELIX 7.71 > 6.28 (0.30) 0.07 22.8 % diff --git a/example/models/example_32.log b/example/models/example_32.log new file mode 100644 index 0000000..9b7e4e2 --- /dev/null +++ b/example/models/example_32.log @@ -0,0 +1,22 @@ +CHILD PROCESS ID=7487 + +RUN 32 STARTED: Mon 14-Feb-2000 16:09:37 +# Randseed=958207665 +CYCLE: 1 (0%, 0 seconds) +? centre_dist(): Cdist2[69]=-8.507e+00 +? centre_dist(): Cdist2[69]=-2.046e-03 +DIST: BD=6.596e-01, NB=0.000e+00, RS=7.152e-01, SC=5.216e+00, AC=2.888e+00 +PROJ: Dim=31, Df=8.047e-01, STR=6.515e-02 +TNGL: 0 (cyc=2) +EUCL: IN=5.358e-05 ALL=4.660e-05 +EUCL: BD=8.307e-06, NB=0.000e+00, RS=8.922e-02, SC=8.469e-01, AC=2.476e+00 +CYCLE: 2 (38%, 2 secs) +DIST: BD=1.659e-02, NB=0.000e+00, RS=5.153e-01, SC=1.016e+00, AC=2.722e+00 +PROJ: Dim=30, Df=9.998e-01, STR=3.942e-04 +TNGL: 0 (cyc=2) +EUCL: IN=3.116e-05 ALL=3.736e-05 +EUCL: BD=2.566e-05, NB=0.000e+00, RS=5.623e-01, SC=5.616e-01, AC=2.435e+00 +CYCLE: 3 (39%, 4 secs) +DIST: BD=4.136e-03, NB=0.000e+00, RS=6.292e-01, SC=4.993e-01, AC=2.503e+00 +PROJ: Dim=20, Df=1.000e+00, STR=1.084e-04 +TNGL: 0 (cyc=2) diff --git a/example/svdorig/example_1.pdb b/example/svdorig/example_1.pdb new file mode 100644 index 0000000..51d85ba --- /dev/null +++ b/example/svdorig/example_1.pdb @@ -0,0 +1,178 @@ +HEADER PROTEIN MODEL 20-JUN-98 0DRG 0DRG 1 +COMPND MODEL C-ALPHA:FAKE C-BETA CHAIN 0DRG 2 +SOURCE DRAGON 4.17.8-linux [May 21 1998, 17:57:12] 0DRG 3 +EXPDTA THEORETICAL MODEL 0DRG 4 +REMARK 1 NOT A GENUINE PDB ENTRY! 0DRG 5 +REMARK 2 RESOLUTION. NOT APPLICABLE. 0DRG 6 +REMARK 4 BOND SCORE: 8.442e-04 0DRG 7 +REMARK 4 BUMP SCORE: 1.856e-04 0DRG 8 +REMARK 4 EXTERNAL RESTRAINT SCORE: 6.873e-01 0DRG 9 +REMARK 4 SECONDARY STRUCTURE SCORE: 3.450e+00 0DRG 10 +REMARK 4 ACCESSIBILITY SCORE: 1.129e+00 0DRG 11 +SEQRES 1 78 GLY TYR PHE CYS GLU SER CYS ARG LYS ILE ILE GLN LYS 0DRG 12 +SEQRES 2 78 LEU GLU ASP MET VAL GLY PRO GLN PRO ASN GLU ASP THR 0DRG 13 +SEQRES 3 78 VAL THR GLN ALA ALA SER GLN VAL CYS ASP LYS LEU LYS 0DRG 14 +SEQRES 4 78 ILE LEU ARG GLY LEU CYS LYS LYS ILE MET ARG SER PHE 0DRG 15 +SEQRES 5 78 LEU ARG ARG ILE SER TRP ASP ILE LEU THR GLY LYS LYS 0DRG 16 +SEQRES 6 78 PRO GLN ALA ILE CYS VAL ASP ILE LYS ILE CYS LYS GLU 0DRG 17 +HELIX 1 H1 SER 6 VAL 18 1 0DRG 18 +HELIX 2 H2 GLU 24 ASP 36 1 0DRG 19 +HELIX 3 H3 ARG 42 ILE 60 1 0DRG 20 +HELIX 4 H4 PRO 66 ASP 72 1 0DRG 21 +ATOM 1 N GLY 1 10.778 0.147 6.144 0.58 1.27 0DRG 22 +ATOM 2 CA GLY 1 9.924 1.276 5.723 0.58 1.27 0DRG 23 +ATOM 3 CA TYR 2 6.616 2.674 4.357 0.38 0.59 0DRG 24 +ATOM 4 CB TYR 2 4.452 5.776 5.913 0.38 0.59 0DRG 25 +ATOM 5 CA PHE 3 5.713 0.624 1.263 0.51 1.48 0DRG 26 +ATOM 6 CB PHE 3 2.459 0.495 -0.514 0.51 1.48 0DRG 27 +ATOM 7 CA CYS 4 8.959 -1.261 0.434 1.00 0.84 0DRG 28 +ATOM 8 CB CYS 4 8.815 -2.868 -1.289 1.00 0.84 0DRG 29 +ATOM 9 CA GLU 5 12.403 -0.936 1.974 0.36 0.01 0DRG 30 +ATOM 10 CB GLU 5 13.205 -1.554 5.220 0.36 0.01 0DRG 31 +ATOM 11 CA SER 6 14.808 0.193 -0.698 0.52 0.49 0DRG 32 +ATOM 12 CB SER 6 16.540 1.124 -0.283 0.52 0.49 0DRG 33 +ATOM 13 CA CYS 7 13.585 -0.627 -4.241 1.00 0.84 0DRG 34 +ATOM 14 CB CYS 7 13.902 -2.410 -5.754 1.00 0.84 0DRG 35 +ATOM 15 CA ARG 8 11.630 2.672 -4.288 0.42 0.00 0DRG 36 +ATOM 16 CB ARG 8 8.338 4.739 -7.353 0.42 0.00 0DRG 37 +ATOM 17 CA LYS 9 13.296 3.698 -0.965 0.23 0.03 0DRG 38 +ATOM 18 CB LYS 9 16.962 5.066 0.118 0.23 0.03 0DRG 39 +ATOM 19 CA ILE 10 10.043 2.887 0.906 0.54 3.46 0DRG 40 +ATOM 20 CB ILE 10 9.469 2.231 3.217 0.54 3.46 0DRG 41 +ATOM 21 CA ILE 11 8.050 3.517 -2.294 0.61 3.46 0DRG 42 +ATOM 22 CB ILE 11 6.879 2.079 -3.926 0.61 3.46 0DRG 43 +ATOM 23 CA GLN 12 8.642 7.320 -1.892 0.61 0.03 0DRG 44 +ATOM 24 CB GLN 12 9.354 9.880 -3.997 0.61 0.03 0DRG 45 +ATOM 25 CA LYS 13 8.083 6.982 1.916 0.48 0.03 0DRG 46 +ATOM 26 CB LYS 13 10.290 7.732 5.240 0.48 0.03 0DRG 47 +ATOM 27 CA LEU 14 4.567 5.640 1.271 0.85 2.56 0DRG 48 +ATOM 28 CB LEU 14 3.107 3.406 2.181 0.85 2.56 0DRG 49 +ATOM 29 CA GLU 15 3.834 8.554 -1.107 0.47 0.01 0DRG 50 +ATOM 30 CB GLU 15 2.534 8.830 -4.236 0.47 0.01 0DRG 51 +ATOM 31 CA ASP 16 5.184 11.024 1.529 0.73 0.03 0DRG 52 +ATOM 32 CB ASP 16 7.034 12.794 1.563 0.73 0.03 0DRG 53 +ATOM 33 CA MET 17 2.604 9.735 4.091 0.65 0.86 0DRG 54 +ATOM 34 CB MET 17 2.679 8.829 7.222 0.65 0.86 0DRG 55 +ATOM 35 CA VAL 18 -0.103 9.966 1.394 0.67 2.46 0DRG 56 +ATOM 36 CB VAL 18 -1.189 11.640 0.844 0.67 2.46 0DRG 57 +ATOM 37 CA GLY 19 -0.354 6.415 -0.061 0.54 1.27 0DRG 58 +ATOM 38 CA PRO 20 0.166 3.038 1.717 0.57 0.18 0DRG 59 +ATOM 39 CB PRO 20 -0.607 1.444 0.856 0.57 0.18 0DRG 60 +ATOM 40 CA GLN 21 2.049 2.479 5.017 0.53 0.03 0DRG 61 +ATOM 41 CB GLN 21 3.899 -0.211 5.931 0.53 0.03 0DRG 62 +ATOM 42 CA PRO 22 1.404 5.599 7.069 0.46 0.18 0DRG 63 +ATOM 43 CB PRO 22 2.477 5.867 8.699 0.46 0.18 0DRG 64 +ATOM 44 CA ASN 23 -1.217 8.225 6.120 0.40 0.01 0DRG 65 +ATOM 45 CB ASN 23 -1.002 9.997 4.272 0.40 0.01 0DRG 66 +ATOM 46 CA GLU 24 -4.212 7.747 8.408 0.71 0.01 0DRG 67 +ATOM 47 CB GLU 24 -4.233 6.315 11.492 0.71 0.01 0DRG 68 +ATOM 48 CA ASP 25 -7.180 9.207 6.521 0.67 0.03 0DRG 69 +ATOM 49 CB ASP 25 -9.563 9.878 7.175 0.67 0.03 0DRG 70 +ATOM 50 CA THR 26 -5.120 9.251 3.257 0.32 0.59 0DRG 71 +ATOM 51 CB THR 26 -4.677 10.653 1.871 0.32 0.59 0DRG 72 +ATOM 52 CA VAL 27 -4.245 5.541 3.702 0.80 2.46 0DRG 73 +ATOM 53 CB VAL 27 -2.494 4.441 3.606 0.80 2.46 0DRG 74 +ATOM 54 CA THR 28 -7.913 4.686 4.396 0.49 0.59 0DRG 75 +ATOM 55 CB THR 28 -8.904 3.679 5.839 0.49 0.59 0DRG 76 +ATOM 56 CA GLN 29 -8.907 6.554 1.191 0.57 0.03 0DRG 77 +ATOM 57 CB GLN 29 -11.239 8.871 0.366 0.57 0.03 0DRG 78 +ATOM 58 CA ALA 30 -6.109 4.654 -0.674 0.46 1.73 0DRG 79 +ATOM 59 CB ALA 30 -4.865 5.083 -1.602 0.46 1.73 0DRG 80 +ATOM 60 CA ALA 31 -7.511 1.306 0.595 0.52 1.73 0DRG 81 +ATOM 61 CB ALA 31 -6.875 -0.043 1.201 0.52 1.73 0DRG 82 +ATOM 62 CA SER 32 -11.069 2.537 -0.193 0.70 0.49 0DRG 83 +ATOM 63 CB SER 32 -12.765 2.751 0.865 0.70 0.49 0DRG 84 +ATOM 64 CA GLN 33 -10.055 3.192 -3.831 0.57 0.03 0DRG 85 +ATOM 65 CB GLN 33 -10.901 5.488 -6.177 0.57 0.03 0DRG 86 +ATOM 66 CA VAL 34 -7.680 0.155 -3.698 0.49 2.46 0DRG 87 +ATOM 67 CB VAL 34 -5.643 -0.121 -3.451 0.49 2.46 0DRG 88 +ATOM 68 CA CYS 35 -10.700 -2.151 -4.217 1.00 0.84 0DRG 89 +ATOM 69 CB CYS 35 -11.133 -4.439 -3.835 1.00 0.84 0DRG 90 +ATOM 70 CA ASP 36 -12.725 0.800 -5.616 0.59 0.03 0DRG 91 +ATOM 71 CB ASP 36 -15.100 1.533 -5.005 0.59 0.03 0DRG 92 +ATOM 72 CA LYS 37 -10.358 2.396 -8.143 0.52 0.03 0DRG 93 +ATOM 73 CB LYS 37 -10.995 6.102 -9.672 0.52 0.03 0DRG 94 +ATOM 74 CA LEU 38 -7.344 0.221 -9.114 0.76 2.56 0DRG 95 +ATOM 75 CB LEU 38 -4.802 1.215 -9.821 0.76 2.56 0DRG 96 +ATOM 76 CA LYS 39 -8.155 -3.448 -9.022 0.76 0.03 0DRG 97 +ATOM 77 CB LYS 39 -5.424 -6.411 -9.519 0.76 0.03 0DRG 98 +ATOM 78 CA ILE 40 -11.833 -4.010 -8.410 0.50 3.46 0DRG 99 +ATOM 79 CB ILE 40 -12.569 -5.979 -7.113 0.50 3.46 0DRG 100 +ATOM 80 CA LEU 41 -14.358 -1.488 -9.826 0.61 2.56 0DRG 101 +ATOM 81 CB LEU 41 -13.415 0.502 -11.589 0.61 2.56 0DRG 102 +ATOM 82 CA ARG 42 -18.090 -1.515 -8.984 0.54 0.00 0DRG 103 +ATOM 83 CB ARG 42 -20.838 1.838 -11.374 0.54 0.00 0DRG 104 +ATOM 84 CA GLY 43 -19.984 -3.787 -6.543 0.53 1.27 0DRG 105 +ATOM 85 CA LEU 44 -17.016 -6.201 -6.481 0.49 2.56 0DRG 106 +ATOM 86 CB LEU 44 -16.720 -8.994 -6.735 0.49 2.56 0DRG 107 +ATOM 87 CA CYS 45 -14.616 -3.259 -5.932 1.00 0.84 0DRG 108 +ATOM 88 CB CYS 45 -12.745 -2.392 -7.082 1.00 0.84 0DRG 109 +ATOM 89 CA LYS 46 -16.555 -2.326 -2.717 0.59 0.03 0DRG 110 +ATOM 90 CB LYS 46 -18.517 0.971 -1.388 0.59 0.03 0DRG 111 +ATOM 91 CA LYS 47 -15.874 -5.798 -1.278 0.38 0.03 0DRG 112 +ATOM 92 CB LYS 47 -18.144 -8.573 0.625 0.38 0.03 0DRG 113 +ATOM 93 CA ILE 48 -12.199 -5.610 -2.349 0.66 3.46 0DRG 114 +ATOM 94 CB ILE 48 -10.653 -7.075 -3.601 0.66 3.46 0DRG 115 +ATOM 95 CA MET 49 -11.934 -2.189 -0.658 0.58 0.86 0DRG 116 +ATOM 96 CB MET 49 -11.075 0.803 -1.626 0.58 0.86 0DRG 117 +ATOM 97 CA ARG 50 -13.105 -3.770 2.651 0.65 0.00 0DRG 118 +ATOM 98 CB ARG 50 -16.484 -2.595 6.072 0.65 0.00 0DRG 119 +ATOM 99 CA SER 51 -10.579 -6.636 2.217 0.45 0.49 0DRG 120 +ATOM 100 CB SER 51 -10.696 -8.642 2.277 0.45 0.49 0DRG 121 +ATOM 101 CA PHE 52 -7.740 -4.098 1.623 0.69 1.48 0DRG 122 +ATOM 102 CB PHE 52 -5.093 -3.701 -0.946 0.69 1.48 0DRG 123 +ATOM 103 CA LEU 53 -8.703 -2.129 4.719 0.42 2.56 0DRG 124 +ATOM 104 CB LEU 53 -8.946 0.623 5.288 0.42 2.56 0DRG 125 +ATOM 105 CA ARG 54 -9.205 -5.380 6.734 0.49 0.00 0DRG 126 +ATOM 106 CB ARG 54 -12.742 -7.132 9.721 0.49 0.00 0DRG 127 +ATOM 107 CA ARG 55 -5.826 -6.708 5.470 0.47 0.00 0DRG 128 +ATOM 108 CB ARG 55 -4.350 -10.740 3.006 0.47 0.00 0DRG 129 +ATOM 109 CA ILE 56 -4.064 -3.617 6.907 0.54 3.46 0DRG 130 +ATOM 110 CB ILE 56 -2.713 -1.779 5.960 0.54 3.46 0DRG 131 +ATOM 111 CA SER 57 -5.267 -4.560 10.423 0.64 0.49 0DRG 132 +ATOM 112 CB SER 57 -6.426 -3.690 11.815 0.64 0.49 0DRG 133 +ATOM 113 CA TRP 58 -3.321 -7.867 10.158 0.34 0.74 0DRG 134 +ATOM 114 CB TRP 58 -3.816 -11.235 8.276 0.34 0.74 0DRG 135 +ATOM 115 CA ASP 59 -0.672 -6.405 12.559 0.43 0.03 0DRG 136 +ATOM 116 CB ASP 59 1.414 -7.302 13.741 0.43 0.03 0DRG 137 +ATOM 117 CA ILE 60 -2.518 -3.012 12.416 0.60 3.46 0DRG 138 +ATOM 118 CB ILE 60 -2.420 -1.402 14.287 0.60 3.46 0DRG 139 +ATOM 119 CA LEU 61 -4.527 -2.282 9.180 0.60 2.56 0DRG 140 +ATOM 120 CB LEU 61 -6.683 -0.465 9.127 0.60 2.56 0DRG 141 +ATOM 121 CA THR 62 -3.432 -4.167 6.020 0.59 0.59 0DRG 142 +ATOM 122 CB THR 62 -4.869 -4.574 4.661 0.59 0.59 0DRG 143 +ATOM 123 CA GLY 63 0.244 -5.321 5.301 0.57 1.27 0DRG 144 +ATOM 124 CA LYS 64 2.251 -2.362 6.705 0.53 0.03 0DRG 145 +ATOM 125 CB LYS 64 0.343 1.135 7.490 0.53 0.03 0DRG 146 +ATOM 126 CA LYS 65 6.020 -2.632 7.384 0.55 0.03 0DRG 147 +ATOM 127 CB LYS 65 7.974 0.346 9.332 0.55 0.03 0DRG 148 +ATOM 128 CA PRO 66 7.872 -5.820 6.153 0.90 0.18 0DRG 149 +ATOM 129 CB PRO 66 9.652 -6.301 6.846 0.90 0.18 0DRG 150 +ATOM 130 CA GLN 67 6.077 -8.023 3.501 0.65 0.03 0DRG 151 +ATOM 131 CB GLN 67 6.119 -11.299 2.631 0.65 0.03 0DRG 152 +ATOM 132 CA ALA 68 4.211 -4.838 2.278 0.56 1.73 0DRG 153 +ATOM 133 CB ALA 68 2.704 -4.467 1.852 0.56 1.73 0DRG 154 +ATOM 134 CA ILE 69 7.604 -2.948 2.542 0.87 3.46 0DRG 155 +ATOM 135 CB ILE 69 8.361 -0.725 3.305 0.87 3.46 0DRG 156 +ATOM 136 CA CYS 70 9.267 -6.132 1.067 1.00 0.84 0DRG 157 +ATOM 137 CB CYS 70 11.093 -7.520 1.622 1.00 0.84 0DRG 158 +ATOM 138 CA VAL 71 6.569 -6.000 -1.735 0.60 2.46 0DRG 159 +ATOM 139 CB VAL 71 4.996 -7.192 -2.361 0.60 2.46 0DRG 160 +ATOM 140 CA ASP 72 8.190 -2.595 -2.816 0.41 0.03 0DRG 161 +ATOM 141 CB ASP 72 7.021 -0.421 -3.498 0.41 0.03 0DRG 162 +ATOM 142 CA ILE 73 11.977 -3.219 -2.635 0.74 3.46 0DRG 163 +ATOM 143 CB ILE 73 13.687 -1.954 -1.380 0.74 3.46 0DRG 164 +ATOM 144 CA LYS 74 12.403 -6.328 -4.918 0.41 0.03 0DRG 165 +ATOM 145 CB LYS 74 14.831 -9.534 -4.364 0.41 0.03 0DRG 166 +ATOM 146 CA ILE 75 9.955 -5.642 -7.858 0.57 3.46 0DRG 167 +ATOM 147 CB ILE 75 9.168 -7.215 -9.592 0.57 3.46 0DRG 168 +ATOM 148 CA CYS 76 9.014 -1.943 -7.477 1.00 0.84 0DRG 169 +ATOM 149 CB CYS 76 9.648 -0.485 -5.734 1.00 0.84 0DRG 170 +ATOM 150 CA LYS 77 6.846 -1.070 -10.475 0.34 0.03 0DRG 171 +ATOM 151 CB LYS 77 5.164 2.526 -11.325 0.34 0.03 0DRG 172 +ATOM 152 CA GLU 78 6.606 -4.322 -12.497 0.34 0.01 0DRG 173 +ATOM 153 CB GLU 78 5.821 -6.728 -14.768 0.34 0.01 0DRG 174 +ATOM 154 C GLU 78 6.942 -5.807 -12.852 0.34 0.01 0DRG 175 +TER 155 GLU 78 0DRG 176 +MASTER 7 0 0 4 0 0 0 0 154 1 0 6 0DRG 177 +END 0DRG 178 diff --git a/example/svdorig/example_1.viol b/example/svdorig/example_1.viol new file mode 100644 index 0000000..5e72d0d --- /dev/null +++ b/example/svdorig/example_1.viol @@ -0,0 +1,25 @@ +# Restraint violations: 23 +# Atom pair Type Actual Ideal (Strict) Rel.viol Error +SCC[ 7]:SCC[ 70] RESTR 9.40 > 4.50 (1.00) 1.09 108.9 % + CA[ 70]: CA[ 7] RESTR 8.78 > 6.00 (1.00) 0.46 46.4 % + CA[ 45]: CA[ 35] RESTR 4.42 < 5.80 (1.00) 0.24 23.9 % + CA[ 49]: CA[ 35] NONBD 3.77 < 4.92 (1.00) 0.23 23.4 % + CA[ 67]: CA[ 7] NONBD 13.08 > 11.09 (1.00) 0.18 17.9 % + CA[ 48]: CA[ 35] NONBD 4.21 < 4.92 (1.00) 0.14 14.5 % +SCC[ 4]:SCC[ 76] RESTR 5.11 > 4.50 (1.00) 0.14 13.6 % + CA[ 76]: CA[ 4] RESTR 7.94 > 7.00 (1.00) 0.13 13.4 % + CA[ 10]: CA[ 7] HELIX 7.17 > 5.09 (0.30) 0.12 40.8 % + CA[ 59]: CA[ 56] HELIX 7.16 > 5.09 (0.30) 0.12 40.6 % + CA[ 59]: CA[ 55] HELIX 8.77 > 6.28 (0.30) 0.12 39.8 % + CA[ 45]: CA[ 36] NONBD 4.49 < 4.92 (1.00) 0.09 8.8 % + CA[ 60]: CA[ 57] HELIX 3.73 < 4.99 (0.30) 0.08 25.2 % + CA[ 59]: CA[ 52] HELIX 13.22 > 10.63 (0.30) 0.07 24.4 % + CA[ 70]: CA[ 8] NONBD 10.57 > 9.87 (1.00) 0.07 7.1 % + CA[ 9]: CA[ 6] HELIX 3.83 < 4.99 (0.30) 0.07 23.3 % + CA[ 35]: CA[ 32] HELIX 6.19 > 5.09 (0.30) 0.06 21.6 % + CA[ 59]: CA[ 53] HELIX 12.01 > 9.93 (0.30) 0.06 21.0 % + CA[ 68]: CA[ 7] NONBD 12.17 > 11.48 (1.00) 0.06 6.0 % + CA[ 36]: CA[ 33] HELIX 4.00 < 4.99 (0.30) 0.06 19.8 % + CA[ 59]: CA[ 54] HELIX 10.38 > 8.75 (0.30) 0.06 18.6 % + CA[ 66]: CA[ 7] NONBD 12.95 > 12.28 (1.00) 0.05 5.5 % + CA[ 12]: CA[ 9] HELIX 5.97 > 5.09 (0.30) 0.05 17.2 % diff --git a/lib/Makefile b/lib/Makefile new file mode 100644 index 0000000..837b66d --- /dev/null +++ b/lib/Makefile @@ -0,0 +1,387 @@ +# Description of the "lib" directory +# ================================== +# +# This directory contains all my utilities, both C and C++. +# Since the introduction of the IRIX 6.2/MIPSPro 7.0 compilers, +# three application binary interfaces (ABIs) are supported on +# SGI machines. O32 is the old 32-bit ABI (MIPS I,II instruction set), +# N32 is the new 32-bit ABI with more floating-point registers, +# MIPS III/IV instruction set and 64-bit calling conventions; +# N64 is the fully 64-bit ABI (MIPS III/IV on R8000 and R10000 only). +# Object files and libraries for the different ABIs are stored +# separately as they cannot be linked together. +# In addition, the GCC/Linux, GCC/Solaris ABI is supported now. +# +# Directory layout +# ================ +# +# lib: root of the utility hierarchy <--YOU ARE HERE +# | +# +-- irix-o32: old 32-bit SGI ABI \ +# | | +# +-- irix-n32: new 32/64-bit SGI ABI | +# | | +# +-- irix-n64: new 64-bit SGI ABI | +# | |-- $(UTILS) directories +# +-- solaris-sparc: GCC/solaris SPARC | Compilation performed here +# | | +# +-- solaris-i86 : GCC/Solaris x86 | +# | | +# +-- linux: GCC/Linux ABI / +# | +# +-- c: C source tree +# | | +# | +-- incl: header files (*.h) +# | | +# | +-- src: function definition files (*.c) +# | +# +-- cc: C++ source tree +# | +# +-- incl: non-template class header files (*.h) +# | +# +-- src: non-template function definition files (*.c++) +# | +# +-- tmpl: template declarations (*.h) and definitions (*.c++) + +# Usage: +# The library modules are usually made by Top Makefiles in the +# project directories. Upon invocation, these should specify +# the target list, cd to the corresponding lib/$(ABI) subdirectory +# and invoke this Makefile from there as "make -f ../Makefile ABI='$(ABI)' ..." +# The following macro is expected from the Top Makefile: +# ABI: currently (irix-(o32|n32|n64)|solaris-(sparc|i86)|linux), +# selects the application binary interface directory +# As a convention, C++ macro names begin with "CC", C macros with "C". + +# The shell +SHELL = /bin/sh + +# ---- Subdirectories ---- + +# Source trees +CTREE = ../c +CCTREE = ../cc + +# Header directories +CHDR = $(CTREE)/incl +CCHDR = $(CCTREE)/incl +CCTMPLHDR = $(CCTREE)/tmpl + +# Source directories +CSRC = $(CTREE)/src +CCSRC = $(CCTREE)/src + +# ---- ABI-specific macros ---- + +# The settings for a given ABI or architecture come from +# an include file which is called "Makefile." in the "lib" directory. +# When porting to a new ABI, a new include file must be prepared. + +include ../Makefile.$(ABI) + +# ---- All compiler flags together ---- + +CFLAGS = $(COPT) $(LIBABIFG) -I$(CHDR) +CCFLAGS = $(CCOPT) $(LIBABIFG) -I$(CCHDR) -I$(CCTMPLHDR) -I$(CHDR) + +# ---- TARGET LIST ---- + +# When adding a new object or library to this Makefile, +# don't forget to update these macros below! + +COBJECTS = bestrot.o \ + cmdopt.o \ + dsspread.o \ + matrix.o \ + portrandom.o \ + pdbprot.o \ + ql.o \ + siva.o \ + tstamp.o + +CCLIBRARIES = libinalg.a libccstat.a libccutils.a +CCDSOS = $(LIBRARIES:.a=.so) +CCOBJECTS = Hirot.o Points.o + +# ---- MAIN RULES ---- + +# generate all objects and libraries (default) +# add 'dsos' if DSOs are needed +all-c: objs-c +all-c-nosgi: objs-c +all-cc: libs-cc objs-cc + +# make libraries only +libs-cc: $(CCLIBRARIES) + +# make DSOs +# dsos-cc: $(CCDSOS) + +# make object modules only +objs-c: $(COBJECTS) +objs-cc: $(CCOBJECTS) + +# cleanup +clean-c: + rm -f $(COBJECTS) +clean-cc: + rm -f $(CCLIBRARIES) $(CCDSOS) $(CCOBJECTS) + +# ---- NON-LIBRARY C MODULES ---- + +# McLachlan's best rotation +bestrot.o: $(CSRC)/bestrot.c $(CHDR)/bestrot.h $(CHDR)/matrix.h $(CHDR)/siva.h + $(CC) $(CFLAGS) -c $(CSRC)/bestrot.c -o $@ + +# command-line options +cmdopt.o: $(CSRC)/cmdopt.c $(CHDR)/cmdopt.h + $(CC) $(CFLAGS) -c $(CSRC)/cmdopt.c -o $@ + +# DSSP file processing +dsspread.o: $(CSRC)/dsspread.c $(CHDR)/dsspread.h + $(CC) $(CFLAGS) -c $(CSRC)/dsspread.c -o $@ + +# Simple matrices +matrix.o: $(CSRC)/matrix.c $(CHDR)/matrix.h + $(CC) $(CFLAGS) -c $(CSRC)/matrix.c -o $@ + +# Portable random number generators +portrandom.o: $(CSRC)/portrandom.c $(CHDR)/portrandom.h + $(CC) $(CFLAGS) -c $(CSRC)/portrandom.c -o $@ + +# Protein-oriented PDB I/O +pdbprot.o: $(CSRC)/pdbprot.c $(CHDR)/pdbprot.h + $(CC) $(CFLAGS) -c $(CSRC)/pdbprot.c -o $@ + +# QL decomposition +ql.o: $(CSRC)/ql.c $(CHDR)/ql.h $(CHDR)/matrix.h + $(CC) $(CFLAGS) -c $(CSRC)/ql.c -o $@ + +# Singular Value Decomposition +siva.o: $(CSRC)/siva.c $(CHDR)/siva.h $(CHDR)/matrix.h $(CHDR)/ql.h + $(CC) $(CFLAGS) -c $(CSRC)/siva.c -o $@ + +# Time stamps +tstamp.o: $(CSRC)/tstamp.c $(CHDR)/tstamp.h + $(CC) $(CFLAGS) -c $(CSRC)/tstamp.c -o $@ + +# ---- C++ LIBRARIES ---- + +# Both static libraries (*.a) and DSOs (*.so) are provided. +# DSO building can be done via the "CC" driver (as opposed to C-language +# DSOs which are built using "ld"). + +# ---- libinalg.a ---- + +# The Linear Algebra library +libinalg.a: libinalg.a(Matbase.o) libinalg.a(Rectbase.o) \ + libinalg.a(Sqbase.o) libinalg.a(Matrix.o) \ + libinalg.a(Sqmat.o) libinalg.a(Trimat.o) \ + libinalg.a(Lu.o) libinalg.a(Ql.o) libinalg.a(Rsmdiag.o) \ + libinalg.a(Safety.o) libinalg.a(Svd.o) \ + libinalg.a(Vector.o) libinalg.a(Vmutils.o) + rm $? + +# DSO version +# libinalg.so: libinalg.a +# cd $(ABI); $(CXX) $(SOFLAGS) -shared -rdata_shared -all $(@F:.so=.a) -o $(@F) + +# ABC of all matrices +libinalg.a(Matbase.o): $(CCSRC)/Matbase.c++ $(CCHDR)/Matbase.h $(CCHDR)/Vector.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Matbase.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# ABC of rectangular matrices (Matrix,Sqmat) +libinalg.a(Rectbase.o): $(CCSRC)/Rectbase.c++ $(CCHDR)/Rectbase.h $(CCHDR)/Matbase.h $(CCHDR)/Vector.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Rectbase.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# ABC of square matrices (Sqmat,Trimat) +libinalg.a(Sqbase.o): $(CCSRC)/Sqbase.c++ $(CCHDR)/Sqbase.h $(CCHDR)/Matbase.h $(CCHDR)/Vector.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Sqbase.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# General RxC matrices +libinalg.a(Matrix.o): $(CCSRC)/Matrix.c++ $(CCHDR)/Matrix.h $(CCHDR)/Matbase.h $(CCHDR)/Rectbase.h $(CCHDR)/Vector.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Matrix.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# RxR square matrices +libinalg.a(Sqmat.o): $(CCSRC)/Sqmat.c++ $(CCHDR)/Sqmat.h \ + $(CCHDR)/Matbase.h $(CCHDR)/Rectbase.h $(CCHDR)/Sqbase.h $(CCHDR)/Vector.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Sqmat.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# symmetric RxR matrices stored in triangular form +libinalg.a(Trimat.o): $(CCSRC)/Trimat.c++ $(CCHDR)/Trimat.h \ + $(CCHDR)/Matbase.h $(CCHDR)/Sqbase.h $(CCHDR)/Sqmat.h $(CCHDR)/Vector.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Trimat.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# LU-decomposition +libinalg.a(Lu.o): $(CCHDR)/Lu.h $(CCSRC)/Lu.c++ $(CCHDR)/Sqmat.h $(CCHDR)/Vector.h $(CCTMPLHDR)/Array.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Lu.c++ -o $% + $(TMPLINK) $% + $(AR) $(ARFLAGS) $@ $% + +# QL-decomposition and symmetric diagonalisation +libinalg.a(Ql.o): $(CCSRC)/Ql.c++ $(CCHDR)/Ql.h $(CCHDR)/Trimat.h $(CCHDR)/Sqmat.h $(CCHDR)/Vector.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Ql.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# Safe division and hypot() +libinalg.a(Safety.o): $(CCSRC)/Safety.c++ $(CCHDR)/Safety.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Safety.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# Real symmetric matrix diagonalisation: all pos. eigenvectors +libinalg.a(Rsmdiag.o): $(CCSRC)/Rsmdiag.c++ $(CCHDR)/Rsmdiag.h \ + $(CCHDR)/Trimat.h $(CCHDR)/Sqmat.h \ + $(CCHDR)/Vector.h $(CCHDR)/Safety.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Rsmdiag.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# Singular value decomposition +libinalg.a(Svd.o): $(CCSRC)/Svd.c++ $(CCHDR)/Svd.h $(CCHDR)/Vmutils.h $(CCHDR)/Trimat.h \ + $(CCHDR)/Sqmat.h $(CCHDR)/Matrix.h $(CCHDR)/Vector.h $(CCHDR)/Safety.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Svd.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# Vectors +libinalg.a(Vector.o): $(CCSRC)/Vector.c++ $(CCHDR)/Vector.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Vector.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# Other vector/matrix utilities +libinalg.a(Vmutils.o): $(CCSRC)/Vmutils.c++ $(CCHDR)/Vmutils.h $(CCHDR)/Trimat.h $(CCHDR)/Sqmat.h \ + $(CCHDR)/Matrix.h $(CCHDR)/Matbase.h $(CCHDR)/Vector.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Vmutils.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# archive +LIBINALG_SRC = $(CCSRC)/Matbase.c++ $(CCHDR)/Matbase.h \ + $(CCSRC)/Rectbase.c++ $(CCHDR)/Rectbase.h \ + $(CCSRC)/Sqbase.c++ $(CCHDR)/Sqbase.h \ + $(CCSRC)/Matrix.c++ $(CCHDR)/Matrix.h \ + $(CCSRC)/Sqmat.c++ $(CCHDR)/Sqmat.h \ + $(CCSRC)/Trimat.c++ $(CCHDR)/Trimat.h \ + $(CCSRC)/Lu.c++ $(CCHDR)/Lu.h \ + $(CCSRC)/Ql.c++ $(CCHDR)/Ql.h \ + $(CCSRC)/Rsmdiag.c++ $(CCHDR)/Rsmdiag.h \ + $(CCSRC)/Safety.c++ $(CCHDR)/Safety.h \ + $(CCSRC)/Svd.c++ $(CCHDR)/Svd.h \ + $(CCSRC)/Vector.c++ $(CCHDR)/Vector.h \ + $(CCSRC)/Vmutils.c++ $(CCHDR)/Vmutils.h + +libinalg.tar: $(LIBINALG_SRC) + tar cvf $@ $(LIBINALG_SRC) + +# ---- libccstat.a ---- + +# The "CC statistics" library. Depends on -linalg +libccstat.a: libccstat.a(Cdf.o) libccstat.a(Pmest.o) \ + libccstat.a(Stat2.o) + rm $? + +# DSO version +# libccstat.so: libccstat.a libinalg.a +# cd $(ABI); $(CXX) $(SOFLAGS) -shared -rdata_shared -no_unresolved -all $(@F:.so=.a) -o $(@F) -none libinalg.a + +# Cumulative distribution function approximation +libccstat.a(Cdf.o): $(CCSRC)/Cdf.c++ $(CCHDR)/Cdf.h $(CCHDR)/Vector.h $(CCTMPLHDR)/Array.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Cdf.c++ -o $% + $(TMPLINK) $% + $(AR) $(ARFLAGS) $@ $% + +# Parameter estimation +libccstat.a(Pmest.o): $(CCSRC)/Pmest.c++ $(CCHDR)/Pmest.h \ + $(CCHDR)/Vector.h $(CCHDR)/Matrix.h $(CCHDR)/Trimat.h $(CCHDR)/Vmutils.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Pmest.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# Two-way statistics +libccstat.a(Stat2.o): $(CCSRC)/Stat2.c++ $(CCHDR)/Stat2.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Stat2.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# archive +LIBCCSTAT_SRC = $(CCSRC)/Cdf.c++ $(CCHDR)/Cdf.h \ + $(CCSRC)/Pmest.c++ $(CCHDR)/Pmest.h \ + $(CCSRC)/Stat2.c++ $(CCHDR)/Stat2.h + +libccstat.tar: $(LIBCCSTAT_SRC) + tar cvf $@ $(LIBCCSTAT_SRC) + +# ---- libccutils.a ---- + +# The "ccutils" library (for miscellaneous utilities). +libccutils.a: libccutils.a(Bits.o) libccutils.a(Cplx.o) \ + libccutils.a(Spl.o) libccutils.a(String.o) + rm $? + +# DSO version +# libccutils.so: libccutils.a +# cd $(ABI); $(CXX) $(SOFLAGS) -shared -rdata_shared -all $(@F:.so=.a) -o $(@F) + +# Bit vectors +libccutils.a(Bits.o): $(CCSRC)/Bits.c++ $(CCHDR)/Bits.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Bits.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# Complex arithmetics +libccutils.a(Cplx.o): $(CCSRC)/Cplx.c++ $(CCHDR)/Cplx.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/Cplx.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# Splines +libccutils.a(Spl.o): $(CCSRC)/Spl.c++ $(CCHDR)/Spl.h $(CCTMPLHDR)/Array.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Spl.c++ -o $% + $(TMPLINK) $% + $(AR) $(ARFLAGS) $@ $% + +# strings +libccutils.a(String.o): $(CCSRC)/String.c++ $(CCHDR)/String.h + $(CXX) $(CCFLAGS) -c $(CCSRC)/String.c++ -o $% + $(AR) $(ARFLAGS) $@ $% + +# archive +LIBCCUTILS_SRC = $(CCSRC)/Bits.c++ $(CCHDR)/Bits.h \ + $(CCSRC)/Cplx.c++ $(CCHDR)/Cplx.h \ + $(CCSRC)/Spl.c++ $(CCHDR)/Spl.h \ + $(CCSRC)/String.c++ $(CCHDR)/String.h + +libccutils.tar: $(LIBCCUTILS_SRC) + tar cvf $@ $(LIBCCUTILS_SRC) + +# +# ---- C++ NON-LIBRARY MODULES ---- +# + +# Best RMSD rotation in high-dimensional spaces +Hirot.o: $(CCSRC)/Hirot.c++ $(CCHDR)/Hirot.h $(CCHDR)/Vector.h $(CCHDR)/Sqmat.h \ + $(CCHDR)/Lu.h $(CCHDR)/Svd.h $(CCHDR)/Points.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Hirot.c++ -o $@ + +# Maskable array of vectors +Points.o: $(CCSRC)/Points.c++ $(CCHDR)/Points.h $(CCTMPLHDR)/Array.h $(CCHDR)/Vector.h \ + $(CCHDR)/Bits.h $(CCHDR)/Matrix.h $(CCHDR)/Sqmat.h $(CCHDR)/Trimat.h + $(CXX) $(CCFLAGS) $(TMPLOPTS) -c $(CCSRC)/Points.c++ -o $@ + +# archive +CCMODS_SRC = $(CCSRC)/Hirot.c++ $(CCHDR)/Hirot.h \ + $(CCSRC)/Points.c++ $(CCHDR)/Points.h + +ccmods.tar: $(CCMODS_SRC) + tar cvf $@ $(CCMODS_SRC) + + +# ---- Template archives ---- + +TMPL_DECLS = $(CCTMPLHDR)/Array.h $(CCTMPLHDR)/List1.h $(CCTMPLHDR)/Maskarr.h \ + $(CCTMPLHDR)/Smartptr.h +TMPL_DEFS = $(TMPL_DECLS:.h=.c++) + +templates.tar: $(TMPL_DECLS) $(TMPL_DEFS) + tar cvf $@ $(TMPL_DECLS) $(TMPL_DEFS) + +# ===================================================== diff --git a/lib/Makefile.irix-n32 b/lib/Makefile.irix-n32 new file mode 100644 index 0000000..9a74daf --- /dev/null +++ b/lib/Makefile.irix-n32 @@ -0,0 +1,28 @@ +# Makefile.irix-n32 +# +# This file contains the macros needed for the SGI N32 ABI. +# It will be included by Makefiles in the "bin" and "lib" directories. +# 9-Jul-1997. + +# The sub/Makefile in "lib" expect these +# macros to be set on the command line when invoked. +# CC: the C compiler +# CXX: the C++ compiler +# LIBABIFG: the ABI-dependent flags + +CC = cc +CXX = CC +LIBABIFG = -n32 -mips3 -OPT:Olimit=6000 \ + -D__INLINE_INTRINSICS -D__MATH_HAS_NO_SIDE_EFFECTS + +# C optimisation +COPT = -O2 -ansi + +# C++ optimisation +CCOPT = -O2 -xansi + +# Template prelinker (for SGI only, use dummy command for non-SGI) +TMPLINK = /usr/lib/DCC/edg_prelink + +# Template instantiation options +TMPLOPTS = -DINCLUDE_TMPL_DEFS -no_auto_include diff --git a/lib/Makefile.irix-n64 b/lib/Makefile.irix-n64 new file mode 100644 index 0000000..3ce7343 --- /dev/null +++ b/lib/Makefile.irix-n64 @@ -0,0 +1,28 @@ +# Makefile.irix-n64 +# +# This file contains the macros needed for the SGI N64 ABI. +# It will be included by Makefiles in the "bin" and "lib" directories. +# 9-Jul-1997. + +# The sub/Makefile in "lib" expect these +# macros to be set on the command line when invoked. +# CC: the C compiler +# CXX: the C++ compiler +# LIBABIFG: the ABI-dependent flags + +CC = cc +CXX = CC +LIBABIFG = -64 -mips4 -r10000 -OPT:Olimit=6000 \ + -D__INLINE_INTRINSICS -D__MATH_HAS_NO_SIDE_EFFECTS -I/usr/include/CC + +# C optimisation +COPT = -O2 -ansi + +# C++ optimisation +CCOPT = -O2 -xansi + +# Template prelinker (for SGI only, use dummy command for non-SGI) +TMPLINK = /usr/lib/DCC/edg_prelink + +# Template instantiation options +TMPLOPTS = -DINCLUDE_TMPL_DEFS -no_auto_include diff --git a/lib/Makefile.irix-o32 b/lib/Makefile.irix-o32 new file mode 100644 index 0000000..572db2f --- /dev/null +++ b/lib/Makefile.irix-o32 @@ -0,0 +1,28 @@ +# Makefile.irix-o32 +# +# This file contains the macros needed for the SGI O32 ABI. +# It will be included by Makefiles in the "bin" and "lib" directories. +# 9-Jul-1997. + +# The sub/Makefile in "lib" expect these +# macros to be set on the command line when invoked. +# CC: the C compiler +# CXX: the C++ compiler +# LIBABIFG: the ABI-dependent flags + +CC = cc +CXX = CC +LIBABIFG = -32 -mips2 -Olimit 6000 \ + -D__INLINE_INTRINSICS -D__MATH_HAS_NO_SIDE_EFFECTS + +# C optimisation +COPT = -O2 -ansi + +# C++ optimisation +CCOPT = -O2 -xansi -exceptions + +# Template prelinker (for SGI only, use dummy command for non-SGI) +TMPLINK = /usr/lib/DCC/edg_prelink + +# Template instantiation options +TMPLOPTS = -DINCLUDE_TMPL_DEFS -no_auto_include diff --git a/lib/Makefile.linux b/lib/Makefile.linux new file mode 100644 index 0000000..ca128e4 --- /dev/null +++ b/lib/Makefile.linux @@ -0,0 +1,52 @@ +# Makefile.linux +# +# This file contains the macros needed for the GCC compiler under Linux. +# NOTE: Do not use GCC before version 2.8.1! +# It will be included by Makefiles in the "bin" and "lib" directories. +# 9-Jul-1997. + +# The sub/Makefile in "lib" expect these +# macros to be set on the command line when invoked. +# CC: the C compiler +# CXX: the C++ compiler +# LIBABIFG: the ABI-dependent flags. The macro names ending in "BUG" +# switch on workarounds for certain bugs. +# Here is a brief explanation of the macros:- +# +# GLIBC_STRTOK_BUG: in the GNU C library (version 1.x), at least +# as it is included with Linux 2.0.x in the Slackware 3.1.0 distribution, +# strtok(Str,...) dumps core if Str is the formal parameter +# of a function. This macro switches on a workaround. +# NO_MATHFLOATFUNC: set if the math library does not contain things +# like "float sqrtf(float)" in addition to the usual +# "double sqrt(double)". So far I have seen those only on +# SGIs; SGI claims that these are ANSI C functions. +# _BOOL: set if the C++ compiler recognises the "bool" keyword. +# Older SGI compilers could not do that, now SGI defines this macro. +# __NO_CTYPE: tolower() and toupper() are macros in the GCC +# and the names cause conflicts with methods in my String_ class. +# Define this macro to get rid of the compiler error generated. +# I would call this a GCC C library "feature" but perhaps the +# problem is with Linux. + +CC = gcc +CXX = g++ +LIBABIFG = -DGLIBC_STRTOK_BUG -DNO_MATHFLOATFUNC -D_BOOL -D__NO_CTYPE + +# Note: egcs=g++ 2.95.1 crashes when compiling Iproj.c++ with -O3 +# so use -O2 only for safety's sake + +# C optimisation +COPT = -O2 + +# C++ optimisation +CCOPT = -O2 + +# Template prelinker (for SGI only, use dummy command like 'echo' for non-SGI) +TMPLINK = echo + +# Template instantiation options +TMPLOPTS = -DINCLUDE_TMPL_DEFS + +# Other stuff +ARFLAGS = rvcs diff --git a/lib/Makefile.solaris-i86 b/lib/Makefile.solaris-i86 new file mode 100644 index 0000000..7eddbaa --- /dev/null +++ b/lib/Makefile.solaris-i86 @@ -0,0 +1,50 @@ +# Makefile.solaris-i86 +# +# This file contains the macros needed for the GCC compiler under +# Solaris on Sun i86 architectures. +# NOTE: Do not use GCC before version 2.8.1! +# It will be included by Makefiles in the "bin" and "lib" directories. +# 9-Jul-1997. + +# The sub/Makefile in "lib" expect these +# macros to be set on the command line when invoked. +# CC: the C compiler +# CXX: the C++ compiler +# LIBABIFG: the ABI-dependent flags. The macro names ending in "BUG" +# switch on workarounds for certain bugs. +# Here is a brief explanation of the macros:- +# +# GLIBC_STRTOK_BUG: in the GNU C library (version 1.x), at least +# as it is included with Linux 2.0.x in the Slackware 3.1.0 distribution, +# strtok(Str,...) dumps core if Str is the formal parameter +# of a function. This macro switches on a workaround. +# NO_MATHFLOATFUNC: set if the math library does not contain things +# like "float sqrtf(float)" in addition to the usual +# "double sqrt(double)". So far I have seen those only on +# SGIs; SGI claims that these are ANSI C functions. +# _BOOL: set if the C++ compiler recognises the "bool" keyword. +# Older SGI compilers could not do that, now SGI defines this macro. +# __NO_CTYPE: tolower() and toupper() are macros in the GCC +# and the names cause conflicts with methods in my String_ class. +# Define this macro to get rid of the compiler error generated. +# I would call this a GCC C library "feature" but perhaps the +# problem is with Linux. + +CC = gcc +CXX = g++ +LIBABIFG = -DGLIBC_STRTOK_BUG -DNO_MATHFLOATFUNC -D_BOOL -D__NO_CTYPE + +# C optimisation +COPT = -O3 + +# C++ optimisation +CCOPT = -O3 + +# Template prelinker (for SGI only, use dummy command like 'echo' for non-SGI) +TMPLINK = echo + +# Template instantiation options +TMPLOPTS = -DINCLUDE_TMPL_DEFS + +# Other stuff +ARFLAGS = rvcs diff --git a/lib/Makefile.solaris-sparc b/lib/Makefile.solaris-sparc new file mode 100644 index 0000000..158665f --- /dev/null +++ b/lib/Makefile.solaris-sparc @@ -0,0 +1,49 @@ +# Makefile.solaris-sparc +# +# This file contains the macros needed for the GCC compiler under Solaris. +# NOTE: Do not use GCC before version 2.8.1! +# It will be included by Makefiles in the "bin" and "lib" directories. +# 9-Jul-1997. + +# The sub/Makefile in "lib" expect these +# macros to be set on the command line when invoked. +# CC: the C compiler +# CXX: the C++ compiler +# LIBABIFG: the ABI-dependent flags. The macro names ending in "BUG" +# switch on workarounds for certain bugs. +# Here is a brief explanation of the macros:- +# +# GLIBC_STRTOK_BUG: in the GNU C library (version 1.x), at least +# as it is included with Linux 2.0.x in the Slackware 3.1.0 distribution, +# strtok(Str,...) dumps core if Str is the formal parameter +# of a function. This macro switches on a workaround. +# NO_MATHFLOATFUNC: set if the math library does not contain things +# like "float sqrtf(float)" in addition to the usual +# "double sqrt(double)". So far I have seen those only on +# SGIs; SGI claims that these are ANSI C functions. +# _BOOL: set if the C++ compiler recognises the "bool" keyword. +# Older SGI compilers could not do that, now SGI defines this macro. +# __NO_CTYPE: tolower() and toupper() are macros in the GCC +# and the names cause conflicts with methods in my String_ class. +# Define this macro to get rid of the compiler error generated. +# I would call this a GCC C library "feature" but perhaps the +# problem is with Linux. + +CC = gcc +CXX = g++ +LIBABIFG = -DGLIBC_STRTOK_BUG -DNO_MATHFLOATFUNC -D_BOOL -D__NO_CTYPE + +# C optimisation +COPT = -O3 + +# C++ optimisation +CCOPT = -O3 + +# Template prelinker (for SGI only, use dummy command like 'echo' for non-SGI) +TMPLINK = echo + +# Template instantiation options +TMPLOPTS = -DINCLUDE_TMPL_DEFS + +# Other stuff +ARFLAGS = rvcs diff --git a/lib/c/incl/bestrot.h b/lib/c/incl/bestrot.h new file mode 100644 index 0000000..6e524bd --- /dev/null +++ b/lib/c/incl/bestrot.h @@ -0,0 +1,58 @@ +#ifndef BESTROT_H +#define BESTROT_H + +/* ==== HEADER bestrot.h ==== */ + +/* An implementation of the point set alignment algorithm by + * A. D. McLachlan. Reference: + * McLachlan, A. D. (1979): J. Mol. Biol. 128: 49-79. + * Replaces the buggy Kabsch rotation algorithm. + */ + +/* ANSI C, 30. Apr. 1998. Andris Aszodi */ + +/* ---- STANDARD HEADERS ---- */ + +#include +#include +#include + +/* ---- INCLUDE FILES ---- */ + +#include "matrix.h" + +/* ---- PROTOTYPES ---- */ + +/* center_vectors: calculates the weighted centroid of the + * set of 3-dimensional vectors X (Vno x 3) and + * subtracts it from each of them, thus centring the + * set on the centroid. If Ctr==NULL, then a 3-long + * array is allocated to store the centroid coordinates; + * if Ctr!=NULL, then it is assumed to be large enough to + * hold the coordinates. + * If W==NULL, then uniform weighting is assumed. + * Return value: Ctr, or NULL if Vno==0. + */ +double *center_vectors(double **X, double *Ctr, const double *W, + unsigned int Vno); + +/* best_rot: finds the best rotation matrix that brings a set of + * vectors X into another set Y. X, Y have Vno vectors (in rows), + * and both live in 3 dimensions (Vno x 3). W is a Vno-long + * weight vector that can emphasise vector pairs. + * If W==NULL, then uniform weighting is assumed. + * Transform is a 3x3 square matrix (allocated before call) that on + * return contains the X->Y transformation. It is assumed that + * X and Y were centered before the call. + * NOTE: this routine cannot handle the degenerate cases when + * the point sets are Dim<3-dimensional. (Might be implemented + * later.) When this happens, a warning is printed to stderr + * and -1.0 (a meaningless RMS value) is returned. + * Return value: a weighted least-squares error function. + */ +double best_rot(double **X, double **Y, const double *W, + unsigned int Vno, Sqmat_ Transform); + +/* ==== END OF HEADER bestrot.h ==== */ + +#endif /* BESTROT_H */ diff --git a/lib/c/incl/cmdopt.h b/lib/c/incl/cmdopt.h new file mode 100644 index 0000000..e17f467 --- /dev/null +++ b/lib/c/incl/cmdopt.h @@ -0,0 +1,92 @@ +#ifndef CMDOPT_H +#define CMDOPT_H + +/* One-letter command line option processing. */ + +/* ANSI C, IRIX 5.2, 4. Apr. 1995. Andris */ + +/* ---- STANDARD HEADERS ---- */ + +#include +#include +#include +#include + +/* ---- PROTOTYPES ---- */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* parse_optstr(): constructs and returns the hidden Option_ array from the + * string Cmdoptstr. The length of the array is also stored in a hidden location. + * The option string is composed of the following tokens separated + * by whitespaces:- + * + * "x": stands for the Boolean command line option -x + * "xYz" : the command line options -x -Y -z (may be grouped together) + * "x%d" : option -x expecting a mandatory integer argument + * which is described as "name" in the help string. + * "x%f" : as above, expecting a floating-point argument + * "x%s" : as above, expecting a string argument + * + * 'x' can be the characters 'a'..'z', 'A'..'Z', '0'..'9', '#'. + * Invalid options are ignored. If nothing was found then Cmdopts==NULL and + * Cmdoptno==0. To be called only once. + */ +void parse_optstr(char *Cmdoptstr); + +/* get_options(): processes the command line (argc,argv) to find options + * encoded in the hidden array Cmdopts (length Cmdoptno). If an option is found then + * the corresponding Cmdopts[] member is updated to show which argv[] member + * contained it and if it had an argument, then it is attempted to be + * stored as well. Options not found or having malformed arguments will + * be set as "absent". + * Return value: the argv[] index of the first non-option member. + * The index is multiplied by -1 if an error occurred. + */ +int get_options(int argc, char *const *argv); + +/* optval_[bool,int,dbl,str](): these functions query the hidden Cmdopts[] array + * after the command line has been processed. Och is the option char + * and the value is returned in *Val. If the option char is invalid + * then a warning is printed. If the option was not present on the + * command line then *Val is not updated and the functions return 0, + * otherwise the Idx field from the corresponding Cmdopts record is returned. + * Val may be set to NULL. + */ +int optval_bool(char Och); +int optval_int(char Och, int *Val); +int optval_dbl(char Och, double *Val); +int optval_str(char Och, char **Val); + +/* opt_defval(): this routine provides an alternative to the optval_[...] + * functions. Och is the option character, Val is a void pointer to + * the variable which should hold the option value, Defval is a + * void pointer to the default value. If the option is found, + * then *Val is set to its value if Val!=NULL. If not found or on error, + * then *Val will be set to *Defval (to the default) if both + * Val and Defval !=NULL. + * Be careful, there is NO POINTER TYPE CHECKING! + * Return value: 0 on error or if the option was not found, + * the option array index otherwise. + */ +int opt_defval(char Och, void *Val, const void *Defval); + +/* opt_helpstr(): generates a "help string" from the option list hidden in + * Cmdopts[]. Boolean options are collected together, the "argumented" + * options are listed separately. If -x and -y are switches, -i expects + * an integer option and -D a double, then the following string will + * be returned: "[-xy] [-i] [-D]" where "name" stands + * for the string stored in the Descr field. Space for the help string is + * allocated within. + */ +char *opt_helpstr(void); + +#ifdef __cplusplus +} +#endif + +/* ==== END OF HEADER cmdopt.h ==== */ + +#endif /* CMDOPT_H */ diff --git a/lib/c/incl/dsspread.h b/lib/c/incl/dsspread.h new file mode 100644 index 0000000..5bed583 --- /dev/null +++ b/lib/c/incl/dsspread.h @@ -0,0 +1,76 @@ +#ifndef DSSPREAD_HEADER +#define DSSPREAD_HEADER + +/* ==== HEADER dsspread.h ==== */ + +/* DSSP reader routine. */ + +/* ANSI C, IRIX 5.3, 29. Apr. 1996. Andris */ + +/* ---- STANDARD HEADERS ---- */ + +#include +#include +#include +#include + +/* ---- TYPEDEFS ---- */ + +/* Hbondrec_ : stores the offset and energy for main-chain H-bonds. + * Residue i is bound to (i+Offs) with an energy of En kcal/mol. + */ +typedef struct +{ + int Offs; /* 0 if unbound */ + double En; /* 0.0 if unbound */ +} Hbondrec_; + +/* Dssprec_ : this struct stores the DSSP entry for a given residue. */ +typedef struct +{ + int Resno; /* residue no. */ + char Chain; /* chain identifier , if 1 chain only */ + char Res; /* AA code, 1-letter */ + char Disulf; /* S-S bond code or ' ' (Res set to 'C' for these) */ + char Secstruct; /* secondary structure code, see ref. */ + char Turns3, Turns4, Turns5; /* helix turn labels */ + char Bend; /* geometrical bend */ + char Chir; /* chirality: '+' or '-' */ + char Bridge1, Bridge2; /* beta labels: CAPS if antiparallel, lowercase if parallel */ + int Beta1, Beta2; /* partner resnums in beta-bridges */ + char Sheet; /* beta-sheet label (always caps) */ + int Access; /* solvent accessibility, see ref. */ + Hbondrec_ Nho[2], Ohn[2]; /* H-bonds NH(i)->O and O(i)->NH */ + double Tco; /* CO(i):CO(i-1) torsion cosine */ + double Kappa; /* CA(i-2):CA(i):CA(i+2) angle */ + double Alpha; /* C-alpha dihedral angle (360 if n/a) */ + double Phi, Psi; /* Ramachandran angles */ + double Ca[3]; /* C-alpha coordinates */ +} Dssprec_; + +/* ---- PROTOTYPES ---- */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* dssp_read: reads the text file Dsspfnm produced + * by DSSP, Version Oct. 1988 (ref: W. Kabsch, C. Sander, Biopolymers + * 22:2577-2637 (1983)). Returns an array of size Size, containing + * chain ID, residue no, 1-letter AA code, Kabsch/Sander secondary + * structure code and solvent accessibility for each residue + * or NULL on error. Sets the number of chains to Chainno. + */ +Dssprec_ *dssp_read(const char *Dsspfnm, unsigned int *Size, unsigned int *Chainno); + +/* dssp_cadist(): returns the CA:CA distance between two DSSP records + * pointed to by Dp1 and Dp2. Checks if they're NULL. + */ +double dssp_cadist(const Dssprec_ *Dp1, const Dssprec_ *Dp2); + +#ifdef __cplusplus +} +#endif + +/* ==== END OF HEADER dsspread.h ==== */ +#endif /* DSSPREAD_HEADER */ diff --git a/lib/c/incl/matrix.h b/lib/c/incl/matrix.h new file mode 100644 index 0000000..d2c1f50 --- /dev/null +++ b/lib/c/incl/matrix.h @@ -0,0 +1,87 @@ +#ifndef MATRIX_HEADER +#define MATRIX_HEADER + +/* ==== HEADER matrix.h ==== */ + +/* Header for square and lower triangle matrices: the latter + are stored economically. */ + +/* ANSI C, IRIX 5.2, 5. Aug. 1994. Andris Aszodi */ + +/* ---- HEADERS ---- */ + +#include +#include +#include +#include /* for precision stuff */ +#include +#include + +/* ---- GLOBAL TYPES ---- */ + +/* WARNING: The routines do not check whether the matrix is triangular + or square. The typedef's below might help during compilation. */ + +typedef double **Matrix_ ; /* general type */ +typedef double **Trimat_ ; /* triangular */ +typedef double **Sqmat_ ; /* square */ + +/* ---- PROTOTYPES ---- */ + +/* alloc_trimat: allocates space for a triangular matrix with Size rows. + * The triangle contains the main diagonal as well. + * Returns the pointer to the matrix or NULL if alloc failed. + */ +Trimat_ alloc_trimat(unsigned int Size); + +/* free_matrix: frees up space occupied by Mat. Use this routine for + * both triangular and square matrices. Mat itself is not changed. + */ +void free_matrix(double **Mat); + +/* list_trimat: lists Mat to stdout with entries occupying Width chars, + * Prec digits precision. If a row takes up more than Linewidth chars, + * then the matrix is cut up nicely. + */ +void list_trimat(Trimat_ Mat, int Size, int Linewidth, + int Width, int Prec); + +/* alloc_sqmat: allocates space for a square matrix (Size*Size). + * Returns the pointer to the matrix or NULL if alloc failed. + */ +Sqmat_ alloc_sqmat(unsigned int Size); + +/* list_sqmat: lists Mat to stdout with entries occupying Width chars, + * Prec digits precision. If a row takes up more than Linewidth chars, + * then the matrix is cut up nicely. + */ +void list_sqmat(Sqmat_ Mat, int Size, int Linewidth, + int Width, int Prec); + +/* lu_decomp: performs an LU-decomposition in place on the n*n matrix + * A. Based on partial pivoting: the row permutations are done in Perm[] + * (assumed to be of correct size) and will be used by lu_solve(). + * If Perm==NULL, then a permutation vector will be used + * internally and will be freed before return. This option can be + * used when only the determinant is calculated from the LU-decomposition. + * Return value: the sign of the determinant of the permutation + * matrix (+/-1) or 0 if A is singular or n<=0. + */ +int lu_decomp(Sqmat_ A, int n, int *Perm); + +/* lu_det: calculates the determinant of the n x n LU-decomposed + * square matrix Lu. Psign is the permutation sign returned by + * lu_decomp(). + */ +double lu_det(const Sqmat_ Lu, int Psign, int n); + +/* lu_solve: solves the linear equation A*x=b (A is n*n, x,b are n long). + * A is supposed to have been LU-decomposed by lu_decomp() above and + * the row permutation is stored in Perm[]. b[] is the "right-hand-side" + * vector which contains the solution on return. + */ +void lu_solve(const Sqmat_ A, const int Perm[], double b[], int n); + +/* ==== END OF HEADER matrix.h ==== */ + +#endif /* MATRIX_HEADER */ diff --git a/lib/c/incl/pdbprot.h b/lib/c/incl/pdbprot.h new file mode 100644 index 0000000..13bc9f3 --- /dev/null +++ b/lib/c/incl/pdbprot.h @@ -0,0 +1,116 @@ +#ifndef PDBPROT_H +#define PDBPROT_H + +/* ==== HEADER pdbprot.h ==== */ + +/* Protein Data Bank I/O routines. Replaces "pdb.h" */ + +/* ANSI C, IRIX 4.0.5, 9. Nov. 1995. Andris Aszodi */ + +/* ---- GLOBAL DEFINITIONS ---- */ + +#define ALLATOMS 0 /* read all atoms */ +#define CALPHA 1 /* read C-alpha backbone only */ +#define RELAXED 0 /* read non-standard AA-s ('X') */ +#define STRICT 1 /* read the 20 standard AA-s + B,Z only */ + +/* ---- GLOBAL PDB TYPES ---- */ + +typedef char Str4_[5]; /* 4-letter words... */ + +typedef struct /* entry for an atom */ +{ + int Atno; /* atom serial number as in the PDB entry */ + Str4_ Id; /* atom type like CA or OD2: 4 chars max. + \0 */ + char Alt; /* alternate location indicator */ + char Aa; /* 1-letter AA code or ' ' for OXT */ + int Resno; /* residue no. within a chain */ + char Rid; /* insertion code like in "27A" */ + float X,Y,Z; /* the coordinates */ + float Occu, Bfact; /* occupancy and temperature factor */ +} Atom_ ; + +typedef struct /* entry for a H-bond */ +{ + int Don, Acc; /* atom nos of donor and acceptor */ +} Hbond_ ; + +typedef enum {HELIX, SHEET, TURN} Sectype_ ; +typedef struct /* entry for a secondary structure element */ +{ + Sectype_ Sectype; /* HELIX, SHEET, TURN */ + int No; /* serial number of structure */ + Str4_ Id; /* identifier string */ + int Beg, End; /* residue nos (1..N) */ + char Chid; /* chain ID, for begin only */ + char Begaa, Endaa; /* amino acid 1-letter codes */ + char Begrid, Endrid; /* insertion codes */ + int Type; /* 1..7 for helices, -1..1 for sheets */ + /* these entries are for sheets only */ + int Strandno; /* number of strands in this sheet */ + Str4_ Thisat, Otherat; /* atom names for beta registration */ + char Thisaa, Otheraa; /* amino acid codes for beta regs */ + int This, Other; /* registration AA positions */ + char Thisrid, Otherid, Otherchid; /* ins codes and chain ID for the OTHER */ +} Secstr_ ; + +typedef struct /* entry for a disulfide bridge */ +{ + int No; + int Pos1, Pos2; /* CYS seq. positions */ + char Ch1, Ch2, Rid1, Rid2; /* chain ID-s and insertion codes */ +} Ssbond_ ; + +typedef struct /* entry for a chain */ +{ + Atom_ *Atoms; /* array of atoms in this chain */ + int Atomno; /* no. of atoms in chain */ + Secstr_ *Secs; /* secondary structure info */ + int Secsno; /* length of Secs[] */ + Hbond_ *Hbonds; /* array of H-bonds */ + int Hbno; /* length of Hbonds[] */ + Ssbond_ *Ssbs; /* array of S-S bonds */ + int Ssbno; /* length of Ssbs[] */ + int Aano; /* no. of amino acids in chain */ + char Chid; /* chain ID (for multichains) */ + char Type; /* chain type: 'P'-rotein, 'A'-lpha or 'X' */ + char *Seq; /* chain sequence in 1-letter code, \0-termin. */ +} Chain_ ; + +typedef struct /* entry for a PDB record */ +{ + char Header[41]; /* header info: function description */ + char Date[10]; /* date of deposition: "20-AUG-64" format */ + Str4_ Pdbcode; /* standard PDB code "0XXX" */ + char *Compound; /* compound descriptor string */ + char *Source; /* species, organ, tissue, mutant */ + char Expdta[61]; /* experimental technique: default "X-RAY DIFFRACTION" */ + float Resol; /* resolution; <0 means "NOT APPLICABLE" */ + Chain_ *Chains; /* array of chain records */ + int Chainno; /* no. of chains */ + Hbond_ *Hbonds; /* array of interchain H-bonds */ + int Hbno; /* no. of interchain H-bonds */ + Ssbond_ *Ssbs; /* array of interchain S-S bonds */ + int Ssbno; /* no, of interchain S-S bonds */ +} Pdbentry_ ; + +/* ---- PROTOTYPES ---- */ + +#ifdef __cplusplus +extern "C" { +#endif + +char aa_code31(const char *Aa3); +char *aa_code13(char Aa1); +Pdbentry_ *get_pdb(const char *Pdbfn, int Ca,int Strict); +float atom_dist(const Atom_ *At1, const Atom_ *At2); +void put_pdb(const char *Pdbfn, Pdbentry_ *Entry, + char *Remarks[], int Remno); +void free_pdb(Pdbentry_ *Entry); + +#ifdef __cplusplus +} +#endif + +/* ==== END OF HEADER pdbprot.h ==== */ +#endif /* PDBPROT_H */ diff --git a/lib/c/incl/portrandom.h b/lib/c/incl/portrandom.h new file mode 100644 index 0000000..c71b328 --- /dev/null +++ b/lib/c/incl/portrandom.h @@ -0,0 +1,57 @@ +#ifndef PORTRANDOM_HEADER +#define PORTRANDOM_HEADER + +/* ==== HEADER portrandom.h ==== */ + +/* Portable random number generator. Based on "ran1" in + * Numerical Recipes. Slightly altered to avoid the clumsy + * initialisation. + * Reference: + * Numerical Recipes, Second Edition, 1992 (ver. 2.02) + * Chapter 7, Page 280. + */ + +/* ANSI C, IRIX 5.2, 27. Feb. 1996. Andris Aszodi */ + +/* ---- STANDARD HEADERS ---- */ + +#include +#include +#include +#include + +/* ---- PROTOTYPES ---- */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* init_portrand: initialises the portable random number generator. + * If Seed==0, then Seed==1 is assumed. + */ +void init_portrand(long Seed); + +/* port_rand: returns a non-negative long pseudo-random number. + * Maximum number of sequential calls is around 10^8. + */ +long port_rand(void); + +/* port_random: the portable random number generator itself. + * Returns a pseudo-random number in the interval (0.0 .. 1.0). + * Maximum number of sequential calls is around 10^8. + */ +double port_random(void); + +/* portrandom_gauss: returns normally distributed random numbers with + * zero mean and unit variance. Based on the Box/Muller method + * as described in Numerical Recipes. + */ +double portrandom_gauss(void); + +#ifdef __cplusplus +} +#endif + +/* ==== END OF HEADER portrandom.h ==== */ + +#endif /* PORTRANDOM_HEADER */ diff --git a/lib/c/incl/ql.h b/lib/c/incl/ql.h new file mode 100644 index 0000000..821c4b1 --- /dev/null +++ b/lib/c/incl/ql.h @@ -0,0 +1,31 @@ +#ifndef __QL_H__ +#define __QL_H__ + +/* ==== HEADER ql.h ==== */ + +/* Eigenvalues and eigenvectors of real symmetric matrices by + Housholder tridiagonalisation and QL-transformation. + Adapted from Numerical Recipes. The "core" routines use + the 1..N indexing convention but the "shell" is ordinary + 0..N-1 C-style. Standalone version is eigenql.c */ + +/* ANSI C, Iris Indigo IRIX 4.0.5, 20. Nov. 1992. Andris Aszodi */ + +/* ---- INCLUDE FILES ---- */ + +#include "matrix.h" +#include +#include + +/* ---- ROUNDOFF ERROR CHECK ---- */ + +#define EPSILON 1.0e-10 +#define RND0(x) (x=(fabs(x) +#include +#include +#include +#include + +/* ---- DEFINITIONS ---- */ + +#ifdef DBL_EPSILON /* precision */ +#define SIVA_EPSILON (10.0*DBL_EPSILON) +#else +#define SIVA_EPSILON (1.0e-10) +#endif + +#ifdef FLT_MIN /* smallest acceptable eigenvalue */ +#define SIVA_MINVAL (100.0*FLT_MIN) +#else +#define SIVA_MINVAL (1.0e-37) /* required by ANSI */ +#endif + +/* ---- PROTOTYPES ---- */ + +int siva_setup(int Row, int Col, double ***U, double **W, double ***V); +int siva_decomp(const double **A, int Row, int Col, + double **U, double *W, double **V); +int rank_cond(double W[], int N, double Eps, double *Cond); +void siva_solve(const double **U, const double W[], const double **V, + int Row, int Col, const double B[], double X[]); +void free_siva(int Row, int Col, double **U, double *W, double **V); + +/* ==== END OF HEADER siva.h ==== */ + +#endif diff --git a/lib/c/incl/tstamp.h b/lib/c/incl/tstamp.h new file mode 100644 index 0000000..531f3cb --- /dev/null +++ b/lib/c/incl/tstamp.h @@ -0,0 +1,75 @@ +#ifndef TSTAMP_H +#define TSTAMP_H + +/* ==== HEADER tstamp.h ==== */ + +/* Useful formatted time routines. */ + +/* ANSI C, IRIX 5.3, 30. July 1996. Andris Aszodi */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* ---- TYPEDEFS ---- */ + +/* TsSelector_: user and sys times of the current process and + * its children may be queried after each start_timer() / stop_timer() + * call pair. These enums decide which is returned by timer_results(). + * By OR-ing them together, sums of these times may be obtained. + */ +typedef enum { TS_UTIME=1, TS_STIME=2, TS_CUTIME=4, TS_CSTIME=8 } TsSelector_; + +/* ---- PROTOTYPES ---- */ + +/* time_stamp(): returns a pointer to an internal static string + * that contains a time string in the following format:- + * "Thu 02-Jun-1994 18:24:23". The string is evaluated at the + * time of the call and is overwritten between calls. + */ +char *time_stamp(void); + +/* greeting(): returns a pointer to an internal static string + * that contains a greeting appropriate for the time of the day: + * "Good morning" from 6am till noon, "Good afternoon" from 12:01pm + * until 6pm, "Good evening" from 6:01pm until 10pm and "Good night" + * for want of anything more appropriate otherwise. The string + * is evaluated at the time of the call and is overwritten between calls. + */ +char *greeting(void); + +/* start_timer(): starts a timer by saving the current time in an + * internal variable. + */ +void start_timer(void); + +/* stop_timer(): stops the timer by saving the current time in + * another internal variable. The start time is not affected. + */ +void stop_timer(void); + +/* timer_results(): returns the time (in integer seconds) + * elapsed between the last calls to start_timer() and stop_timer(). + * User and system times for the current process and its children + * are tracked separately. E.g. timer_results(TS_UTIME) returns the + * user time of the process, timer_results(TS_CUTIME|TS_CSTIME) + * returns the total time of the children. The four times can be + * summed in any combination by OR-ing the corresponding constants + * (see TsSelector_) together. + */ +long timer_results(int Sel); + +/* time_string(): when given a time (interval) in seconds in T, + * this routine returns a ptr to an internal character buffer holding a + * formatted string like "26 days 1 hour 3 mins 55 secs". + * This string is overwritten by each call. + * Fractions of seconds are not supported and T<0 is interpreted as T==0. + */ +const char *time_string(long T); + +#ifdef __cplusplus +} +#endif + +/* ==== END OF HEADER tstamp.h ==== */ +#endif /* TSTAMP_H */ diff --git a/lib/c/src/bestrot.c b/lib/c/src/bestrot.c new file mode 100644 index 0000000..0af2b2c --- /dev/null +++ b/lib/c/src/bestrot.c @@ -0,0 +1,161 @@ +/* ==== FUNCTIONS bestrot.c ==== */ + +/* An implementation of the 3D point set alignment algorithm by + * A. D. McLachlan. Reference: + * McLachlan, A. D. (1979): J. Mol. Biol. 128: 49-79. + * Replaces the buggy Kabsch rotation algorithm. + */ + +/* ANSI C, 30. Apr. 1998. Andris Aszodi */ + +/* ---- HEADER ---- */ + +#include "bestrot.h" + +/* ---- INCLUDE FILES ---- */ + +#include "siva.h" /* singular value decomposition */ + +/* ---- DEFINITIONS ---- */ + +#define DIM 3 + +/* ==== FUNCTIONS ==== */ + +/* center_vectors: calculates the weighted centroid of the + * set of 3-dimensional vectors X (Vno x 3) and + * subtracts it from each of them, thus centring the + * set on the centroid. If Ctr==NULL, then a 3-long + * array is allocated to store the centroid coordinates; + * if Ctr!=NULL, then it is assumed to be large enough to + * hold the coordinates. + * If W==NULL, then uniform weighting is assumed. + * Return value: Ctr, or NULL if Vno==0. + */ +double *center_vectors(double **X, double *Ctr, const double *W, + unsigned int Vno) +{ + register unsigned int i, j; + register double Wsum; + + if (!Vno) return(NULL); + + /* allocate centroid vector if absent */ + if (Ctr==NULL) + Ctr=(double *) calloc(DIM, sizeof(double)); + + /* get the weighted centroid */ + if (W!=NULL) + { + Wsum=0.0; + for(i=0; iY transformation. It is assumed that + * X and Y were centered before the call. + * NOTE: this routine cannot handle the degenerate cases when + * the point sets are Dim<3-dimensional. (Might be implemented + * later.) When this happens, a warning is printed to stderr + * and -1.0 (a meaningless RMS value) is returned. + * Return value: a weighted least-squares error function. + */ +double best_rot(double **X, double **Y, const double *W, + unsigned int Vno, Sqmat_ Transform) +{ + register unsigned int i, j, k, n, m; + int Psign, Rank; + double **H=NULL, *D=NULL, **K=NULL; + Sqmat_ U=NULL; + register double Err=0.0, Temp1, Temp2, Wsum=0.0; + double Detu; + + /* set up the matrix to be SVD-d */ + U=alloc_sqmat(DIM); + for (i=0; i0)? 1: -1; + + /* generate the transform matrix: here we explicitly + * use DIM==3 because McLachlan does not say what to do + * if Psign==-1 and DIM>3 and I don't know :-) + */ + for (i=0; i +#endif + +#include "cmdopt.h" + +/* ---- DEFINITIONS ---- */ + +#ifndef GETOPTHUH +#define GETOPTHUH '?' +#endif +#define OPTMAXLEN 63 /* 2*26+10 alphanum + '#' */ +#define DESCRMAXLEN 32 /* arbitrary limit to option descriptor strings */ + +/* ---- TYPEDEFS ---- */ + +/* Argtype_: the command option argument type. CMDOPT_BOOL is a + * Boolean value (stored as an int just like CMDOPT_INT) for switches + * such as "-x" with no arguments. The rest are for int, double and + * string arguments. + */ +typedef enum {CMDOPT_BOOL, CMDOPT_INT, CMDOPT_DBL, CMDOPT_STR} Argtype_; + +/* Argval_: a union that stores the value of the option arguments. */ +typedef union +{ + int i; /* integer, double and string */ + double d; + char *s; +} +Argval_; + +/* Option_: a struct that describes a command-line option. */ +typedef struct +{ + char Ch; /* the option character */ + int Idx; /* argv[] index, 0 if absent */ + Argtype_ Type; /* type of argument */ + Argval_ Val; /* the value */ + char Descr[DESCRMAXLEN+1]; /* descriptor string */ +} +Option_ ; + +/* ---- PROTOTYPES ---- */ + +static int token_type(char *Tok); +static int good_optchar(char Och); + +/* ---- FILE-SCOPE VARIABLES ---- */ + +/* Cmdopts is a static array of Option_ struct-s and holds the necessary + * information for each command-line option. Cmdoptno is its length. + * Only one option array is needed in a program so Cmdopts and Cmdoptno have + * local file scope and are accessed from the routines as globals. + */ +static Option_ Cmdopts[OPTMAXLEN]; +static int Cmdoptno=0; + +/* ==== FUNCTIONS ==== */ + +/* ---- Parse option string ---- */ + +/* parse_optstr(): constructs and returns the hidden Option_ array from the + * string Cmdoptstr. The length of the array is also stored in a hidden location. + * The option string is composed of the following tokens separated + * by whitespaces:- + * + * "x": stands for the Boolean command line option -x + * "xYz" : the command line options -x -Y -z (may be grouped together) + * "x%d" : option -x expecting a mandatory integer argument + * which is described as "name" in the help string. + * "x%f" : as above, expecting a floating-point argument + * "x%s" : as above, expecting a string argument + * + * 'x' can be the characters 'a'..'z', 'A'..'Z', '0'..'9', '#'. + * Invalid options are ignored. If nothing was found then Cmdopts==NULL and + * Cmdoptno==0. To be called only once. + */ +void parse_optstr(char *Cmdoptstr) +{ + /* NOTE: there is a bizarre bug in the GNU C library (version 1) */ + /* as supplied with Linux 2.0.x: strtok() dumps core */ + /* if its input string is a parameter of a function. */ + /* Workaround: make a local copy of Cmdoptstr. */ + /* To activate the workaround, define GLIBC_STRTOK_BUG */ + /* on the cc command line. */ + /* 27-Mar-1998. */ + + const char *Wsp=" \t\n"; /* whitespaces */ + char *Tok=NULL; + + #ifdef GLIBC_STRTOK_BUG + char *Cmdoptstr_copy=NULL; + #endif + + int i, Atyp; + + /* check virginity */ + if (Cmdoptno) + { + fputs("? parse_optstr(): not first call, ignored\n", stderr); + return; + } + + /* get first token */ + #ifdef GLIBC_STRTOK_BUG + Cmdoptstr_copy=strdup(Cmdoptstr); /* workaround: local copy */ + if (NULL==(Tok=strtok(Cmdoptstr_copy, Wsp))) + { + free(Cmdoptstr_copy); + return; + } + #else + if (NULL==(Tok=strtok(Cmdoptstr, Wsp))) return; /* no tokens at all */ + #endif + + do /* process tokens */ + { + Atyp=token_type(Tok); /* type check: bad syntax is <0 */ + if (Atyp<0) + { + fprintf(stderr, "? parse_optstr(): Bad token \"%s\"\n", Tok); + continue; + } + + if (Atyp==CMDOPT_BOOL) /* Boolean option(s) */ + for (i=0; iDESCRMAXLEN) + { + fprintf(stderr, + "\n? parse_optstr(): Option descriptor \"%s\" longer than %d chars, truncated\n", + Tok+4,DESCRMAXLEN); + strncpy(Cmdopts[Cmdoptno].Descr,Tok+4,DESCRMAXLEN); + Cmdopts[Cmdoptno].Descr[DESCRMAXLEN]='\0'; + } + else + strcpy(Cmdopts[Cmdoptno].Descr,Tok+4); + Cmdoptno++; + } + } + while(NULL!=(Tok=strtok(NULL, Wsp))); + + #ifdef GLIBC_STRTOK_BUG + free(Cmdoptstr_copy); + #endif +} +/* END of parse_optstr() */ + +/* token_type(): parses the token Tok and returns -1 if it is not + * of the form defined for the option string (see above) or returns + * the argument type (see Argtype_ ). For mandatory argument tokens, + * the first '>' is converted to '\0'. + */ +static int token_type(char *Tok) +{ + /* arg token? */ + if (NULL!=strchr(Tok, '%')) + { + if (Tok[1]!='%' || Tok[3]!='<' || + strlen(Tok)<5 || Tok[strlen(Tok)-1]!='>') + return(-1); /* malformed arg token */ + Tok[strlen(Tok)-1]='\0'; /* chop off '>' */ + switch (Tok[2]) + { + case 'd': return(CMDOPT_INT); /* get type */ + case 'f': return(CMDOPT_DBL); + case 's': return(CMDOPT_STR); + default: return(-1); /* malformed */ + } + } + else return(CMDOPT_BOOL); /* non-arg Boolean token */ +} +/* END of token_type() */ + +/* good_optchar(): checks whether the option char Och is acceptable. + * It should be alphanumeric or '#' and it should not be duplicated. + * Duplication is checked by keeping a static record of characters tested + * so far (that's why calling parse_optstr() twice in a program would + * screw up everything). + * Return value: 0 if Och is "bad" or duplicated, non-0 otherwise. + */ +static int good_optchar(char Och) +{ + static char Found[OPTMAXLEN+1]; + static int Len=0; + + /* unacceptable char */ + if (!isalnum(Och) && Och!='#') return(0); + + if (!Len) Found[0]='\0'; /* "init" array for the first time */ + + if (NULL!=strchr(Found, Och)) return(0); /* has been seen already */ + Found[Len++]=Och; Found[Len]='\0'; + return(Len); +} +/* END of good_optchar() */ + +/* ---- Parse command line ---- */ + +/* get_options(): processes the command line (argc,argv) to find options + * encoded in the hidden array Cmdopts (length Cmdoptno). If an option is found then + * the corresponding Cmdopts[] member is updated to show which argv[] member + * contained it and if it had an argument, then it is attempted to be + * stored as well. Options not found or having malformed arguments will + * be set as "absent". + * Return value: the argv[] index of the first non-option member. + * The index is multiplied by -1 if an error occurred. + */ +int get_options(int argc, char *const *argv) +{ + extern int optind; /* next argv[] index (set by getopt()) */ + extern int opterr; /* suppress error messages by setting to 0 */ + extern int optopt; /* bad arg character stored in this */ + extern char *optarg; /* option argument ptr set by getopt() */ + signed char Opt; + char Err, *Endconv, *Cmdoptstr; + int i, Errsign=1; + long Ltmp; + double Dtmp; + + /* check option array, build getopt() control string */ + Cmdoptstr=(char *) calloc(2*Cmdoptno+1, sizeof(char)); + for (i=0; i=Cmdoptno) + { + fprintf(stderr, "? optval_bool(): invalid option \'%c\'\n", Och); + return(0); + } + if (Cmdopts[i].Type!=CMDOPT_BOOL) + { + fprintf(stderr, "? optval_bool(): option \'%c\' not Boolean\n", Och); + return(0); + } + return(Cmdopts[i].Idx); +} + +int optval_int(char Och, int *Val) +{ + int i; + + for (i=0; i=Cmdoptno) + { + fprintf(stderr, "? optval_int(): invalid option \'%c\'\n", Och); + return(0); + } + if (Cmdopts[i].Type!=CMDOPT_INT) + { + fprintf(stderr, "? optval_int(): option \'%c\' not integer\n", Och); + return(0); + } + if (Val!=NULL && Cmdopts[i].Idx) *Val=Cmdopts[i].Val.i; + return(Cmdopts[i].Idx); +} + +int optval_dbl(char Och, double *Val) +{ + int i; + + for (i=0; i=Cmdoptno) + { + fprintf(stderr, "? optval_dbl(): invalid option \'%c\'\n", Och); + return(0); + } + if (Cmdopts[i].Type!=CMDOPT_DBL) + { + fprintf(stderr, "? optval_dbl(): option \'%c\' not double\n", Och); + return(0); + } + if (Val!=NULL && Cmdopts[i].Idx) *Val=Cmdopts[i].Val.d; + return(Cmdopts[i].Idx); +} + +int optval_str(char Och, char **Val) +{ + int i; + + for (i=0; i=Cmdoptno) + { + fprintf(stderr, "? optval_str(): invalid option \'%c\'\n", Och); + return(0); + } + if (Cmdopts[i].Type!=CMDOPT_STR) + { + fprintf(stderr, "? optval_str(): option \'%c\' not string\n", Och); + return(0); + } + if (Val!=NULL && Cmdopts[i].Idx) *Val=Cmdopts[i].Val.s; + return(Cmdopts[i].Idx); +} + +/* END of optval_[...] */ + +/* opt_defval(): this routine provides an alternative to the optval_[...] + * functions. Och is the option character, Val is a void pointer to + * the variable which should hold the option value, Defval is a + * void pointer to the default value. If the option is found, + * then *Val is set to its value if Val!=NULL. If not found or on error, + * then *Val will be set to *Defval (to the default) if both + * Val and Defval !=NULL. + * Be careful, there is NO POINTER TYPE CHECKING! + * Return value: 0 on error or if the option was not found, + * the option array index otherwise. + */ +int opt_defval(char Och, void *Val, const void *Defval) +{ + int i; + int *Vip; /* temp ptrs with types */ + double *Vdp; + char **Vsp; + + for (i=0; i=Cmdoptno) + { + fprintf(stderr, "\n? opt_defval(): invalid option \'%c\'\n", Och); + return(0); + } + if (Val!=NULL) + { + switch(Cmdopts[i].Type) + { + case CMDOPT_BOOL: + Vip=(int *)Val; + *Vip=(Cmdopts[i].Idx)? 1: 0; + break; + case CMDOPT_INT: + Vip=(int *)Val; + if (Cmdopts[i].Idx) *Vip=Cmdopts[i].Val.i; + else if (Defval!=NULL) *Vip=*((int*)Defval); + break; + case CMDOPT_DBL: + Vdp=(double *)Val; + if (Cmdopts[i].Idx) *Vdp=Cmdopts[i].Val.d; + else if (Defval!=NULL) *Vdp=*((double*)Defval); + break; + case CMDOPT_STR: + Vsp=(char **)Val; + if (Cmdopts[i].Idx) *Vsp=Cmdopts[i].Val.s; + else if (Defval!=NULL) *Vsp=*((char**)Defval); + break; + } + } + return(Cmdopts[i].Idx); +} +/* END of opt_defval() */ + +/* ---- Help string ---- */ + +/* opt_helpstr(): generates a "help string" from the option list in + * Cmdopts[]. Boolean options are collected together, the "argumented" + * options are listed separately. If -x and -y are switches, -i expects + * an integer option and -D a double, then the following string will + * be returned: "[-xy] [-i] [-D]" where "name" stands + * for the string stored in the Descr field. Space for the help string is + * allocated within. + */ +char *opt_helpstr(void) +{ + char *Bs, *As; /* strings for Boolean and Argument options */ + char *Hs; /* the help string */ + int Alen, Blen, i; + + /* allocate big chunks */ + Bs=(char *) calloc(Cmdoptno+5, sizeof(char)); + As=(char *) calloc(10*Cmdoptno+3, sizeof(char)); + Alen=Blen=0; + + /* scan all options */ + for (i=0; isscanf(Line,"%d %d",&Nres,Chainno)) + { + fprintf(stderr, "\n? dssp_read(%s): Cannot parse:\n%s\n", Dsspfnm, Line); + fclose(Dssp); return(NULL); + } + + /* skip all info until the last text line is encountered */ + do + { + if(NULL==fgets(Line,LINELEN,Dssp)) + { + fprintf(stderr, "\n? dssp_read(%s): Cannot read\n", Dsspfnm); + fclose(Dssp); return(NULL); + } + if(NULL!=strstr(Line, "# RESIDUE AA STRUCTURE")) + break; + } + while (1); + + /* adjust storage, allocate */ + Nres+=*Chainno-1; + Entry= (Dssprec_ *) calloc(Nres,sizeof(Dssprec_)); + + while (NULL!=fgets(Line,LINELEN,Dssp)) + { + sscanf(Line,"%d",&Entryj); /* reads pos */ + Entryj--; /* indexes res position now */ + Cur=Entry+Entryj; /* current pos in array */ + if (Line[13]=='!') + { /* chain break */ + Cur->Resno=0; Cur->Res='!'; + Cur->Disulf=Cur->Chain=Cur->Secstruct=Cur->Turns3=Cur->Turns4=Cur->Turns5=' '; + Cur->Bend=Cur->Chir=Cur->Bridge1=Cur->Bridge2=Cur->Sheet=' '; + Cur->Access=0; + Cur->Phi=Cur->Psi=0.0; + Cur->Ca[0]=Cur->Ca[1]=Cur->Ca[2]=0.0; + continue; /* nothing else to be done */ + } + + /* normal entry */ + sscanf(Line, "%*d%d", &(Cur->Resno)); + Cur->Chain=Line[11]; /* chain ID or ' ' if single chain */ + Cur->Res=Line[13]; /* AA code */ + + /* transfer the funny char descriptors */ + Cur->Secstruct=Line[16]; + Cur->Turns3=Line[18]; Cur->Turns4=Line[19]; Cur->Turns5=Line[20]; + Cur->Bend=Line[21]; Cur->Chir=Line[22]; + Cur->Bridge1=Line[23]; Cur->Bridge2=Line[24]; + sscanf(Line+25, "%d%d", &(Cur->Beta1), &(Cur->Beta2)); + Cur->Sheet=Line[33]; + + /* read accessibility,phi,psi,and C-alpha coordinates */ + sscanf(Line+34, + "%d%d,%lf%d,%lf%d,%lf%d,%lf%lf%lf%lf%lf%lf%lf%lf%lf", + &(Cur->Access), + &(Cur->Nho[0].Offs), &(Cur->Nho[0].En), + &(Cur->Ohn[0].Offs), &(Cur->Ohn[0].En), + &(Cur->Nho[1].Offs), &(Cur->Nho[1].En), + &(Cur->Ohn[1].Offs), &(Cur->Ohn[1].En), + &(Cur->Tco), &(Cur->Kappa), &(Cur->Alpha), + &(Cur->Phi), &(Cur->Psi), &(Cur->Ca[0]),&(Cur->Ca[1]),&(Cur->Ca[2])); + + /* Rename half-cystines. These are coded as 'a'..'z' */ + if (Cur->Res>='a' && Cur->Res<='z') + { + Cur->Disulf=Cur->Res; Cur->Res='C'; + } + else Cur->Disulf=' '; + } /* while */ + + fclose(Dssp); + *Size=Nres; return(Entry); + #undef LINELEN +} +/* END of dssp_read() */ + +/* dssp_cadist(): returns the CA:CA distance between two DSSP records + * pointed to by Dp1 and Dp2. Checks if they're NULL. + */ +double dssp_cadist(const Dssprec_ *Dp1, const Dssprec_ *Dp2) +{ + register double Dist=0.0, D; + register unsigned int i; + + if (Dp1==NULL || Dp2==NULL) + { + fprintf(stderr, "\n? dssp_cadist(%x, %x): NULL argument\n", Dp1, Dp2); + return(0.0); + } + + for (i=0; i<3; i++) + { + D=Dp1->Ca[i]-Dp2->Ca[i]; + Dist+=D*D; + } + return(sqrt(Dist)); +} +/* END of dssp_cadist() */ + +/* ==== END OF FUNCTIONS dsspread.c ==== */ diff --git a/lib/c/src/matrix.c b/lib/c/src/matrix.c new file mode 100644 index 0000000..8b6d3da --- /dev/null +++ b/lib/c/src/matrix.c @@ -0,0 +1,334 @@ +/* ==== FUNCTIONS matrix.c ==== */ + +/* Routine collection for square and lower triangle matrices: the latter + are stored economically. */ + +/* ANSI C, IRIX 5.3, 1. Aug. 1996. Andris Aszodi */ + +/* ---- HEADER ---- */ + +#include "matrix.h" + +/* ---- DEFINITIONS ---- */ + +#ifdef FLT_MIN +#define LU_EPSILON (10.0*FLT_MIN) +#else +#define LU_EPSILON (1.0e-30) +#endif + +/* ==== FUNCTIONS ==== */ + +/* ---- LOWER TRIANGLE MATRICES ---- */ + +/* alloc_trimat: allocates space for a triangular matrix with Size rows. + * The triangle contains the main diagonal as well. + * Returns the pointer to the matrix or NULL if alloc failed. + */ +Trimat_ alloc_trimat(unsigned int Size) +{ + Trimat_ Mat=NULL; + register unsigned int i, Eno; + + if (!Size) return(NULL); + Eno=(Size*(Size+1))/2; + Mat=(double **) calloc(Size,sizeof(double *)); /* array of row ptrs */ + if (Mat==NULL) return(NULL); + + Mat[0]=(double *) calloc(Eno, sizeof(double)); /* contig. array of elems */ + if (Mat[0]==NULL) { free(Mat); return(NULL); } + + for (i=1; iWidth) Width=Sizew; + sprintf(Entrys,"%%-%d.%df ",Width,Prec); /* make format strs */ + sprintf(Cols,"%%-%dd ",Width); + sprintf(Rows,"%%%dd | ",Sizew); + Items=(Linewidth-Sizew-3)/(Width+1); /* columns per chunk */ + + /* main cycle: print chunks of the matrix */ + for (Jbeg=0,Chunk=(Size-1)/Items+1; Chunk>0; Jbeg+=Items,Chunk--) + { + /* underline length */ + Ulinelen=(Chunk>1)? Items*(Width+1)+Sizew+3: + (Size-Jbeg)*(Width+1)+Sizew+3; + /* print head line */ + for (k=0; k 'A' (beta-alanine) + * CYH, CSH, CSS, CYX -> 'C' (cysteine and cystine) + * HYP, PR0, PRZ -> 'P' (hydroxyproline and various Pro synonyms) + * ILU -> 'I' (isoleucine) + * TRY-> 'W' (tryptophan) + * UNK -> 'U' (unknown) + * any other code is translated to X. + */ +char aa_code31(const char *Aa3) +{ + static char *Names3="ALAALBARGASNASPASXCYSCYHCSHCSSCYXGLNGLUGLXGLYHISILEILULEULYSMETPHEPROPR0PRZHYPSERTHRTRPTRYTYRVALUNKXXX"; + static char *Letters1="AARNDBCCCCCQEZGHIILKMFPPPPSTWWYVUX"; + char *Code; + + if (strlen(Aa3)<3) return('X'); /* 1,2-letter codes not accepted */ + Code=strstr(Names3, Aa3); + if (Code==NULL) return('X'); /* not found */ + else return(Letters1[(Code-Names3)/3]); +} +/* END of aa_code31 */ + +/* aa_code13: converts the 1-letter codes to 3-letter standards. + * Almost the inverse of aa_code31(). Non-standard translations: + * J->JJJ, O->OOO, U->UNK, X->XXX + */ +char *aa_code13(char Aa1) +{ + static char *Aacode[26]={"ALA","ASX","CYS","ASP","GLU","PHE", + "GLY","HIS","ILE","JJJ","LYS","LEU", + "MET","ASN","OOO","PRO","GLN","ARG", + "SER","THR","UNK","VAL","TRP","XXX", + "TYR","GLX"}; + + if (Aa1<'A' || Aa1>'Z') return(Aacode[23]); /* 'X' for out-of-range */ + else return(Aacode[Aa1-'A']); +} +/* END of aa_code13 */ + +/* ---- PDB INPUT ---- */ + +/* get_pdb: reads a PDB file called Pdbfn and puts the result + * in a Pdbentry_ which is created inside and returned. + * If something went wrong then NULL is returned. + * If Ca!=0 then only the C-alpha atoms are read in; + * if Strict!=0 then only the 20 standard amino acids are read. + */ +#define CHUNK 256 +Pdbentry_ *get_pdb(const char *Pdbfn, int Ca,int Strict) +{ + Pdbentry_ *Entry=NULL; /* the complete PDB entry */ + FILE *Pdb; + Secstr_ *Secs=NULL; /* temp array for sec. structure elements */ + Ssbond_ *Ssbs=NULL; /* temp array for S-S bonds */ + Chain_ *Chains=NULL; /* temp array for chains */ + Atom_ *Atoms=NULL; /* temp array for atom records */ + Hbond_ *Hbonds=NULL; /* non-redundant D->A storage for H-bonds */ + char Line[LINELEN], Endmdline[LINELEN]; /* read buffers */ + char *Cptr=NULL; /* aux. char pointer */ + char Aa3[4]; /* 3-letter AA code */ + /* alternative pos, res ID char like in "27A", prev chain ID */ + char Oldrid,Oldchain, Creatchn,Endf,Protein,Calpha,Thisca, Model, Ter; + int i,j, Sno, Atno, Hbno, Ssbno, Partner, Chainno,Aano,Oldaano, Lastatno=0, + Lowlim, Uplim, At, Don, Acc; + long Oldlastpos=0L, Modelpos=0L, Terpos=0L; + + /* open PDB file */ + if (NULL==(Pdb=fopen(Pdbfn, "r"))) + { + fprintf(stderr, "? get_pdb(): Cannot open %s\n", Pdbfn); + return(NULL); + } + + /* go to the beginning of file */ + rewind(Pdb); Lastpos=0L; + + /* allocate the entry record */ + G_MALLOC(Entry, Pdbentry_); + if (Entry==NULL) + { + fputs("? get_pdb(): Out of memory\n", stderr); + return(NULL); + } + + /* do some zeroing */ + Entry->Chains=NULL; Entry->Hbonds=NULL; Entry->Ssbs=NULL; + Entry->Chainno=Entry->Hbno=Entry->Ssbno=0; + + /* get the HEADER card */ + if (get_record(Pdb, Line, "HEADER")) + { + strncpy(Entry->Header, Line+10, 40); Entry->Header[40]='\0'; + strncpy(Entry->Date, Line+50, 9); Entry->Date[9]='\0'; + strncpy(Entry->Pdbcode, Line+62, 4); Entry->Pdbcode[4]='\0'; + } + else Entry->Header[0]=Entry->Date[0]=Entry->Pdbcode[0]='\0'; /* missing HEADER */ + + /* get the COMPND cards */ + Entry->Compound=NULL; + for (i=0; get_record(Pdb, Line, "COMPND"); i++) + { + G_REALLOC(Entry->Compound, char, 60*(i+1)+1); + sscanf(Line+10, "%60c", Entry->Compound+60*i); + Entry->Compound[60*(i+1)]='\0'; /* not appended when "%nc" is scanned... */ + } + if (Entry->Compound==NULL) /* no COMPND cards */ + G_CALLOC(Entry->Compound, char, 1); /* empty string */ + + /* get the SOURCE cards */ + Entry->Source=NULL; + for (i=0; get_record(Pdb, Line, "SOURCE"); i++) + { + G_REALLOC(Entry->Source, char, 60*(i+1)+1); + sscanf(Line+10, "%60c", Entry->Source+60*i); + Entry->Source[60*(i+1)]='\0'; + } + if (Entry->Source==NULL) /* no SOURCE cards */ + G_CALLOC(Entry->Source, char, 1); /* empty string */ + + /* get the experimental technique */ + Entry->Expdta[0]='\0'; + if (!get_record(Pdb, Line, "EXPDTA")) + strcpy(Entry->Expdta, "X-RAY DIFFRACTION"); /* default technique */ + else + sscanf(Line+10, "%60c", Entry->Expdta); + + /* get resolution from REMARK 2, store -1.0 for "NOT APPLICABLE" */ + Entry->Resol=-1.0; + while (get_record(Pdb, Line, "REMARK")) + { + if (strncmp(Line, "REMARK 2", 10)) continue; /* not second remark */ + Cptr=strstr(Line, "RESOLUTION."); + if (Cptr==NULL) continue; + if (NULL!=strstr(Line, "NOT APPLICABLE")) + { Entry->Resol=-1.0; break; } + if (sscanf(Cptr+11, "%f", &(Entry->Resol))) /* found resolution */ + break; + } + + /* get secondary structure records en masse */ + Sno=0; + while (get_record(Pdb, Line, "HELIX")) /* read HELIX entries */ + { + G_REALLOC(Secs, Secstr_, Sno+1); + Secs[Sno].Sectype=HELIX; + sscanf(Line+7, "%d %s", &(Secs[Sno].No), Secs[Sno].Id); + Secs[Sno].Chid=Line[19]; + sscanf(Line+15, "%3s", Aa3); + Secs[Sno].Begaa=aa_code31(Aa3); + sscanf(Line+21, "%d%c", &(Secs[Sno].Beg), &(Secs[Sno].Begrid)); + sscanf(Line+27, "%3s", Aa3); + Secs[Sno].Endaa=aa_code31(Aa3); + sscanf(Line+33, "%d%c", &(Secs[Sno].End), &(Secs[Sno].Endrid)); + sscanf(Line+38, "%d", &(Secs[Sno].Type)); + Sno++; + } + while (get_record(Pdb, Line, "SHEET")) /* read SHEET entries */ + { + G_REALLOC(Secs, Secstr_, Sno+1); + Secs[Sno].Sectype=SHEET; + sscanf(Line+7, "%d %s%d", &(Secs[Sno].No), Secs[Sno].Id, &(Secs[Sno].Strandno)); + Secs[Sno].Chid=Line[21]; + sscanf(Line+17, "%3s", Aa3); + Secs[Sno].Begaa=aa_code31(Aa3); + sscanf(Line+22, "%d%c", &(Secs[Sno].Beg), &(Secs[Sno].Begrid)); + sscanf(Line+28, "%3s", Aa3); + Secs[Sno].Endaa=aa_code31(Aa3); + sscanf(Line+33, "%d%c", &(Secs[Sno].End), &(Secs[Sno].Endrid)); + sscanf(Line+38, "%d", &(Secs[Sno].Type)); + + /* read registration if this is not the first strand */ + if (Secs[Sno].Type) + { + /* quite a number of PDB entries (e.g. 1ACX) contain no + * information for the beta-strand registrations. .Other + * will be set to 0 to indicate this sad condition and + * a warning printed to stderr + */ + Secs[Sno].Other=0; + + /* atom name, residue name, pos and insert ID for the + * registration point on THIS strand. For atom names, + * see the hack comment at the ATOM record read below + */ + if (Line[41]==' ') sscanf(Line+42, "%3s", Secs[Sno].Thisat); + else sscanf(Line+41, "%4s", Secs[Sno].Thisat); + sscanf(Line+45, "%3s",Aa3); + Secs[Sno].Thisaa=aa_code31(Aa3); + sscanf(Line+50, "%d%c", &(Secs[Sno].This), &(Secs[Sno].Thisrid)); + + /* same + chain ID for the OTHER strand */ + if (Line[56]==' ') sscanf(Line+57, "%3s", Secs[Sno].Otherat); + else sscanf(Line+56, "%4s", Secs[Sno].Otherat); + sscanf(Line+60, "%3s", Aa3); + Secs[Sno].Otheraa=aa_code31(Aa3); + sscanf(Line+64, "%c%d%c", &(Secs[Sno].Otherchid), + &(Secs[Sno].Other), &(Secs[Sno].Otherid)); + } + else /* first strand, zero the This/Other fields */ + { + Secs[Sno].Thisaa=Secs[Sno].Thisrid=Secs[Sno].Thisat[0]='\0'; + Secs[Sno].Otheraa=Secs[Sno].Otherid=Secs[Sno].Otherat[0]='\0'; + Secs[Sno].This=Secs[Sno].Other=0; + Secs[Sno].Otherchid='\0'; + } + Sno++; + } + while (get_record(Pdb, Line, "TURN")) /* read TURN entries */ + { + G_REALLOC(Secs, Secstr_, Sno+1); + Secs[Sno].Sectype=TURN; + sscanf(Line+7, "%d %s", &(Secs[Sno].No), Secs[Sno].Id); + sscanf(Line+15, "%3s", Aa3); + Secs[Sno].Chid=Line[19]; + Secs[Sno].Begaa=aa_code31(Aa3); + sscanf(Line+20, "%4d%c", &(Secs[Sno].Beg), &(Secs[Sno].Begrid)); + sscanf(Line+26, "%3s", Aa3); + Secs[Sno].Endaa=aa_code31(Aa3); + sscanf(Line+31, "%4d%c", &(Secs[Sno].End), &(Secs[Sno].Endrid)); + Secs[Sno].Type=0; + Sno++; + } + + /* sort secondary structure records in ascending residue order */ + if (Sno) + qsort(Secs, Sno, sizeof(Secstr_), ascend_res); + + /* read S-S bond records in bulk */ + for (Ssbno=0; get_record(Pdb, Line, "SSBOND"); Ssbno++) + { + G_REALLOC(Ssbs, Ssbond_, Ssbno+1); + sscanf(Line+7, "%3d", &(Ssbs[Ssbno].No)); + sscanf(Line+15, "%c%4d%c", + &(Ssbs[Ssbno].Ch1), &(Ssbs[Ssbno].Pos1), &(Ssbs[Ssbno].Rid1)); + sscanf(Line+29, "%c%4d%c", + &(Ssbs[Ssbno].Ch2), &(Ssbs[Ssbno].Pos2), &(Ssbs[Ssbno].Rid2)); + } + + /* read chains and atom coordinates: since TER is sometimes missing, + * the chain boundaries are also detected when the chain ID char + * changes between two subsequent records. Chain boundaries + * may also be indicated by ENDMDL cards (NMR structures). + */ + Chainno=0; i=0; Model=get_record(Pdb, Line, "MODEL"); + Oldchain='\0'; + + Oldlastpos=Lastpos; /* find next TER if any */ + if (Ter=get_record(Pdb, Line, "TER")) /* = intended */ + { Terpos=Lastpos; Lastpos=Oldlastpos; } + + if (Model) + { /* find next ENDMDL */ + Oldlastpos=Lastpos; + if(get_record(Pdb, Line, "ENDMDL")) + { Modelpos=Lastpos; Lastpos=Oldlastpos; } + } + + do /* read ATOM records */ + { + /* find first line beginning with "ATOM" */ + Endf=!get_record(Pdb, Line, "ATOM"); + + /* start new chain if the chain indicator has changed + * or a TER or ENDMDL card was passed + */ + if (!Endf) + { + Creatchn=(Oldchain!=Line[21]); + if (Ter && Lastpos>Terpos) /* TER has been passed */ + { + /* get next TER if any */ + Oldlastpos=Lastpos; Lastpos=Terpos; + if (get_record(Pdb, Endmdline, "TER")) + Terpos=Lastpos; + else Ter=0; /* don't check any more */ + Lastpos=Oldlastpos; + Creatchn=1; + } + + if (Model && Lastpos>Modelpos) + { /* find next ENDMDL */ + Oldlastpos=Lastpos; Lastpos=Modelpos; + if(get_record(Pdb, Endmdline, "ENDMDL")) + Modelpos=Lastpos; + else Model=0; /* no more checks */ + Lastpos=Oldlastpos; + Creatchn=1; + } + } + + /* save prev chain before exiting or starting a new one */ + if (Oldchain && (Endf || Creatchn)) + { + Chains[Chainno].Atomno=i; /* save no. of atoms */ + Chains[Chainno].Aano=Aano; /* no. of residues */ + Chains[Chainno].Chid=Oldchain; /* chain ID */ + if (!Protein) Chains[Chainno].Type='X'; /* not protein */ + else if (Calpha) Chains[Chainno].Type='A'; /* C-alpha only */ + else Chains[Chainno].Type='P'; /* proper protein */ + + Chains[Chainno].Atoms= /* data pointer */ + (Atom_ *) realloc(Atoms,i*sizeof(Atom_)); + Chains[Chainno].Seq=atom_seq(Chains[Chainno].Atoms, i, Aano); + + /* H-bond and secstr info will come later */ + Chains[Chainno].Hbonds=NULL; Chains[Chainno].Secs=NULL; + Chains[Chainno].Ssbs=NULL; + Chains[Chainno].Hbno=Chains[Chainno].Secsno= + Chains[Chainno].Ssbno=0; + Chainno++; + } + + if (Endf) break; /* exit */ + + if (Creatchn) /* start new chain */ + { + G_REALLOC(Chains, Chain_, Chainno+1); + G_CALLOC(Atoms, Atom_, CHUNK); + i=Aano=0; Oldrid=' '; Oldchain=Line[21]; Oldaano=-9999; + Protein=0; Calpha=1; + } + + /* make room for Atoms[] for further growth */ + if (i && !(i % CHUNK)) + G_REALLOC(Atoms, Atom_, (i/CHUNK+1)*CHUNK); + + /* start processing line */ + sscanf(Line,"ATOM%d", &(Atoms[i].Atno)); + + /* an ugly hack: in the PDB format, atom names are built of + * 4 chars: + * 1-2=chem.symbol, RIGHT justified; + * 3=remoteness (alpha, optional) + * 4=branch designator (numeric, optional) + * When the 1st pos (Line[12]) is blank, we read in a 3-char + * string only in order not to pick up the (optional) Alt character. + * Otherwise a 4-char string is read. My .Id strings are + * always left-justified internally + */ + if (Line[12]==' ') sscanf(Line+13, "%3s", Atoms[i].Id); + else sscanf(Line+12, "%4s", Atoms[i].Id); + + Atoms[i].Alt=Line[16]; + + /* skip non-C-alphas when the Ca parameter is set */ + Thisca=(!strcmp(Atoms[i].Id,"CA")); /* this is C-alpha */ + if (Ca && !Thisca) continue; + + sscanf(Line+17,"%3s",Aa3); /* get AA name */ + Atoms[i].Aa=aa_code31(Aa3); /* convert to 1-letter code */ + + /* accepted as protein if at least one AA is not 'X' */ + /* else skip non-standard AA atoms if Strict is on */ + if (Atoms[i].Aa!='X') Protein=1; + else if (Strict) continue; + + /* not C-alpha if at least one atom is not "CA" */ + if (!Thisca) Calpha=0; + + /* read residue number */ + sscanf(Line+22,"%4d",&(Atoms[i].Resno)); + + /* read coordinates, occupancy and B-factor */ + sscanf(Line+27,"%f%f%f%f%f", + &(Atoms[i].X),&(Atoms[i].Y),&(Atoms[i].Z), + &(Atoms[i].Occu), &(Atoms[i].Bfact)); + + /* some residues are not numbered consecutively, like in + 1TIM (1,2,4,5,...) or there are more residues with the + same number but a different residue ID like 27,27A,27B... + The following if() is intended to take care of these + anomalies. Note that in 1ABB, the A-chain has the + following "order": Met-679, Lys-910, Phe-681.... + This is a nightmare. */ + Atoms[i].Rid=Line[26]; + if (Atoms[i].Resno!=Oldaano || Oldrid!=Atoms[i].Rid) + { + Oldaano=Atoms[i].Resno; + Oldrid=Atoms[i].Rid; + Aano++; + } + Lastatno=Atoms[i].Atno; /* last "good" atom seen so far */ + i++; /* next atom: not inc'd if Strict skips */ + } + while (1); /* end of do..while : break if Endf */ + + /* read CONECT records for H-bonds */ + Hbno=0; + while (get_record(Pdb, Line, "CONECT")) + { + /* the atom no. at positions 6..10 (Atno) can have acceptors + * at positions 31..35 and 36..40, and donors at positions + * 46..50, 51..55. The rest of the CONECT record is ignored. + * H-bonds that connect + * atoms outside the 1..Lastatno range will be ignored. + */ + sscanf(Line+6, "%d", &Atno); + if (Atno>Lastatno) continue; /* outside chain atom range */ + + At=Atno; + Line[41]=Line[56]='\0'; + + /* read 1 acceptor and 1 donor only */ + if(1==sscanf(Line+31, "%d", &Partner) && Partner<=Lastatno) + Acc=Partner; else Acc=0; + if(1==sscanf(Line+46, "%d", &Partner) && Partner<=Lastatno) + Don=Partner; else Don=0; + /* store the corresponding pairs */ + if (Don>0) + { + for (j=0; j=Hbno) + { + G_REALLOC(Hbonds, Hbond_, Hbno+1); + Hbonds[Hbno].Don=Don; Hbonds[Hbno].Acc=At; + Hbno++; + } + } + if (Acc>0) + { + for (j=0; j=Hbno) + { + G_REALLOC(Hbonds, Hbond_, Hbno+1); + Hbonds[Hbno].Don=At; Hbonds[Hbno].Acc=Acc; + Hbno++; + } + } + } + fclose(Pdb); + + /* separate secondary structure records by chains */ + for (i=0; iSsbs, Ssbond_, Entry->Ssbno+1); + Entry->Ssbs[Entry->Ssbno++]=Ssbs[i]; + } + else /* intrachain */ + { + /* locate the chain(s) with the same ID */ + for (j=0; j=Lowlim && Don<=Uplim && + Acc>=Lowlim && Acc<=Uplim) + break; + } + if (jHbonds, Hbond_, Entry->Hbno+1); + Entry->Hbonds[Entry->Hbno++]=Hbonds[i]; + } + } + GFREE(Hbonds); + + /* cleanup and final data transfer */ + Entry->Chains=Chains; Entry->Chainno=Chainno; + return(Entry); +} +/* END of get_pdb */ + +/* get_record: returns the first record (in Line) from Pdb which + * begins with the string Label. Line is assumed to be longer than + * LINELEN. Stores the file position where the last matching + * line was found in Lastpos (global). + * Return value: 1 if a matching record was found, 0 if no more + * records were found. In this latter case, Line=="". + */ +static int get_record(FILE *Pdb, char *Line, const char *Label) +{ + int Lablen=strlen(Label); + + if (ftell(Pdb)!=Lastpos) + fseek(Pdb, Lastpos, SEEK_SET); /* go where last was found */ + Line[0]='\0'; /* zero line */ + while (NULL!=fgets(Line, LINELEN, Pdb)) + if (!strncmp(Line, Label, Lablen)) + { + Lastpos=ftell(Pdb); /* found */ + Line[72]='\0'; /* chop off chars 73-80 "0XXX1234" */ + return(1); + } + return(0); /* not found */ +} +/* END of get_record */ + +/* ascend_res: for sorting Secstr_ records in increasing order. + * Alphabetical ordering for chain identifiers, and increasing + * residue number (beginning) order within the same chain. + */ +static int ascend_res(const void *Sec1, const void *Sec2) +{ + register Secstr_ *S1=(Secstr_ *)Sec1, *S2=(Secstr_ *)Sec2; + + if (S1->ChidChid) return(-1); + else if (S1->Chid==S2->Chid) + { + if (S1->BegBeg) return(-1); + else if (S1->Beg>S2->Beg) return(1); + else return(0); + } + else return(0); +} +/* END of ascend_res */ + +/* atom_seq: given a PDB chain atom array together with its + * length Atomno and the number of amino acids Aano, the + * sequence (in 1-letter code) is returned in a \0-terminated string. + */ +static char *atom_seq(const Atom_ Atoms[], int Atomno, int Aano) +{ + register int i,j,Resno; + char *Seq; + char Rid; + + Seq= (char *) calloc(Aano+1,sizeof(char)); + + for (j=0,i=0; iChainno; i++) + { + if (Entry->Chains[i].Aano) free(Entry->Chains[i].Seq); + if (Entry->Chains[i].Atomno) free(Entry->Chains[i].Atoms); + if (Entry->Chains[i].Secsno) free(Entry->Chains[i].Secs); + if (Entry->Chains[i].Hbno) free(Entry->Chains[i].Hbonds); + if (Entry->Chains[i].Ssbno) free(Entry->Chains[i].Ssbs); + } + if (Entry->Chainno) free(Entry->Chains); + if (Entry->Ssbno) free(Entry->Ssbs); + if (Entry->Hbno) free(Entry->Hbonds); + free(Entry->Compound); free(Entry->Source); + free(Entry); +} +/* END of free_pdb */ + +/* atom_dist: returns the distance between two Atom_ entries. */ +float atom_dist(const Atom_ *At1, const Atom_ *At2) +{ + float Dx,D; + + D=0.0; + Dx=At1->X-At2->X; + D+=Dx*Dx; + Dx=At1->Y-At2->Y; + D+=Dx*Dx; + Dx=At1->Z-At2->Z; + D+=Dx*Dx; + return(sqrtf(D)); +} +/* END of atom_dist */ + +/* ---- OUTPUT ---- */ + +/* put_pdb: writes the atomic coordinate information in Entry + * to the file Pdbfn in PDB format. Currently supported records are + * HEADER, COMPND, SOURCE, REMARK, SEQRES, HELIX, SHEET, TURN, + * SSBOND, ATOM, CONECT. Remno remarks are supplied in a char array. + */ +void put_pdb(const char *Pdbfn, Pdbentry_ *Entry, + char *Remarks[], int Remno) +{ + /* 3-atom H-bond record type for CONECT output */ + typedef struct + { + int Don, At, Acc; /* Don or Acc may be -1 */ + } + Hb3_ ; + + /* index for the counters in the MASTER record */ + typedef enum {REM, FTN, HET, HLX, SHT, TRN, + SIT, TRS, ATM, TER, CON, SQR} Masteridx_ ; + + FILE *Pdb; /* output file */ + char Card[LINELEN]; /* output line str buffer */ + Chain_ *Chains; /* temp ptrs to Entry's (sub)fields */ + Atom_ *Atoms; + Hbond_ *Hbonds=NULL; /* merged list of Don->Acc H-bonds */ + Hb3_ *Hb3s=NULL; /* list of Don->At->Acc output H-bonds */ + Secstr_ *Secs=NULL; /* merged list of secondary structures */ + Ssbond_ *Ssbs=NULL; /* merged list of S-S bonds */ + register int i, j, k, se, ss, hb; + int Chno, Atomno, Aano, Hbno, Hb3no, Ssbno, Secsno, Don, Acc, Linecnt, Atomcnt; + char *Seq, *Code, *Cmp, Chid, Dside, Aside; + int Mc[12]={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; /* record counter */ + Masteridx_ Mx; + + /* check data quickly and open file */ + if (Entry==NULL || !Entry->Chainno) return; /* possibly empty */ + if (NULL==(Pdb=fopen(Pdbfn, "w"))) + { + fprintf(stderr, "? put_pdb: Cannot open %s\n", Pdbfn); + return; + } + + Linecnt=1; + /* compose header */ + set_pdbdate(Entry); + sprintf(Card, "HEADER %-40s%9s %4s", + Entry->Header, Entry->Date, Code=Entry->Pdbcode); + print_card(Pdb, Card, Code, Linecnt++); + + /* compound description (may span several lines) */ + for (i=1, Cmp=Entry->Compound, k=strlen(Cmp); k>0; i++, Cmp+=60, k-=60) + { + if (i==1) sprintf(Card, "COMPND %-60.60s", Cmp); + else sprintf(Card, "COMPND %2d%-60.60s", i, Cmp); + print_card(Pdb, Card, Code, Linecnt++); + } + + /* source description (may span several lines) */ + for (i=1, Cmp=Entry->Source, k=strlen(Cmp); k>0; i++, Cmp+=60, k-=60) + { + if (i==1) sprintf(Card, "SOURCE %-60.60s", Cmp); + else sprintf(Card, "SOURCE %2d%-60.60s", i, Cmp); + print_card(Pdb, Card, Code, Linecnt++); + } + + /* experimental technique */ + sprintf(Card, "EXPDTA %-60.60s", Entry->Expdta); + print_card(Pdb, Card, Code, Linecnt++); + + /* insert a warning and print resolution */ + sprintf(Card, "REMARK 1 NOT A GENUINE PDB ENTRY!"); + print_card(Pdb, Card, Code, Linecnt++); + if (Entry->Resol<0) + strcpy(Card, "REMARK 2 RESOLUTION. NOT APPLICABLE."); + else + sprintf(Card, "REMARK 2 RESOLUTION. %.2f ANGSTROMS.", Entry->Resol); + print_card(Pdb, Card, Code, Linecnt++); + Mc[REM]=2; + + /* add user-supplied remarks starting at 4 because 3 is reserved for refinement */ + for (j=0; j=62) continue; /* skip longs */ + sprintf(Card,"REMARK 4 %s",Remarks[j]); + print_card(Pdb, Card, Code, Linecnt++); + } + + /* list sequence info */ + Chains=Entry->Chains; + for (Chno=0; ChnoChainno; Chno++) + { + Seq=Chains[Chno].Seq; + Aano=Chains[Chno].Aano; Chid=Chains[Chno].Chid; + for (i=0; 13*iSsbno; Hbno=Entry->Hbno; + for (Chno=0; ChnoChainno; Chno++) + { + Secsno+=Chains[Chno].Secsno; + Ssbno+=Chains[Chno].Ssbno; + Hbno+=Chains[Chno].Hbno; + } + G_CALLOC(Secs, Secstr_, Secsno); + G_CALLOC(Ssbs, Ssbond_, Ssbno); + G_CALLOC(Hbonds, Hbond_, Hbno); + for (se=ss=hb=0, Chno=0; ChnoChainno; Chno++) + { + memcpy(Secs+se, Chains[Chno].Secs, + sizeof(Secstr_)*Chains[Chno].Secsno); + se+=Chains[Chno].Secsno; + memcpy(Ssbs+ss, Chains[Chno].Ssbs, + sizeof(Ssbond_)*Chains[Chno].Ssbno); + ss+=Chains[Chno].Ssbno; + memcpy(Hbonds+hb, Chains[Chno].Hbonds, + sizeof(Hbond_)*Chains[Chno].Hbno); + hb+=Chains[Chno].Hbno; + } + memcpy(Ssbs+ss, Entry->Ssbs, sizeof(Ssbond_)*Entry->Ssbno); + memcpy(Hbonds+hb, Entry->Hbonds, sizeof(Hbond_)*Entry->Hbno); + qsort(Secs, Secsno, sizeof(Secstr_), secstr_outorder); + qsort(Ssbs, Ssbno, sizeof(Ssbond_), ssbond_outorder); + + /* list sec. struct. info */ + for (i=0; iChainno; Chno++) + { + Aano=Chains[Chno].Aano; Chid=Chains[Chno].Chid; + Atoms=Chains[Chno].Atoms; Atomno=Chains[Chno].Atomno; + for (i=0; iAt->Acc Hb3_ records from the general + * Don->Acc Hbond_ records. This is to comply with the + * rather awkward CONECT format which lists atoms rather + * than bonds and is redundant. Atom numbers are supposed + * to run from 1 (0 indicates "no bond"). + */ + G_CALLOC(Hb3s, Hb3_, 2*Hbno); /* worst case: 2 records per Hbond_ */ + for (Hb3no=i=0; iSectype)-(int)(S2->Sectype); + if (Ord) return(Ord); /* helix-sheet-turn */ + else if (S1->Sectype==SHEET) /* both are sheets */ + { + Ord=strcmp(S1->Id, S2->Id); /* sort by alphabetical ID order */ + if (Ord) return(Ord); + else return(S1->No-S2->No); /* same sheet, different strands */ + } + else return(S1->No-S2->No); /* both helices or turns */ +} +/* END of secstr_outorder */ + +/* ssbond_outorder: for sorting the S-S bond records according + * their No field. + */ +static int ssbond_outorder(const void *Ssb1, const void *Ssb2) +{ + register Ssbond_ *S1=(Ssbond_ *)Ssb1, *S2=(Ssbond_ *)Ssb2; + return(S1->No-S2->No); +} +/* END of ssbond_outorder */ + +/* ---- OTHER AUXILIARIES ---- */ + +/* set_pdbdate(): checks the Data field of the PDB structure + * pointed to by Entry. If the Data field contains a valid date + * in the format "DD-MMM-YY" then no change is made and 0 + * is returned. If Data doesn't contain a valid date string, + * then the current date will be used to fill it in and + * a non-0 value (the current system time) is returned. + */ +static long set_pdbdate(Pdbentry_ *Entry) +{ + static const char Months[]="JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC"; + + time_t Curtime; + struct tm *Tmp; + int Day, Year; + char Month[4]; + + /* valid date? */ + if (strlen(Entry->Date)==9 && + 3==sscanf(Entry->Date, "%2d-%3s-%2d", &Day, Month, &Year) && + 1<=Day && Day<=31 && + NULL!=strstr(Months, Month) && + 0<=Year && Year<=99) + return(0); + + /* invalid date, set correct value */ + Curtime=time(NULL); + Tmp=localtime(&Curtime); + strncpy(Month, Months+3*(Tmp->tm_mon), 3); + sprintf(Entry->Date, "%02d-%3s-%02d", Tmp->tm_mday, Month, Tmp->tm_year); + return(Curtime); +} +/* END of set_pdbdate() */ + +#undef LINELEN +#undef G_MALLOC +#undef G_CALLOC +#undef G_REALLOC +#undef GFREE + +/* ==== END OF FUNCTIONS pdbprot.c ==== */ + diff --git a/lib/c/src/portrandom.c b/lib/c/src/portrandom.c new file mode 100644 index 0000000..c636218 --- /dev/null +++ b/lib/c/src/portrandom.c @@ -0,0 +1,157 @@ +/* ==== FUNCTIONS portrandom.c ==== */ + +/* Portable random number generator. Based on "ran1" in + * Numerical Recipes. Slightly altered to avoid the clumsy + * initialisation. + * Reference: + * Numerical Recipes, Second Edition, 1992 (ver. 2.02) + * Chapter 7, Page 280. + */ + +/* ANSI C, IRIX 4.0.5, 27. Feb. 1996. Andris Aszodi */ + +/* ---- HEADER ---- */ + +#include "portrandom.h" + +/* ---- PRIVATE CONSTANTS AND VARIABLES ---- */ + +#define IA 16807 +#define IM 2147483647 +#define AM (1.0/IM) +#define IQ 127773 +#define IR 2836 +#define NTAB 32 +#define NDIV (1+(IM-1)/NTAB) +#define EPS (2.2e-15) +#define RNMX (1.0-EPS) + +static long iy=0L; +static long iv[NTAB]; +static long idum=-1L; + +static char Spare=0; /* Gauss variables */ +static double Spval; + +/* ==== FUNCTIONS ==== */ + +/* init_portrand: initialises the portable random number generator. + * If Seed==0, then Seed==1 is assumed. + */ +void init_portrand(long Seed) +{ + register int j; + register long k; + + idum=(!Seed)? 1L: Seed; /* do not init with 0 */ + if (idum<0) idum*=-1L; + + /* fill up the shuffle table */ + for (j=NTAB+7; j>=0; j--) + { + k=idum/IQ; + idum=IA*(idum-k*IQ)-IR*k; + if (idum<0) idum+=IM; + if (jRNMX)? RNMX: Temp); +} +/* END of port_random */ + +/* portrandom_gauss: returns normally distributed random numbers with + * zero mean and unit variance. Based on the Box/Muller method + * as described in Numerical Recipes. + */ +/* Machine precision constant comes from DBL_EPSILON in + * in pure ANSI C header environments (not on Sun4/SunOS4.x) + */ +#ifndef DBL_EPSILON +#define EPSILON 2.2e-15 +#else +#define EPSILON DBL_EPSILON +#endif +double portrandom_gauss(void) +{ + register double Fac, R, V1, V2; + + if (Spare) /* we had a value from a previous call: return it */ + { + Spare=0; + return(Spval); + } + else /* make two values, save one, return the other */ + { + do /* get two random numbers within the unit circle */ + { + V1=2.0*port_random()-1.0; V2=2.0*port_random()-1.0; + R=V1*V1+V2*V2; + } + while (R>=1.0 || R<=EPSILON); + Fac=sqrt(-2.0*log(R)/R); + Spval=V1*Fac; /* spare value to be returned next time */ + Spare=1; + return(V2*Fac); + } +} +#undef EPSILON +/* END of random_gauss */ + +#undef IA +#undef IM +#undef AM +#undef IQ +#undef IR +#undef NTAB +#undef NDIV +#undef EPS +#undef RNMX + +/* ==== END OF FUNCTIONS portrandom.c ==== */ diff --git a/lib/c/src/ql.c b/lib/c/src/ql.c new file mode 100644 index 0000000..290979e --- /dev/null +++ b/lib/c/src/ql.c @@ -0,0 +1,286 @@ +/* ==== FUNCTIONS ql.c ==== */ + +/* Eigenvalues and eigenvectors of real symmetric matrices by + Housholder tridiagonalisation and QL-transformation. + Adapted from Numerical Recipes. The "core" routines use + the 1..N indexing convention but the "shell" is ordinary + 0..N-1 C-style. Standalone version is eigenql.c */ + +/* ANSI C, Iris Indigo IRIX 4.0.5, 20. Nov. 1992. Andris Aszodi */ + +/* ---- HEADER FILES ---- */ + +#include "ql.h" + +/* ---- TYPES ---- */ + +/* type of function returning int: demanded by qsort() */ +typedef int (*Compfnc_)(const void*,const void*); + +/* type for eigenvalue sorting */ +typedef struct +{ + double Eig; /* an eigenvalue along with its */ + int Idx; /* original position */ +} Eigidx_ ; + +/* ---- PROTOTYPES ---- */ + +/* eigen_ql(): prototype in "ql.h" */ + +static int eig_cmp(const Eigidx_ *E1, const Eigidx_ *E2); +static void tred2(double **a, int n, double *d, double *e); +static int tqli(double *d, double *e, int n, double **z, int Itno); + +/* ---- FUNCTIONS ---- */ + +/* ---- SHELL ---- */ + +/* eigen_ql: a 'shell' function driving the Housholder and QL routines. + Takes a lower triangular matrix Mat as input (with size Size), and + produces the eigenvalues in Eval and the eigenvectors in Evec. + Eval and Evec are assumed to be allocated outside with the + correct sizes! Index shifts are performed + to hack around the [1..N] convention of Numerical Recipes. + Return value: 0 if OK, 1 if iteration limit was exceeded in tqli(). */ + +extern int eigen_ql(Trimat_ Mat, int Size, double *Eval, Matrix_ Evec) +{ + const int ITERNO=30; + + int i,j,k,Err; + Sqmat_ Qmat; + double *Diag2; + Eigidx_ *Evs; + + /* allocate full square matrix: input and raw eigenvectors */ + Qmat=alloc_sqmat(Size); + + /* copy values from lower triangle Mat */ + for (i=0; iEig>E1->Eig)? 1: (E2->EigEig)? -1: 0); +} +/* END of eig_cmp */ + +/* ---- EIGENROUTINE CORE ---- */ + +/* tred2: Housholder tridiagonalisation. a is a real, symmetric matrix + (size n*n). The main diagonal of the tridiag. output is returned in d, + the second diagonal in e with e[1]==0.0. On return, a contains the + transformation matrix "Q". [1..N] indexing convention is used + throughout! + Algorithm and implementation from Numerical Recipes. A.A. has after- + edited the function head to look like ANSI, and inserted 'register' + local vars. */ + +static void tred2(double **a, int n, double *d, double *e) +{ + register int l,k,j,i; + register double scale,hh,h,g,f; + + for (i=n;i>=2;i--) { + l=i-1; + h=scale=0.0; + if (l > 1) { + for (k=1;k<=l;k++) + scale += fabs(a[i][k]); + if (scale < EPSILON) + e[i]=a[i][l]; + else { + for (k=1;k<=l;k++) { + a[i][k] /= scale; + h += a[i][k]*a[i][k]; + } + f=a[i][l]; + g = (RND0(f)>0.0) ? -sqrt(h) : sqrt(h); + e[i]=scale*g; + h -= f*g; + a[i][l]=f-g; + f=0.0; + for (j=1;j<=l;j++) { + /* Next statement can be omitted if eigenvectors not wanted */ + a[j][i]=a[i][j]/h; + g=0.0; + for (k=1;k<=j;k++) + g += a[j][k]*a[i][k]; + for (k=j+1;k<=l;k++) + g += a[k][j]*a[i][k]; + e[j]=g/h; + f += e[j]*a[i][j]; + } + hh=f/(h+h); + for (j=1;j<=l;j++) { + f=a[i][j]; + e[j]=g=e[j]-hh*f; + for (k=1;k<=j;k++) + a[j][k] -= (f*e[k]+g*a[i][k]); + } + } + } else + e[i]=a[i][l]; + d[i]=h; + } + /* Next statement can be omitted if eigenvectors not wanted */ + d[1]=0.0; + e[1]=0.0; + /* Contents of this loop can be omitted if eigenvectors not + wanted except for statement d[i]=a[i][i]; */ + for (i=1;i<=n;i++) { + l=i-1; + if (RND0(d[i])!=0.0) { /* !=0.0 added */ + for (j=1;j<=l;j++) { + g=0.0; + for (k=1;k<=l;k++) + g += a[i][k]*a[k][j]; + for (k=1;k<=l;k++) + a[k][j] -= g*a[k][i]; + } + } + d[i]=(fabs(a[i][i])= Itno) /* too many iters */ + return(1); + g=(d[l+1]-d[l])/(2.0*e[l]); + r=sqrt((g*g)+1.0); + ra=(RND0(g)<0.0) ? -fabs(r) : fabs(r); + g=d[m]-d[l]+e[l]/(g+ra); + s=c=1.0; + p=0.0; + for (i=m-1;i>=l;i--) { + f=s*e[i]; + b=c*e[i]; + if (fabs(f) >= fabs(g)) { + c=g/f; + r=sqrt((c*c)+1.0); + e[i+1]=f*r; + c *= (s=1.0/r); + } else { + s=f/g; + r=sqrt((s*s)+1.0); + e[i+1]=g*r; + s *= (c=1.0/r); + } + g=d[i+1]-p; + r=(d[i]-g)*s+2.0*c*b; + p=s*r; + d[i+1]=g+p; + g=c*r-b; + /* Next loop can be omitted if eigenvectors not wanted */ + for (k=1;k<=n;k++) { + f=z[k][i+1]; + z[k][i+1]=s*z[k][i]+c*f; + z[k][i]=c*z[k][i]-s*f; + } + } + d[l]=d[l]-p; + e[l]=g; + e[m]=0.0; + } + } while (m != l); + } + return(0); +} +/* END of tqli */ + +/* ==== END OF FUNCTIONS ql.c ==== */ diff --git a/lib/c/src/siva.c b/lib/c/src/siva.c new file mode 100644 index 0000000..d1666d5 --- /dev/null +++ b/lib/c/src/siva.c @@ -0,0 +1,232 @@ +/* ==== FUNCTIONS siva.c ==== */ + +/* Singular value decomposition: homebrew version */ + +/* ANSI C, IRIX 4.0.5, 21. July 1994. Andris Aszodi */ + +/* ---- HEADER AND INCLUDE FILES ---- */ + +#include "matrix.h" +#include "ql.h" +#include "siva.h" + +/* ==== FUNCTIONS ==== */ + +/* ---- SINGULAR VALUE DECOMPOSITION AND BACK-SUBSTITUTION ---- */ + +/* siva_setup: allocates the matrices etc. for storing the + * decomposed form. The matrix to be decomposed is (Row x Col), + * where Row>=Col. If RowWmax) Wmax=W[i]; + if (W[i] +#include +#include +#include +#include +#include + +/* ---- MODULE HEADER ---- */ + +#include "tstamp.h" + +/* ---- DEFINITIONS ---- */ + +/* In System V, the struct tms holds the time measurements in + * clock tick units: CLK_TCK units make up a second. If this is + * not defined, we assume the time measurements are in 1/100 seconds. + * Apparently, this is POSIX but not pure ANSI + */ +#define _POSIX_SOURCE +#include +#ifndef CLK_TCK +#define CLK_TCK 100 +#endif +#undef _POSIX_SOURCE + +#define TSTAMP_LEN 30 /* length of time stamp string */ +#define TIMESTR_LEN 80 /* length of "day-hr-min-.." string */ + +/* ---- LOCAL VARIABLES ---- */ + +static struct tms Start, Stop; /* process time structures, see */ + +/* ==== FUNCTIONS ==== */ + +/* time_stamp(): returns a pointer to an internal static string + * that contains a time string in the following format:- + * "Thu 02-Jun-1994 18:24:23". The string is evaluated at the + * time of the call and is overwritten between calls. + */ +char *time_stamp(void) +{ + static char Tstr[TSTAMP_LEN]; + + time_t Now; + struct tm *Tm; + + Now=time(NULL); + Tm=localtime(&Now); + strftime(Tstr, TSTAMP_LEN, "%a %d-%b-%Y %X", Tm); + return(Tstr); +} +/* END of time_stamp */ + +/* greeting(): returns a pointer to an internal static string + * that contains a greeting appropriate for the time of the day: + * "Good morning" from 6am till noon, "Good afternoon" from 12:01pm + * until 6pm, "Good evening" from 6:01pm until 10pm and "Good night" + * for want of anything more appropriate otherwise. The string + * is evaluated at the time of the call and is overwritten between calls. + */ +char *greeting(void) +{ + static char Tstr[TSTAMP_LEN]; + + time_t Now; + struct tm *Tm; + + Now=time(NULL); + Tm=localtime(&Now); + if (6<=Tm->tm_hour && (Tm->tm_hour<=11 || 12==Tm->tm_hour && 0==Tm->tm_min)) + strcpy(Tstr, "Good morning"); + else if (12<=Tm->tm_hour && (Tm->tm_hour<=17 || 18==Tm->tm_hour && 0==Tm->tm_min)) + strcpy(Tstr, "Good afternoon"); + else if (18<=Tm->tm_hour && (Tm->tm_hour<=21 || 22==Tm->tm_hour && 0==Tm->tm_min)) + strcpy(Tstr, "Good evening"); + else strcpy(Tstr, "Good night"); + return(Tstr); +} +/* END of greeting() */ + +/* start_timer(): starts a timer by saving the current time in an + * internal variable. + */ +void start_timer(void) { times(&Start); } + +/* stop_timer(): stops the timer by saving the current time in + * another internal variable. The start time is not affected. + */ +void stop_timer(void) { times(&Stop); } + +/* timer_results(): returns the time (in integer seconds) + * elapsed between the last calls to start_timer() and stop_timer(). + * User and system times for the current process and its children + * are tracked separately. E.g. timer_results(TS_UTIME) returns the + * user time of the process, timer_results(TS_CUTIME|TS_CSTIME) + * returns the total time of the children. The four times can be + * summed in any combination by OR-ing the corresponding constants + * (see TsSelector_) together. + */ +long timer_results(int Sel) +{ + long T=0; + + if (Sel & TS_UTIME) /* user time */ + T+=Stop.tms_utime-Start.tms_utime; + if (Sel & TS_STIME) /* system time */ + T+=Stop.tms_stime-Start.tms_stime; + if (Sel & TS_CUTIME) /* children user time */ + T+=Stop.tms_cutime-Start.tms_cutime; + if (Sel & TS_CSTIME) /* children system time */ + T+=Stop.tms_cstime-Start.tms_cstime; + return(T/CLK_TCK); +} +/* END of timer_results() */ + +/* time_string(): when given a time (interval) in seconds in T, + * this routine returns a ptr to an internal character buffer holding a + * formatted string like "26 days 1 hour 3 mins 55 secs". + * This string is overwritten by each call. + * Fractions of seconds are not supported and T<0 is interpreted as T==0. + */ +const char *time_string(long T) +{ + static char Tstr[TIMESTR_LEN]; + char *Tcur; + long D, H, M, S; + ldiv_t Div; + *Tstr='\0'; + + if (T<=0) + { + sprintf(Tstr, "0 seconds"); + return(Tstr); + } + + /* convert to days, hours, minutes */ + Div=ldiv(T, 86400L); + D=Div.quot; T=Div.rem; + Div=ldiv(T, 3600L); + H=Div.quot; T=Div.rem; + Div=ldiv(T, 60L); + M=Div.quot; S=Div.rem; + + /* format to string */ + Tcur=Tstr; + if (D) + sprintf(Tcur, "%ld day%s ", D, ((D==1)? "": "s")); + Tcur=Tstr+strlen(Tstr); + if (H) + sprintf(Tcur, "%ld hour%s ", H, ((H==1)? "": "s")); + Tcur=Tstr+strlen(Tstr); + if (M) + sprintf(Tcur, "%ld min%s ", M, ((M==1)? "": "s")); + Tcur=Tstr+strlen(Tstr); + if (S) + sprintf(Tcur, "%ld sec%s", S, ((S==1)? "": "s")); + return(Tstr); +} +/* END of time_string() */ + +/* ==== END OF FUNCTIONS tstamp.c ==== */ diff --git a/lib/cc/incl/Bits.h b/lib/cc/incl/Bits.h new file mode 100644 index 0000000..1926a45 --- /dev/null +++ b/lib/cc/incl/Bits.h @@ -0,0 +1,175 @@ +#ifndef BITS_CLASS +#define BITS_CLASS + +// ==== HEADER Bits.h ==== + +/* A simple bit-array class for storing Boolean data. */ + +// SGI C++ 7.1, IRIX 6.2, 4. Mar. 1997. Andris + +// ---- HEADERS ---- + +#include +#include +#include +#include +#include + +// ---- DEFINITIONS ---- + +#ifndef CHAR_BIT +#define CHAR_BIT 8 +#endif +#define UINT_SIZE (CHAR_BIT*sizeof(unsigned int)) + +// ---- GLOBAL TYPES ---- + +/* NOTE: The SGI N32/N64 compilers recognise the built-in bool type + * and define the macro _BOOL. This workaround is provided for + * the old-style SGI O32 compiler. + * Define _BOOL on the command line for 'bool'-aware non-SGI compilers. + */ +#if !(defined(_BOOL) || defined(HAS_SEEN_BOOL)) +#define HAS_SEEN_BOOL +typedef unsigned char bool; +static const bool false=0; +static const bool true=1; +#endif /* _BOOL */ + +// ==== CLASSES ==== + +/* Bits_ : A simple bit-array class. Bits are stored in + * an array of unsigned ints (char size CHAR_BIT is taken from + * ). Individual bits can be set and tested + * and global bitwise Boolean operations can be performed. + * Empty arrays can also be constructed. + */ +class Bits_ +{ + // data + unsigned int *B; // the bit array + unsigned int Cs, Bs; // no. of uints and bits + + // methods + public: + + // constructors + /* Init to hold N bits (default 0). Set all bits to + * Val (false by default). + */ + Bits_(unsigned int N=0, bool Val=false); + + /* Init by another Bits_ object Bits (copy constructor). */ + Bits_(const Bits_& Bits); + + /* Init by a string Str which should have the format "110101001", + * 0 for "false", 1 for "true". Any other char elicits a warning + * and will be interpreted as "true". The null string "" is accepted + * as an empty bitvector. + */ + Bits_(const char *Str); + + // destructor + ~Bits_() { delete [] B; } + + // assignment + /* Performs 'destructive assignment', i.e. the original object + * is destroyed and then rebuilt as an exact copy of the Other object. + */ + Bits_& operator=(const Bits_& Other); + + // equality + /* ==,!=: return an appropriate Boolean value. Two Bits_ arrays are + * equal if they have the same number of bits and all bits are set + * in the same way. + */ + bool operator==(const Bits_& Other) const; + bool operator!=(const Bits_& Other) const; + + // access and size + unsigned int cno() const { return(Cs); } + + /* get_bit(): returns the Boolean value of the Idx-th bit. + * If Idx is out of range, false will be returned. + */ + bool get_bit(unsigned int Idx) const; + + /* set_bit(): sets the Idx-th bit to Value (default is true). + * If Idx is out of range, no action + * will be taken. Returns old value or false if out of range. + */ + bool set_bit(unsigned int Idx, bool Value=true); + + /* set_values(): sets all bits to Value (default is true). */ + void set_values(bool Value=true); + + /* len(): returns the no. of bits in the array. + * len(Len): adjusts the size of the bit array to Len. + * If Len==Bs, no action is taken, if LenBs then the tail of the + * new array will be filled with false values (0). + */ + unsigned int len() const { return(Bs); } + unsigned int len(unsigned int Len); + + /* on_no(), off_no(): return the number of bits that are ON or OFF, + * respectively. + */ + unsigned int on_no() const; + unsigned int off_no() const; + + // bitwise operations + /* The following overlaid operators (~,&,|,^) perform exactly the same + * bitwise operations as their standard counterparts. The bit array sizes + * must be the same otherwise a dim mismatch error occurs, a + * warning is printed and the left operand is returned. + */ + Bits_& operator~(); + Bits_& operator&=(const Bits_& Bits); + Bits_& operator|=(const Bits_& Bits); + Bits_& operator^=(const Bits_& Bits); + Bits_ operator&(const Bits_& Bits) const; + Bits_ operator|(const Bits_& Bits) const; + Bits_ operator^(const Bits_& Bits) const; + + // shifts + /* The following operators (<<,<<=,>>,>>=) do exactly the same things as + * their original C counterparts. However, the rhs-s (although the type + * is int) are not allowed to have negative values: no action is taken and + * a warning is printed in these cases. For << and <<=, 0 bits are shifted + * in at the right; for >> and >>=, 0 bits are shifted in from the left. + * Empty bit-vectors are left unchanged. + */ + Bits_& operator<<=(int Shift); + Bits_& operator>>=(int Shift); + Bits_ operator<<(int Shift) const; + Bits_ operator>>(int Shift) const; + + // printing + /* list_bits(): lists the bits neatly to Out, UINT_SIZE bits per row. + * Prints Fch (default '0') and Tch (default '1') for false and + * true values, respectively. + */ + void list_bits(ostream& Out, char Fch='0', char Tch='1') const; + + /* <<: overlaid print operator that calls list_bits() + * with the default arguments. + */ + friend ostream& operator<<(ostream& Out, const Bits_& Bits); + + // end of public methods interface + + private: + static unsigned int uints_needed(unsigned int Bitno) // minimal no. of uints + { return(Bitno? (Bitno-1)/UINT_SIZE+1: 0); } + static unsigned int get_mask(unsigned int Idx, unsigned int& Offs); + + static unsigned int* alloc_arr(unsigned int Size, const unsigned int *Arr=NULL); + unsigned int zero_mask() const; + +}; +// END OF CLASS Bits_ + +// ==== END OF HEADER Bits.h ==== + +#endif /* BITS_CLASS */ diff --git a/lib/cc/incl/Cdf.h b/lib/cc/incl/Cdf.h new file mode 100644 index 0000000..da07b30 --- /dev/null +++ b/lib/cc/incl/Cdf.h @@ -0,0 +1,70 @@ +#ifndef __CDF_CLASS__ +#define __CDF_CLASS__ + +// ==== HEADER Cdf.h ==== + +/* Estimation of cumulative distribution functions. */ + +// SGI C++ 4.0, IRIX 5.3, 11. May 1995. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include + +// ---- UTILITY HEADERS ---- + +#include "Array.h" +#include "Vector.h" + +// ==== CLASSES ==== + +/* Class Cdf_: the class can be filled up with a set of doubles + * and the cumulative distribution function can be approximated + * as a histogram. + */ +class Cdf_ +{ + // data + private: + Array_ X; // indep. variable in ascending order + Array_ Y; // the CDF distribution (all arrays have the same length) + Array_ Yint; // the frequency count + unsigned int N; // N: total no. of values added + char Ev; // evaluation indicator: 0 if data are "dirty" + + // methods + public: + + // constructor + /* Inits to have Binno>=2 bins equally spaced between Low and Up. + * If Low>Up then they're swapped silently. If Binno<=1 then Binno==2 is used. + */ + Cdf_(unsigned int Binno, double Low, double Up); + + // reset + /* reset(): resets the calling object to have Binno>=2 bins equally spaced + * between Low and Up. Zeroes everything. Very similar to what the ctor does. + */ + void reset(unsigned int Binno, double Low, double Up); + + // data update + /* Cdf+=V, Cdf-=V: add or remove a value V to/from the Cdf object. */ + Cdf_& operator+=(double V); + Cdf_& operator-=(double V); + + // access + unsigned int bin_no() const { return(X.len()); } + const Array_& x_arr() const { return(X); } + const Array_& y_arr(); + Vector_ x_vec() const; + Vector_ y_vec(); + + // private methods + unsigned int get_index(double V) const; + int eval_cdf(); + +}; +// END OF CLASS Cdf_ + +// ==== END OF HEADER Cdf.h ==== +#endif diff --git a/lib/cc/incl/Cplx.h b/lib/cc/incl/Cplx.h new file mode 100644 index 0000000..b8682a9 --- /dev/null +++ b/lib/cc/incl/Cplx.h @@ -0,0 +1,89 @@ +#ifndef __CPLX_CLASS__ +#define __CPLX_CLASS__ + +// ==== HEADER Cplx.h ==== + +/* Double-precision complex arithmetics class. */ + +// SGI C++ 4.0, IRIX 5.3, 25. Oct. 1995. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include +#include +#include + +/* ==== CLASSES ==== */ + +#define UNITY Complex_(1.0) +#define IMAG Complex_(0.0, 1.0) + +/* Class Complex_ : double-precision class with the + * usual arithmetics overloaded + a few transcendental + * functions. Error checking is sloppy. + */ +class Complex_ +{ + // data + private: + + double Re, Im; // real and imaginary parts + + // methods + public: + + // constructors + Complex_(double Real=0.0, double Imag=0.0): Re(Real), Im(Imag) {} + + // member access + friend double real(const Complex_& C) { return(C.Re); } + friend double imag(const Complex_& C) { return(C.Im); } + + // equality and arithmetics + friend int operator==(const Complex_& C1, const Complex_& C2); + Complex_& operator-(); // unary minus + friend Complex_ operator+(const Complex_& C1, const Complex_& C2); + friend Complex_ operator-(const Complex_& C1, const Complex_& C2); + friend Complex_ operator*(const Complex_& C1, const Complex_& C2); + friend Complex_ operator/(const Complex_& C1, const Complex_& C2); + // arithmetics done "in place" + Complex_& operator+=(const Complex_& C); + Complex_& operator-=(const Complex_& C); + Complex_& operator*=(const Complex_& C); + Complex_& operator/=(const Complex_& C); + + // conjugation, fabs (abs value), argument + Complex_ conjug() const ; + double fabs() const ; + double argument() const ; + + // conversions + operator double() const { return((Im==0.0)? Re: fabs()); } + + // powers, sqrt, exp, log + friend Complex_ pow(const Complex_& C, double Ex); + friend Complex_ pow(const Complex_& C, const Complex_& Ex); + friend Complex_ sqrt(const Complex_& C); + friend Complex_ exp(const Complex_& C); + friend Complex_ log(const Complex_& C); + + // trigonometry + friend Complex_ sin(const Complex_& C); + friend Complex_ cos(const Complex_& C); + friend Complex_ tan(const Complex_& C); + + // inverse trigs + friend Complex_ asin(const Complex_& C); + friend Complex_ acos(const Complex_& C); + friend Complex_ atan(const Complex_& C); + + // input-output (very simple) + friend istream& operator>>(istream& In, Complex_& C); + friend ostream& operator<<(ostream& Out, const Complex_& C); + +}; +// END OF CLASS Complex_ + +// ==== END OF HEADER Cplx.h ==== +#endif diff --git a/lib/cc/incl/Hirot.h b/lib/cc/incl/Hirot.h new file mode 100644 index 0000000..8dba923 --- /dev/null +++ b/lib/cc/incl/Hirot.h @@ -0,0 +1,117 @@ +#ifndef HIROT_CLASS +#define HIROT_CLASS + +// ==== HEADER Hirot.h ==== + +/* Contains an implementation of McLachlan's RMS rotation algorithm + * (aka "Procrustes rotation" in statistics) + * adapted to high-dimensional problems. + */ + +// SGI C++ 4.0, IRIX 5.3, 27. Oct. 1995. Andris + +// ---- STANDARD HEADERS ---- + +#include +#include +#include + +// ---- UTILITY HEADERS ---- + +#include "Vector.h" +#include "Sqmat.h" +#include "Points.h" +#include "Svd.h" + +// ==== CLASSES ==== + +/* Hirot_: a class for performing high-dimensional rotations. + * The object is initialised appropriately whenever a rotation + * is needed and then can be queried for the rotation matrix + * or the RMS value. + */ +class Hirot_ +{ + // data + private: + + Svd_ Svd; // the singular value decomposition object + Sqmat_ Mixtensor, Rot; // the "mixed tensor" and the rotation matrix + int Rank; // the rank of Mixtensor (-1 if no decomp was done) + + // methods + public: + + // constructors + /* Default: just calls the other default ctors. */ + Hirot_(): Svd(), Mixtensor(), Rot(), Rank(-1) {} + + // access + /* rot_matrix(): returns a reference to the best rotation matrix. */ + const Sqmat_& rot_matrix() const { return(Rot); } + + /* det_sign(): returns the sign of the determinant of the Mixtensor. + * Returns 1 for "pure" rotations, -1 for "improper" rotations + * (i. e. with inversion), 0 if the structures are "flat" and + * the tensor is rank deficient. Conditions the SVD of Mixtensor + */ + int det_sign(); + + // rotations + /* best_rot(): The RMS rotation algorithm adapted to + * >=3D spaces. The point set X is rotated onto Y. Both are assumed to have + * the same dimensionality and the same number of active points. + * The activity masks need not be equal, but the first active + * point in X will correspond to the first active in Y etc. + * The active points are assumed to have been centered before the call. + * W is a weight vector (assumed to be all-equal if omitted). + * NOTE: <3D point sets are not treated correctly. + * Return value: the sign of the determinant of the transform matrix. + */ + int best_rot(const Points_& X, const Points_& Y, const Vector_& W); + int best_rot(const Points_& X, const Points_& Y); + + /* best_rotflip(): the same as hi_rot() but there's no check for + * the det sign. This routine constructs a unitary transform matrix that + * flips the conformations if necessary to achieve optimal superposition. + */ + void best_rotflip(const Points_& X, const Points_& Y, const Vector_& W); + void best_rotflip(const Points_& X, const Points_& Y); + + // RMS and transformation + /* get_rms(): returns the weighted RMS value between the point sets + * Y and Rot*X (Rot is in the calling object). + * Both sets should have the same no. of active points + * and dimensions. W holds the weights for the pairs (if not uniform). + * Returns -1.0 on error. + */ + double get_rms(const Points_& X, const Points_& Y, const Vector_& W) const; + double get_rms(const Points_& X, const Points_& Y) const; + + /* apply_transform(): replaces X with Rot*X and returns the + * weighted RMS value between Y and Rot*X or -1.0 on error. + * If W is not specified then uniform weights are used. + * Rot is inside the calling object. + */ + double apply_transform(Points_& X, const Points_& Y, const Vector_& W) const; + double apply_transform(Points_& X, const Points_& Y) const; + + // hidden methods + private: + + int get_rot(unsigned int Dim); + void get_rotflip(unsigned int Dim); + + static int check_data(const Points_& X, const Points_& Y); + static int check_data(const Points_& X, const Points_& Y, const Vector_& W); + + void make_mixtensor(const Points_& X, const Points_& Y); + void make_mixtensor(const Points_& X, const Points_& Y, const Vector_& W); + +}; +// END OF CLASS Hirot_ + +// ==== END OF HEADER Hirot.h ==== + +#endif /* HIROT_CLASS */ + diff --git a/lib/cc/incl/Lu.h b/lib/cc/incl/Lu.h new file mode 100644 index 0000000..197d416 --- /dev/null +++ b/lib/cc/incl/Lu.h @@ -0,0 +1,82 @@ +#ifndef __LU_HEADER__ +#define __LU_HEADER__ + +// ==== HEADER Lu.h ==== + +/* LU-decomposition and linear equation solver + * routines for square matrices. + */ + +// SGI C++ 4.0, IRIX 5.3, 25. Oct. 1995. Andris + +// ---- STANDARD HEADERS ---- + +#include +#include +#include +#include + +// ---- INCLUDE FILES ---- + +#include "Vector.h" +#include "Sqmat.h" +#include "Array.h" + +// ==== CLASSES ==== + +/* Lu_: a class for doing LU-decomposition. Can be asked to + * calculate determinants and solve linear equation systems. + */ +class Lu_ +{ + // data + private: + + Sqmat_ Lu; // holds the decomposition + Array_ Perm; // permutation vector + int Psign; // permutation sign + + // methods + public: + + // constructors + /* Inits to an N x N problem (default 2). */ + Lu_(unsigned int N=2): Lu(N), Perm(N), Psign(0) {} + + // decomposition + /* decomp(): performs an LU-decomposition on the square matrix A. + * Return value: the permutation sign (0 if A was singular). + */ + int decomp(const Sqmat_& A); + + /* det: calculates the determinant from the decomposition results + * stored inside. It is assumed that decomp() has been called beforehand. + */ + double det() const; + + // solution + /* solve(): solves the linear equation A*x=B and returns x. + * The calling object is supposed to have been primed with + * decomp(A) before this call. B is the "right-hand-side" + * vector which is preserved. Checks for dim mismatches and returns + * B untouched if not everything is OK. + */ + Vector_ solve(const Vector_& B) const; + + /* lineq(): solves the nxn linear equation A*X=B and returns X. + * Iterative improvement is done a la Num. Recipes (max. Maxit times, + * default 0). + * This routine should be used if only one right-hand side vector B + * is present. For several right-hand sides, use the decomposition + * and solver routines separately. + * Return value: 1 means OK, 0 means A was singular, + * -1 means a dim mismatch occurred. + */ + int lineq(const Sqmat_& A, const Vector_& B, Vector_& X, unsigned int Maxit=0); + +}; +// END OF CLASS Lu_ + +// ==== END OF HEADER Lu.h ==== + +#endif diff --git a/lib/cc/incl/Matbase.h b/lib/cc/incl/Matbase.h new file mode 100644 index 0000000..1a57696 --- /dev/null +++ b/lib/cc/incl/Matbase.h @@ -0,0 +1,202 @@ +#ifndef MATBASE_CLASS +#define MATBASE_CLASS + +// ==== HEADER Matbase.h ==== + +/* Abstract base class for rectangular and triangular matrices. */ + +/* MATRIX LIBRARY CLASS FAMILY TREE + * + * [ Matbase_ ] + * | + * +------+-------+ + * | | + * V V + * [ Rectbase_ ] [ Sqbase_ ] + * | | + * +-----+-----+ +-----+-----+ + * | | | | + * V V V V + * Matrix_ Sqmat_ Trimat_ + */ + +// SGI C++ 4.0, IRIX. 5.3, 4. May 1995. Andris + +// ---- STANDARD HEADERS ---- + +#include +#include +#include +#include +#include + +// ---- INCLUDE FILES ---- + +#include "Vector.h" + +// ==== CLASSES ==== + +/* Class Matbase_ : an abstract matrix class that serves as a base class + * for all other specialised matrix classes. + * The elements of the matrix are stored in a one-dimensional double + * array in row major order. A second array of double pointers, + * Rows, holds pointers to each row. The element array itself is pointed to + * by Rows[0]. This arrangement can be used as the traditional + * array-of-pointers approach but here only two arrays have to be + * allocated and copy operations can be performed on contiguous arrays. + * Row numbers are stored in R (the column sizes are unknown at this + * stage). Eno keeps track of the number of elements. + */ +class Matbase_ +{ + // data + protected: + + double **Rows; // array of pointers to rows; Rows[0] points to the elements + unsigned int R, Eno; // row numbers, total no. of elements + + // public methods interface + public: + + // constructors + /* Init a matrix to have Row>=1 rows (default 3). The element array + * is not allocated and Rows[] is not initialised. + * The element number is set to 0. + */ + Matbase_(unsigned int Row=3); + + /* Copy constructor: allocates the Rows array to the size of Mb, + * does not initialise it, sets R to Mb.rno(), sets Eno=0. + */ + Matbase_(const Matbase_& Mb); + + // destructor + virtual ~Matbase_() { delete [] Rows; } + + // size + unsigned int rno() const { return(R); } + virtual unsigned int cno() const =0; + + // access (unsafe) + const double *operator[](unsigned int Idx) const { return(Rows[Idx]); } + double *operator[](unsigned int Idx) { return(Rows[Idx]); } + + /* Safe access: the overlaid function call operator is used for this. + * Error messages are printed if one of the two indices is out of + * range and the index in question will be replaced by 0. + * Note that there are two versions of this function; one for + * const access, the other for modifiable lvalues. Both are pure + * virtual at this stage + */ + virtual double operator()(unsigned int i, unsigned int j) const =0; + virtual double& operator()(unsigned int i, unsigned int j) =0; + + /* row(Idx): returns the Idx-th row as a Vector_ object safely. + * row(Vec,Idx): sets the elements in the Idx-th row to the elements + * of the vector Vec, provided Idx is legal and Vec has the right + * number of elements. + */ + virtual Vector_ row(unsigned int Idx) const =0; + virtual void row(const Vector_& Vec, unsigned int Idx) =0; + + /* col(Idx): returns the Idx-th column as a Vector_ object safely. + * col(Vec,Idx): sets the elements in the Idx-th column to the elements + * of the vector Vec, provided Idx is legal and Vec has the right + * number of elements. + */ + virtual Vector_ col(unsigned int Idx) const =0; + virtual void col(const Vector_& Vec, unsigned int Idx) =0; + + /* set_values(): sets all elements to a specified value Val. + * Default is 0.0. + */ + void set_values(double Val=0.0); + + /* get_array(): converts the calling object to a traditional + * double ** array and sets Row and Col to its corresponding + * dimensions. Returns a NULL ptr if allocation failed. + */ + virtual double** get_array(unsigned int& Row, unsigned int&Col) const =0; + + // FORTRAN indexing + + /* ftn_idx(): moves the data pointers so that 1..N + * indexing could be used instead of 0..N-1. Note that + * this operation is inherently unsafe (the "safe indexing" + * method knows nothing about it!) and should be used only + * when writing wrappers around Numerical Recipes code etc. + * and only if the unsafe [][] indexing is used. + * Make sure the object abused by this method is not destroyed + * and indexing is reset via c_idx() as soon as possible. + */ + void ftn_idx(); + + /* c_idx(): resets the ptrs to their normal C-style position + * after a call to ftn_idx(). + */ + void c_idx(); + + // arithmetics + /* Matrix addition and subtraction (+,+=,-,-=) check for dimension + * mismatches. If a mismatch is found then the left + * operand is returned unchanged. Division by scalar ( /, /=) + * is always checked for division by zero and the unchanged matrix + * is returned if a div by 0 is attempted. These routines operate + * on all elements of the element array, regardless of the row/col + * layout and therefore are defined in the base class here and + * will simply be inherited. + */ + Matbase_& operator+=(const Matbase_& Mat); + Matbase_& operator-=(const Matbase_& Mat); + Matbase_& operator*=(double Factor); + Matbase_& operator/=(double Div); + + // linear algebra + /* Matrix*vector multiplication: the vector Vec is returned if a + * dimension mismatch was detected. + */ + virtual Vector_ operator*(const Vector_& Vec) const =0; + + // Printing + /* list_matrix: lists calling object to stdout with entries occupying Width chars, + * in scientific format, Prec digits precision. If a row takes up + * more than Linewidth chars, then the matrix is cut up nicely. + * If Width +#include +#include + +// ---- INCLUDE FILES ---- + +#include "Matbase.h" +#include "Rectbase.h" + +// ==== CLASSES ==== + +/* Class Matrix_ : a general RxC rectangular matrix class. + * The elements of the matrix are stored in a one-dimensional double + * array in row major order. A second array of double pointers, + * Rows, holds pointers to each row. The element array itself is pointed to + * by Rows[0]. Derived from Rectbase_. + */ +class Matrix_ : public Rectbase_ +{ + // data + protected: + unsigned int C; // number of columns + + // methods interface + public: + + // constructors + /* Allocates a Row x Col matrix. Without any arguments, a 3x3 + * matrix will be created. With one argument, the Col parameter + * defaults to 0, which is interpreted as an instruction to create + * a square Row x Row matrix. Square matrices may be created + * by Matrix_(N, N) or Matrix_(N) or Matrix_(N, 0). + * All elements will be initialised to 0.0. + */ + Matrix_(unsigned int Row=3, unsigned int Col=0): Matbase_(Row), Rectbase_(Row, Col) { C=Eno/R; } + + /* Allocate a Row*Col matrix as above and initialise it with + * a traditional double ** style array Arr. It is the caller's + * responsibility to make sure that Arr has the correct dimensions. + * If Arr==NULL then the matrix elements will be set to 0.0 + */ + Matrix_(const double **Arr, unsigned int Row, unsigned int Col): + Matbase_(Row), Rectbase_(Arr, Row, Col), C(Col) {} + + /* Init with a base ref. (base->derived conversion ctor) */ + Matrix_(const Rectbase_& Rbase): Matbase_(Rbase.rno()), Rectbase_(Rbase) { C=Eno/R; } + + /* the copy constructor */ + Matrix_(const Matrix_& Mat): Matbase_(Mat), Rectbase_(Mat), C(Mat.cno()) {} + + /* Assignment */ + Matrix_& operator=(const Matrix_& Mat); + + // size + /* set_size(): resets the size to Rno x Cno. The upper left + * corner overlap is preserved, if the new row/col number is + * less than the original then the extra rows/cols will be lost. + * If new rows/cols are added then they will be initialised to 0.0. + * Zero row/col numbers not permitted. + * If the new size is 0 or the same as the old then no action is taken. + */ + void set_size(unsigned int Rno, unsigned int Cno); + unsigned int cno() const { return(C); } + + // simple linear algebra + /* Matrix multiplication: the left operand is returned if + * a dimension mismatch is detected. There is no in-place (*=) version. + */ + Matrix_ operator*(const Rectbase_& Mat) const; + + /* Matrix*vector multiplication: the vector is returned if a + * dimension mismatch was detected. + */ + Vector_ operator*(const Vector_& Vec) const; + + // arithmetics + /* Matrix addition and subtraction (+,-,+=,-=) check for dimension + * mismatches. If a mismatch is found then the left + * operand is returned unchanged. Division by scalar ( / ) + * is always checked for division by zero and the unchanged matrix + * is returned if a div by 0 is attempted. *=, /= are inherited + * from Matbase_ (could not be declared there because of the + * return type). + */ + Matrix_ operator+(const Rectbase_& Mat) const; + Matrix_ operator-(const Rectbase_& Mat) const; + Matrix_ operator*(double Factor) const; + friend Matrix_ operator*(double Factor, const Rectbase_& Mat); + Matrix_ operator/(double Div) const; + + // transposition + /* get_transpose(): returns the transpose of the calling object. */ + Matrix_ get_transpose() const; + +}; +// END OF CLASS Matrix_ + +// ==== END OF HEADER Matrix.h ==== + +#endif diff --git a/lib/cc/incl/Pmest.h b/lib/cc/incl/Pmest.h new file mode 100644 index 0000000..abfa915 --- /dev/null +++ b/lib/cc/incl/Pmest.h @@ -0,0 +1,139 @@ +#ifndef __PMEST_HEADER__ +#define __PMEST_HEADER__ + +// ==== HEADER Pmest.h ==== + +/* Parameter estimation routines: all based on the book: + * Valko, P., Vajda, S.: M\H{u}szaki-tudom\'{a}nyos feladatok + * megold\'{a}sa szem\'{e}lyi sz\'{a}m\'{\i}t\'{o}g\'{e}ppel, + * Bp, 1986. + */ + +// SGI C++ 4.0, IRIX 5.3, 11. May 1995. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include +#include +#include + +// ---- INCLUDE FILES ---- + +#include "Vector.h" +#include "Matrix.h" +#include "Trimat.h" +#include "Vmutils.h" + +// ---- DEFINITIONS ---- + +#define NLIN_STEPLIM (1e-5) +#define NLIN_SILENT 0 +#define NLIN_TALK 1 +#define NLIN_CHATTER 2 + +// ---- TYPEDEFS ---- + +/* Userfunct_: the type of the function that describes + * the nonlinear vector:vector mapping for nonlin_reg(). + */ +typedef int (*Userfunct_)(const Vector_&, const Vector_&, Vector_&); + +/* Userfunct11_ : the type of the function that describes + * the 1:1 (scalar:scalar) nonlinear mapping for nonlin11_reg(). + */ +typedef double (*Userfunct11_)(double, const Vector_&); + +// ---- PROTOTYPES ---- + +/* lin_reg(): multiple weighed linear regression with "ridge" regularisation. + * Input parameters:- + * Xmeas: observation matrix of independent variables (Nm x Nx) + * Ymeas: vector of dependent variable data (Nm) + * W: weight vector (Nm) + * Output parameters:- + * P: vector of estimated parameters (Nx) + * Sdev: standard deviation of parameters (Nx) + * Correl: parameter correlation matrix (Nx x Nx) + * Tstat95: "Student"'s t-statistics at 95 % level + * Return value: the residual deviation (Q). + * Nm and Nx are the number of observations and number of variables, + * respectively. The input dimensions are checked and if a mismatch + * is detected then the routine returns with -1.0 and a warning is printed. + * The output variables' dimensions are adjusted if necessary. + */ +float lin_reg(const Matrix_& Xmeas, const Vector_& Ymeas, const Vector_& W, + Vector_& P, Vector_& Sdev, Trimat_& Correl, float& Tstat95); + +/* nonlin_reg(): estimates the parameters in the function Y=Funct(X,P). + * X is an Nx-long vector, P is the Np-long parameter vector, Y is + * an Ny-long vector of dependent variables and Nm observations are + * supplied. + * Input parameters:- + * Funct: the nonlinear vector-vector mapping between X and Y + * Xmeas: Nm x Nx matrix of independent variables + * Ymeas: Nm x Ny matrix of dependent variables + * W: weight matrix (Nm x Ny) + * Steplim: iteration stepsize (default=NLIN_STEPLIM) + * Verbose: <=0: no output (default), 1: '....Done', >=2: detailed (itno, Q) + * Output parameters:- + * Sdev: SD vector of parameters (Np) + * Correl: correlation matrix (Np x Np) + * Tcrit95: "Student"'s t-value at 95 % confidence level + * Input/output parameters:- + * P: initial parameter guess on input, estimated parameters on output + * Itmax: max. allowed no. of iterations on input, actual on output + * Return value:- the residual deviation or -1.0 on error. + * NOTE: Funct should have the following prototype (typedef Userfunct_):- + * int Funct(const Vector_& X, const Vector_& P, Vector_& Y) + * and should return 0 on error, non-zero otherwise. Before the iteration + * starts, a call is made to Funct() to check possible dim mismatches + * and if 0 is returned then nonlin_reg() returns with an error. + * It is the caller's responsibility to ensure that Funct() carries + * out error checking properly (dim + math errors). + * During iteration, the original signs of the initial parameter guesses + * are kept. A parameter set to 0.0 will remain zero. Try sign changes + * if the fit is bad. + */ +float nonlin_reg(const Matrix_& Xmeas, const Matrix_& Ymeas, const Matrix_& W, + Userfunct_ Funct, + Vector_& P, Vector_& Sdev, Trimat_& Correl, float& Tcrit95, + int& Itmax, float Steplim=NLIN_STEPLIM, int Verbose=NLIN_SILENT); + +/* nonlin11_reg(): estimates the parameters in the function Y=Funct(X,P) + * where X and Y are scalars. P is the Np-long parameter vector. + * Otherwise the algorithm is the same as in nonlin_reg() above. + * Input parameters:- + * Funct: the nonlinear scalar-scalar mapping between X and Y + * Xmeas: Nm vector of independent variables + * Ymeas: Nm vector of dependent variables + * W: weight vector + * Steplim: iteration stepsize (default=NLIN_STEPLIM) + * Verbose: <=0: no output (default), 1: '....Done', >=2: detailed (itno, Q) + * Output parameters:- + * Sdev: SD vector of parameters (Np) + * Correl: correlation matrix (Np x Np) + * Tcrit95: "Student"'s t-value at 95 % confidence level + * Input/output parameters:- + * P: initial parameter guess on input, estimated parameters on output + * Itmax: max. allowed no. of iterations on input, actual on output + * Return value:- the residual deviation or -1.0 on error. + * NOTE: Funct should have the following prototype (typedef Userfunct11_) :- + * double Funct(double X, const Vector_& P) + * It is the caller's responsibility to ensure that Funct() carries + * out error checking properly (dim + math errors). + * During iteration, the original signs of the initial parameter guesses + * are kept. A parameter set to 0.0 will remain zero. Try sign changes + * if the fit is bad. + */ +float nonlin11_reg(const Vector_& Xmeas, const Vector_& Ymeas, const Vector_& W, + Userfunct11_ Funct, + Vector_& P, Vector_& Sdev, Trimat_& Correl, float& Tcrit95, + int& Itmax, float Steplim, int Verbose); + +// ==== END OF HEADER Pmest.h ==== + +#endif + + + diff --git a/lib/cc/incl/Points.h b/lib/cc/incl/Points.h new file mode 100644 index 0000000..46a3bfb --- /dev/null +++ b/lib/cc/incl/Points.h @@ -0,0 +1,146 @@ +#ifndef POINTS_CLASS +#define POINTS_CLASS + +// ==== HEADER Points.h ==== + +/* A maskable array of Vector_ objects for storing and + * manipulating point coordinates. Essentially, an improved + * version of the Pset_ class. + */ + +// SGI C++, 30. Apr. 1998. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include +#include +#include +#include + +// ---- INCLUDE FILES ---- + +#include "Maskarr.h" // ancestor: maskable array template class +#include "Vector.h" // the Vector_ class +#include "Sqmat.h" // square matrix class +#include "Trimat.h" // triangular matrix class + +// ==== CLASSES ==== + +/* Class Points_ : derived from the maskable array template class + * Maskarr_, this class stores Vector_ objects (double-precision + * vectors) in a maskable array. Items can be activated and + * deactivated, and access (via indexing []) is permitted to + * active items only. The vectors may have different dimensions + * but the active vectors' dimensions may be set to a common value + * which is necessary for some of the "overall" operations. + */ +class Points_: public Maskarr_ +{ + // methods + public: + + // constructors and dtor + /* Initialises the array to hold N (default=1) vectors, each + * D-dimensional (default=3). All vectors will be active. + */ + Points_(unsigned int N=1, unsigned int D=3); + + /* Initialises the array with the bitmap in Initmask. It will have + * Initmask.len() items having D (default=3) dimension each. + * Activation pattern is as in Initmask, of course. + */ + Points_(const Bits_& Initmask, unsigned int D=3); + + virtual ~Points_() {} + + // dimension + /* dim_range(Low,High): returns the smallest and largest dimension + * of the active vectors. Both are set to 0 if there are no active + * items. + */ + void dim_range(unsigned int& Low, unsigned int& High) const; + + /* dim_low(), dim_high(): return the lowest and highest dimension + * of the set of active points or 0 if ther were no active points. + * (If both are needed, the dim_range() method above would be slightly + * more efficient.) + */ + unsigned int dim_low() const; + unsigned int dim_high() const; + + /* dim(): returns the dimension of the active vectors if they have the + * same dimension or 0 if the dimensions are different or there are no + * active vectors. + * dim(D): sets the dimension of all active vectors to D. Returns old dimension + * or 0 if they were different or there are no active vectors. + */ + unsigned int dim() const; + unsigned int dim(unsigned int D); + + /* len_dim(): adjusts the overall length to L, switches on all vectors + * and sets their dimensions to D (default 3). + */ + void len_dim(unsigned int L, unsigned int D=3) { len(L); mask(true); dim(D); } + + // arithmetics + /* Points*=Scalar: multiplies all active vectors by Scalar in place. + * Returns calling object. + */ + Points_& operator*=(double Scalar); + + /* Points*=Matrix: premultiplies all active vectors by a square matrix + * Matrix in place. Warnings are printed in case of dimension mismatches + * and only those vectors which have matching dimensions will be modified. + * Returns calling object. + */ + Points_& operator*=(const Sqmat_& Matrix); + + /* Points+=Vector, Points-=Vector: adds/subtracts Vector to all active + * vectors. If the dimensions don't match, then nothing happens (some + * warnings are printed). Returns calling object. + */ + Points_& operator+=(const Vector_& Vector); + Points_& operator-=(const Vector_& Vector); + + /* centroid(W): calculates the weighted centroid of the active points, + * W should be at least as long as the number of currently active points. + * centroid(): If the argument is omitted, then uniform weighting is assumed. * * Since the dimensions need not be equal, first the maximal dimension is obtained + * and then all active vectors in the set are temporarily "promoted" + * to this dimension by padding them with 0-s at the end (similar to the + * Vector_::dim(D) method). If there were no active points then a + * warning is printed and a 3D null-vector returned. Otherwise the + * centroid is returned (with the maximal dimension). + */ + Vector_ centroid(const Vector_& W) const; + Vector_ centroid() const; + + // distance matrices + + /* dist_mat(Dist), dist_mat2(Dist2): construct the interpoint distance + * and squared distance matrices using the active points only. The matrices + * will not be touched if there are no active points or if the active + * point dimensions don't match. The matrix size will be adjusted + * silently if necessary. Return calling object. + */ + const Points_& dist_mat(Trimat_& Dist) const; + const Points_& dist_mat2(Trimat_& Dist2) const; + + // output + /* pdb_list(): produces a very crude PDB listing from Points provided it is + * 3-dimensional. Amino acid code is 'G', one CA-atom per vector. + * Return value: 0 if the dimension is outside the range [1..3], + * the actual dimension otherwise. + */ + int pdb_list(ostream& Out) const; + +}; +// END OF CLASS Points_ + +// ---- PROTOTYPES ---- + +ostream& operator<<(ostream& Out, const Points_& Points); + +// ==== END OF HEADER Points.h ==== + +#endif /* POINTS_CLASS */ diff --git a/lib/cc/incl/Pset.h b/lib/cc/incl/Pset.h new file mode 100644 index 0000000..78458db --- /dev/null +++ b/lib/cc/incl/Pset.h @@ -0,0 +1,171 @@ +#ifndef __PSET_CLASS__ +#define __PSET_CLASS__ + +// ==== HEADER Pset.h ==== + +/* The Point Set Class. A point set is an array of vectors + * representing points in an Euclidean space. The points can be + * switched on/off. Useful for storing atomic coordinates. + */ + +// SGI C++ 3.2.1, IRIX 5.2, 21. Apr. 1995. Andris + +// ---- STANDARD HEADERS ---- + +#include +#include +#include + +// ---- INCLUDE FILES ---- + +#include "Array.h" +#include "Vector.h" +#include "Bits.h" +#include "Matrix.h" +#include "Sqmat.h" +#include "Trimat.h" + +// ==== CLASSES ==== + +/* Class Pset_: implements a point set class as an array of + * vectors representing points in a Dim-dimensional space. + * Each point can be "active" or "passive" i.e. switched + * on or off. The activity state is stored in a bit vector + * which has the same length as the point array. The vectors + * can be scaled (multiplied by a scalar), translated (a vector + * can be added or subtracted) and pre-multiplied by a square matrix. + */ +class Pset_ +{ + // data + Array_ Points; // the point vectors + unsigned int Dim; // all must have the same dimension + Bits_ Active; // active/passive flags + + public: + // methods + + // constructors + /* Init to contain N points (default 1) of D dimensions (default 3). + * All points will be active. + */ + Pset_(unsigned int N=1, unsigned int D=3); + + /* Init by an NxD matrix Mat to hold N points of D dimensions. + * The point coordinates are assumed to be held in the rows + * of the matrix. All points will be active. + */ + Pset_(const Matrix_& Mat); + + // matrix conversion + /* Matrix_(): converts a point set to an NxD rectangular matrix + * with all points as rows. + */ + operator Matrix_() const; + + // point access + + /* [] unsafe access: the index Idx is not tested. */ + const Vector_& operator[](unsigned int Idx) const { return(Points[Idx]); } + Vector_& operator[](unsigned int Idx) { return(Points[Idx]); } + + /* () Safe access: the index Idx is tested. */ + const Vector_& operator()(unsigned int Idx) const { return(Points(Idx)); } + Vector_& operator()(unsigned int Idx) { return(Points(Idx)); } + + // size access + + /* len(): returns the number of points in the object. + * len(Size): sets the number of points to Size. If Size==0 + * then no action is taken. The new points are switched OFF + * by default. Returns old size + */ + unsigned int len() const { return(Points.len()); } + unsigned int len(unsigned int Size); + + /* dim(): returns the current dimensionality of the points. + * dim(D): sets the dimension of ALL (not only of the active) + * points to D. Returns old dimension. D==0 is silently ignored. + */ + unsigned int dim() const { return(Dim); } + unsigned int dim(unsigned int D); + + // activation + + /* active(): returns a bit-vector with the activation flags. + * active(Flags): sets the activation flags to Flags if the + * dimensions match and returns the old flags. + * active(Val): set all activation values to Val and return old flags. + */ + Bits_ active() const { return(Active); } + Bits_ active(const Bits_& Flags) + { + Bits_ Oldflags=Active; + if (Flags.len()==Active.len()) Active=Flags; + return(Oldflags); + } + Bits_ active(bool Val) + { + Bits_ Oldflags=Active; + Active.set_values(Val); + return(Oldflags); + } + + /* active_no(): returns the number of active points in the set. */ + unsigned int active_no() const { return(Active.on_no()); } + + /* flag(Idx): returns the activation status of the Idx-th vector + * or false if Idx is out of range. + * flag(Idx, Val): set the activation status of the Idx-th vector + * to Val (true/false). Do nothing for invalid Idx. + */ + bool flag(unsigned int Idx) const { return(Active.get_bit(Idx)); } + bool flag(unsigned int Idx, bool Val) + { return(Active.set_bit(Idx, Val)); } + + // arithmetics + + /* Pset*=S: scaling by the scalar S. Returns the calling object */ + Pset_& operator*=(double S); + + /* centroid(): calculates and returns the centroid of the active + * points. All points have equal weights. If no active points were + * found then the null-vector will be returned. + */ + Vector_ centroid() const; + + /* Pset+=Vec: translates the active points in Pset by a vector Vec. + * Nothing happens if Vec has wrong dimension. + * Returns the calling object. + */ + Pset_& operator+=(const Vector_& Vec); + + /* Pset-=Vec: translates the active points in Pset by a vector -Vec. + * (Centers the point set on Vec in other words.) + * Returns the calling object. + */ + Pset_& operator-=(const Vector_& Vec); + + /* Pset*=Sqmat: premultiplies the active points in Pset by a + * square matrix. (It would be cumbersome to define a Sqmat*Pset + * function instead.) Nothing happens if the dimensions don't match. + * Returns calling object. + */ + Pset_& operator*=(const Sqmat_& Sqmat); + + /* dist_mat(),dist_mat2(): calculate ALL the interpoint distances and the + * squared interpoint distances, respectively. Dmat is a Trimat_ + * the size of which will be adjusted silently to the number of + * ALL points. + */ + void dist_mat(Trimat_& Dmat) const; + void dist_mat2(Trimat_& Dmat) const; + + friend ostream& operator<<(ostream& Out, const Pset_& Pset); +}; +// END OF CLASS Pset_ + +// ==== END OF HEADER Pset.h ==== + +#endif + diff --git a/lib/cc/incl/Ql.h b/lib/cc/incl/Ql.h new file mode 100644 index 0000000..de5f2e7 --- /dev/null +++ b/lib/cc/incl/Ql.h @@ -0,0 +1,56 @@ +#ifndef QL_HEADER +#define QL_HEADER + +// ==== HEADER Ql.h ==== + +/* Diagonalisation of symmetric real matrices (Trimat_ class). + * Based on Numerical Recipes, with some modifications and + * C++ -isation. Implements the QL-algorithm with implicit shifts. + * Also contains a simple iteration by "popular demand". + */ + +// SGI C++ 4.0, IRIX 5.3, 2. May 1996. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include +#include +#include + +// ---- INCLUDE FILES ---- + +#include "Trimat.h" +#include "Sqmat.h" +#include "Vector.h" + +/* ---- PROTOTYPES ---- */ + +/* eigen_ql(): a 'wrap' function driving the Housholder and QL routines. + * Takes a lower triangular matrix Mat as input (preserved) and + * produces the eigenvalues in Eval and the eigenvectors in Evec. + * The sizes of these are adjusted silently if necessary. + * Eigenvalues are sorted in decreasing order and the corresponding + * eigenvectors are the _col_vectors_ of Evec. + * Index shifts are performed to hack around the Fortranese + * [1..N] convention of Numerical Recipes. + * Return value: 0 if OK, 1 if iteration limit was exceeded in tqli(). + */ +int eigen_ql(const Trimat_& Mat, Vector_& Eval, Sqmat_& Evec); + +/* eigen_positer(): tries to find the Poseno largest positive eigenvalues + * and corresponding eigenvectors of Mat. Mat, Eval, Evec are + * as in eigen_ql(). Poseno<=size of Mat. The actual number + * of positive eigenvalues are returned. + */ +int eigen_positer(int Poseno, const Trimat_& Mat, Vector_& Eval, Sqmat_& Evec); + +/* eigen_poscheb(): generates the first Poseno eigenvalues and + * eigenvectors. Syntax is the same as that of eigen_positer() + * but the algorithm used is the Chebyshev iteration (more robust). + */ +int eigen_poscheb(int Poseno, const Trimat_& Mat, Vector_& Eval, Sqmat_& Evec); + +// ==== END OF HEADER Ql.h ==== + +#endif /* QL_HEADER */ diff --git a/lib/cc/incl/Rectbase.h b/lib/cc/incl/Rectbase.h new file mode 100644 index 0000000..23a1ab1 --- /dev/null +++ b/lib/cc/incl/Rectbase.h @@ -0,0 +1,108 @@ +#ifndef __RECTBASE_CLASS__ +#define __RECTBASE_CLASS__ + +// ==== HEADER Rectbase.h ==== + +/* Abstract base class for rectangular matrices (square and non-square). */ + +// SGI C++ 4.0, IRIX 5.3, 4. May 1995. Andris + +// ---- STANDARD HEADERS ---- + +#include +#include +#include + +// ---- INCLUDE FILES ---- + +#include "Matbase.h" +#include "Vector.h" + +// ==== CLASSES ==== + +/* Class Rectbase_ : ABC for a general RxC rectangular matrix class. + * The elements of the matrix are stored in a one-dimensional double + * array in row major order. A second array of double pointers, + * Rows, holds pointers to each row. The element array itself is pointed to + * by Rows[0]. Derived from Matbase_. + */ +class Rectbase_ : public virtual Matbase_ +{ + // methods interface + public: + + // constructors + /* Allocates a Row x Col matrix. Without any arguments, a 3x3 + * matrix will be created. With one argument, the Col parameter + * defaults to 0, which is interpreted as an instruction to create + * a square Row x Row matrix. Square matrices may be created + * by Rectbase_(N, N) or Rectbase_(N) or Rectbase_(N, 0). + * All elements will be initialised to 0.0. + */ + Rectbase_(unsigned int Row=3, unsigned int Col=0); + + /* Allocate a Row*Col matrix as above and initialise it with + * a traditional double ** style array Arr. It is the caller's + * responsibility to make sure that Arr has the correct dimensions. + * If Arr==NULL then the matrix elements will be set to 0.0 + */ + Rectbase_(const double **Arr, unsigned int Row, unsigned int Col); + + /* the copy constructor */ + Rectbase_(const Rectbase_& Mat); + + // destructor + virtual ~Rectbase_() { delete [] Rows[0]; } + + // size + /* max_size(): returns the larger of the row or col. number. */ + unsigned int max_size() const { return((rno()>cno())? rno(): cno()); } + + // access + /* Safe access: the overlaid function call operator is used for this. + * Error messages are printed if one of the two indices is out of + * range and the index in question will be replaced by 0. + * Note that there are two versions of this function; one for + * const access, the other for modifiable lvalues. + */ + double operator()(unsigned int i, unsigned int j) const; + double& operator()(unsigned int i, unsigned int j); + + /* row(Idx): returns the Idx-th row as a Vector_ object safely. + * row(Vec,Idx): sets the elements in the Idx-th row to the elements + * of the vector Vec, provided Idx is legal and Vec has the right + * number of elements. + */ + Vector_ row(unsigned int Idx) const; + void row(const Vector_& Vec, unsigned int Idx); + + /* col(Idx): returns the Idx-th column as a Vector_ object safely. + * col(Vec,Idx): sets the elements in the Idx-th column to the elements + * of the vector Vec, provided Idx is legal and Vec has the right + * number of elements. + */ + Vector_ col(unsigned int Idx) const; + void col(const Vector_& Vec, unsigned int Idx); + + /* get_array(): converts the calling object to a traditional + * double ** array and sets Row and Col to its corresponding + * dimensions. Returns a NULL ptr if allocation failed. + */ + double** get_array(unsigned int& Row, unsigned int&Col) const; + + // end of public interface + protected: + + // printing + void print_rows(ostream& Out, unsigned int Sizew, unsigned int Jbeg, + unsigned int Items, unsigned int Width, unsigned int Prec) const; + + // memory management + void init_rowptrs(unsigned int Colno); + +}; +// END OF CLASS Rectbase_ + +// ==== END OF HEADER Rectbase.h ==== + +#endif diff --git a/lib/cc/incl/Rsmdiag.h b/lib/cc/incl/Rsmdiag.h new file mode 100644 index 0000000..939a83e --- /dev/null +++ b/lib/cc/incl/Rsmdiag.h @@ -0,0 +1,111 @@ +#ifndef RSMDIAG_CLASS +#define RSMDIAG_CLASS + +// ==== PROJECT DRAGON: HEADER Rsmdiag.h ==== + +/* Real symmetric matrix diagonalisation class. + * Use if only selected eigenvectors are wanted. + * Based on NETLIB routines. + */ + +// SGI C++ 7.1, IRIX 6.2, 21. June 1998. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include +#include + +// ---- MODULES ---- + +#include "Sqmat.h" +#include "Trimat.h" +#include "Vector.h" +#include "Safety.h" + +/* NOTE: The SGI N32/N64 compilers recognise the built-in bool type + * and define the macro _BOOL. This workaround is provided for + * the O32 compiler. + */ +#if !(defined(_BOOL) || defined(HAS_SEEN_BOOL)) +#define HAS_SEEN_BOOL +typedef unsigned char bool; +static const bool false=0; +static const bool true=1; +#endif /* _BOOL */ + +// ==== CLASSES ==== + +/* Rsmdiag_: a class implementing symmetric matrix diagonalisation. + * All eigenvalues are generated in decreasing order, and then the + * user can request the first m eigenvectors. Note that this is + * ineffective unless m0 if the k:th eigenvalue failed to + * converge. + */ + int get_evals(const Trimat_& Mat, Vector_& Evals); + + /* get_evecs(): obtain the first Evno eigenvectors. It is assumed but + * not checked that a corresponding get_evals() has been executed + * beforehand. The eigenvectors will be placed into the first Evno + * columns of the Evecs matrix whose size will be set silently. + * Return value: 0 if OK, r>0 if the r:th eigenvector failed + * to converge. + */ + int get_evecs(int Evno, Sqmat_& Evecs); + + // hidden methods + protected: + + // diag from NETLIB + void tred_1(); + int imt_qlv(); + int inv_iter(int m, Sqmat_& z) const; + void tr_bak1(int m, Sqmat_& z) const; + + // auxiliaries + static double epsilon(double x); + void c_idx(); + void ftn_idx(); + unsigned int set_size(unsigned int Size); + + // forbidden methods + private: + Rsmdiag_(const Rsmdiag_&); // no copy ctor + Rsmdiag_& operator=(const Rsmdiag_&); // no assignment + +}; +// END OF CLASS Rsmdiag_ + +// ==== END OF HEADER Rsmdiag.h ==== + +#endif /* RSMDIAG_CLASS */ diff --git a/lib/cc/incl/Safety.h b/lib/cc/incl/Safety.h new file mode 100644 index 0000000..02cae4f --- /dev/null +++ b/lib/cc/incl/Safety.h @@ -0,0 +1,106 @@ +#ifndef SAFETY_CLASS +#define SAFETY_CLASS + +// ==== Safety.h ==== + +// This tiny class implements a few safety precautions +// which can be switched on and off: safe division that +// traps div-by-zero errors, provides a "small number" +// with which it is unsafe to divide a double, and an improved +// implementation of hypot() for those architectures which +// do not provide it. + +// 24-Aug-1998. Andris Aszodi + +// SUN standard headers +#if defined(__sun) +#include +#include +#endif + +/* NOTE: The SGI N32/N64 compilers recognise the built-in bool type + * and define the macro _BOOL. This workaround is provided for + * the SGI O32 compiler. + */ +#if !(defined(_BOOL) || defined(HAS_SEEN_BOOL)) +#define HAS_SEEN_BOOL +typedef unsigned char bool; +static const bool false=0; +static const bool true=1; +#endif /* _BOOL */ + +// ==== CLASSES ==== + +class Safety_ +{ + static const double SMALL; // smallest non-0 for which 1.0/SMALL is OK + bool Usesafediv, Usehypot; + + // methods + public: + + // ctor: set Safediv to true if you want to use the safe-division + // feature (default). + // The Usehypot constant will be initialised in an OS-dependent manner. + Safety_(bool Safediv=true) + : Usesafediv(Safediv), + // !!! ---- begin OS-dependent part ---- !!! + + // SGI: hypot() is not strict ANSI, available only + // if the X/Open compatibility mode is selected + #if defined(__sgi) + #if defined(_XOPEN4) && defined(_NO_ANSIMODE) + Usehypot(true) + #else + Usehypot(false) + #endif + #endif + + // Linux/GCC: hypot() available + #if defined(__linux__) + Usehypot(true) + #endif + + // SUN + #if defined(__sun) + Usehypot(true) + #endif + + // add any other OS here + #if defined(__any_other_OS__) + Usehypot(...) + #endif + + // !!! ---- end of OS-dependent part ---- !!! + {} + + // return the smallest number which can still divide 1.0 w/o problems + double small() const { return SMALL; } + + // safe_div(): returns the Usesafediv variable. + // safe_div(S): sets Usesafediv, returns old value. + bool safe_div() const { return Usesafediv; } + bool safe_div(bool S) { bool Olds=Usesafediv; Usesafediv=S; return Olds; } + + // no_hypot(): returns true if the Num. Recipes pythag() was to be used + // no_hypot(H): use Num. Recipes pythag() if H is true, returns old val + bool no_hypot() const { return !Usehypot; } + bool no_hypot(bool H) { bool Oldh=!Usehypot; Usehypot=!H; return Oldh; } + + // safe_div(): returns Num/Denom if Denom is reliably non-0. + // If it is closer to 0 then the internal parameter SMALL, then + // it will be replaced by 100*SMALL and the division is performed + // with a warning. The line number is printed when greater than 0 (default). + double safe_div(double Num, double Denom, int Lineno=0) const; + + // pythag(): returns the value sqrt(a^2+b^2) without over- + // or underflows. On some machines the math library contains + // the function hypot(x, y) which does the same job and will be used + // whenever possible. + double pythag(double a, double b) const; +}; +// END OF CLASS Safety_ + +// ==== END OF HEADER Safety.h ==== + +#endif /* SAFETY_CLASS */ diff --git a/lib/cc/incl/Siva.h b/lib/cc/incl/Siva.h new file mode 100644 index 0000000..d523e6f --- /dev/null +++ b/lib/cc/incl/Siva.h @@ -0,0 +1,111 @@ +#ifndef __SIVA_CLASS__ +#define __SIVA_CLASS__ + +// ==== HEADER Siva.h ==== + +/* Singular value decomposition based on the algorithm + * in Pal Rozsa's book (Linearis algebra es alkalmazasai). + * The two matrices and the weight vector produced by SVD + * are bundled into a little class but access to them is + * public. + */ + +// SGI C++ 3.2.1, IRIX 5.2, 21. Nov. 1994. Andris + +// ---- STANDARD HEADERS ---- + +#include +#include +#include + +// ---- INCLUDE FILES ---- + +#include "Matrix.h" +#include "Sqmat.h" +#include "Trimat.h" +#include "Vector.h" +#include "Ql.h" +#include "Vmutils.h" + +// ---- DEFINITIONS ---- + +#ifdef FLT_EPSILON +#define SIVA_EPSILON (10.0*FLT_EPSILON) +#else +#define SIVA_EPSILON (1e-7) +#endif + +// ==== CLASSES ==== + +/* Class Siva_ : a simple class for SIngular VAlue decomposition. + * SVD decomposes a rectangular matrix A into the form UWV' + * where W is diagonal and V is square. U and V are Matrix_ + * and Sqmat_ objects, respectively, W is stored as a Vector_ + * object. For the sake of simplicity, these data member objects + * are "public" which goes against encapsulation. The class + * provides a few methods for performing SVD and analysing + * the results. A general linear equation solver is also provided. + */ +class Siva_ +{ + // data + public: + + Matrix_ U; // general Row x Col matrix + Vector_ W; // Col-long vector + Sqmat_ V; // Col x Col square matrix + unsigned int R, Rorig, C; // row and column nos. + + // methods + public: + + // constructors + /* Set up SVD for a Row x Col matrix where Row>=Col. If Row +#include + +// ---- INCLUDE FILES ---- + +#include "Array.h" + +// ---- DEFINITIONS ---- + +#define SPL_MAX1DER (1e30) + +// ==== CLASSES ==== + +/* Class Spl_ : implements third-order splines. The double arrays + * X and Y hold the indep. and dep. variable values, Y2 the second + * derivatives and Yin the values of the integrals from X[0]. + * All arrays have the same length. + */ +class Spl_ +{ + // data + Array_ X; // independent variable + Array_ Y; // dependent variable + Array_ Y2; // second derivatives + Array_ Yin; // integrals + int Ev; // 0 if re-evaluation is needed + + // methods + public: + + // constructors + Spl_(unsigned int N=1): X(N), Y(N), Y2(N), Yin(N), Ev(0) {} + + // full array access + const Array_& x_arr() const { return(X); } + void x_arr(const Array_& Xa); + const Array_& y_arr() const { return(Y); } + void y_arr(const Array_& Ya); + + // data point access + double x(unsigned int Idx) const { return(X[Idx]); } + double& x(unsigned int Idx) { return(X[Idx]); } + double y(unsigned int Idx) const { return(Y[Idx]); } + double& y(unsigned int Idx) { return(Y[Idx]); } + + // size and data reset + unsigned int len() const { return(X.len()); } + void len(unsigned int L) + { X.len(L); Y.len(L); Y2.len(L); Yin.len(L); Ev=0; } + void reset() + { + X.set_values(0.0); Y.set_values(0.0); + Y2.set_values(0.0); Yin.set_values(0.0); Ev=0; + } + + // fitting and evaluation + /* fit_spl(): fits a cubic spline to a series of data points already + * stored in the calling object. Does not do anything if Ev=1. + * yp1,ypn: user-supplied first derivatives at the 1st and last + * points. If they are >=SPL_MAX1DER then the second derivatives are + * assumed to be 0 (natural spline, default) + * Return value: 0 if OK, <0 if something went wrong. + */ + int fit_spl(double yp1=SPL_MAX1DER, double ypn=SPL_MAX1DER); + + /* eval_spl: evaluates a spline at a point xi. If xi is out of + * range then 0.0 is returned. Otherwise the return value is y(xi). + * Adapted from Numerical Recipes. + * The derivatives and the integral are returned only if + * they are not NULL: this way, the user can calc any combination + * of the first three derivatives and the integral. + * xi: interpolation point + * Der1..3: 1st..3rd derivative of y at xi + * Integ: definite integral of y(x) between X[0] and xi. + * The derivative and integral ptrs are NULL by default. + * Prints a warning and returns 0.0 if the values were modified (Ev=0). + */ + double eval_spl(double xi, double *Der1=NULL, double *Der2=NULL, + double *Der3=NULL, double *Integ=NULL) const; + + /* integ_spl(): returns the definite integral of the spline Spl + * between Low and Up or 0.0 if range error. + */ + double integ_spl(double Low, double Up) const; + + private: + /* int_0x(): returns the definite integral of the spline between X[0] and xi. + * xi is assumed to be within the legal range (this method is called + * by integ_spl() only and is private). + */ + double int_0x(double xi) const; +}; +// END OF CLASS Spl_ + +// ==== END OF HEADER Spl.h ==== + +#endif diff --git a/lib/cc/incl/Sqbase.h b/lib/cc/incl/Sqbase.h new file mode 100644 index 0000000..6268177 --- /dev/null +++ b/lib/cc/incl/Sqbase.h @@ -0,0 +1,62 @@ +#ifndef __SQBASE_CLASS__ +#define __SQBASE_CLASS__ + +// ==== HEADER Sqbase.h ==== + +/* Abstract base class for square (and triangular) matrices. */ + +// SGI C++ 4.0, IRIX 5.3, 3. May 1995. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include +#include + +// ---- INCLUDE FILES ---- + +#include "Matbase.h" +#include "Vector.h" + +// ==== CLASSES ==== + +/* class Sqbase_ : abstract base class for square and triangular matrices. + * Does not add new data members. Defines main-diagonal related methods + * and other specialities. Derived from Matbase_ + */ +class Sqbase_: virtual public Matbase_ +{ + // methods + public: + + // empty destructor + virtual ~Sqbase_() {} + + // size + unsigned int cno() const { return(R); } // Row==Col for these + virtual void set_size(unsigned int Size) =0; + + // main diagonal routines + /* diag(): copies the diagonal into a Vector_ object. + * diag(Vec): sets the diagonal to the values in the Vector_ object Vec. + * If the dimensions don't match, no action is taken. + */ + Vector_ diag() const; + void diag(const Vector_& Vec); + + /* diag_matrix(): turns the calling object into a diagonal matrix + * with the value Dval in all diagonal positions. Dval==1 by default + * so diag_matrix() produces the unit matrix w/o a parameter. + */ + void diag_matrix(double Dval=1); + + /* get_trace(): returns the sum of the diagonal elements. */ + double get_trace() const; + + // transposition + virtual void transpose_inplace() =0; +}; +// END OF CLASS Sqbase_ + +// ==== END OF HEADER Sqbase_ ==== +#endif diff --git a/lib/cc/incl/Sqmat.h b/lib/cc/incl/Sqmat.h new file mode 100644 index 0000000..1fa4dd1 --- /dev/null +++ b/lib/cc/incl/Sqmat.h @@ -0,0 +1,117 @@ +#ifndef SQMAT_CLASS +#define SQMAT_CLASS + +// ==== HEADER Sqmat.h ==== + +/* Double-precision square matrix class. Derived from the + * general RxC rectangular matrix class Rectbase_ and the + * square matrix base class Sqbase_ . + */ + +// SGI C++ 4.0, IRIX 5.3, 25. Oct. 1995. Andris + +// ---- STANDARD HEADERS ---- + +#include +#include +#include + +// ---- INCLUDE FILES ---- + +#include "Sqbase.h" // the abstract base classes +#include "Rectbase.h" +#include "Matrix.h" // the RxC matrix class (for conversions) +#include "Vector.h" // vectors + +// ==== CLASSES ==== + +/* Class Sqmat_ : double-precision square matrices. Derived + * from the general RxC rectangular matrix class. Storage + * is exactly the same as well as most methods. A few operations + * are added such as diagonal manipulations, trace and in-place + * transposition. The main reason for defining a separate + * square matrix class is to implement linear equations, + * determinants, eigenroutines etc. + */ +class Sqmat_ : public Rectbase_, public Sqbase_ +{ + // methods interface + public: + + // constructors + /* Allocates a Size x Size matrix (default size is 3x3). + * Initialises all elements to 0.0. + */ + Sqmat_(unsigned int Size=3) : Matbase_(Size), Rectbase_(Size) {} + + /* Allocates a square matrix to hold the elements of the + * traditional array Arr. It is the caller's responsibility + * to make sure that Arr is indeed Size x Size. If Arr==NULL + * then the matrix elements will be set to 0.0 + */ + Sqmat_(const double **Arr, unsigned int Size) : Matbase_(Size), Rectbase_(Arr, Size, Size) {} + + /* Copy constructor */ + Sqmat_(const Sqmat_& Sq): Matbase_(Sq), Rectbase_(Sq) {} + + /* Init with a Rectbase_ (RxC) object (conversion ctor). The resulting Sqmat_ + * will contain the full matrix so that its size will be max(R, C) + * with the extra rows/cols padded with zeroes. Also works with Sqmat_. + */ + Sqmat_(const Rectbase_& Rbase); + + // assignment + Sqmat_& operator=(const Sqmat_& Sq); + + // size + /* set_size(): resets the size to Size x Size. The upper left + * corner overlap is preserved, if the new size is + * less than the original then the extra rows and cols will be lost. + * If new rows/cols are added then they will be initialised to 0.0. + * Zero row/col numbers not permitted. + * If the new size is 0 or the same as the old then no action is taken. + */ + void set_size(unsigned int Size); + + // linear algebra + /* Matrix multiplication: the left operand is returned if + * a dimension mismatch is detected. The code is exactly the same + * as the corresponding Matrix_ operator; however, the return type + * does not allow us to decl/def the whole thing in Rectbase_ + * (where it logically belongs). + */ + Matrix_ operator*(const Rectbase_& Mat) const; + + /* Matrix*vector multiplication: the vector is returned if a + * dimension mismatch was detected. + */ + Vector_ operator*(const Vector_& Vec) const; + + // arithmetics + /* Matrix addition and subtraction (+,-,+=,-=) check for dimension + * mismatches. If a mismatch is found then the left + * operand is returned unchanged. Division by scalar ( / ) + * is always checked for division by zero and the unchanged matrix + * is returned if a div by 0 is attempted. *=, /= are inherited + * from Matbase_ (could not be declared there because of the + * return type). + */ + Sqmat_ operator+(const Sqmat_& Mat) const; + Sqmat_ operator-(const Sqmat_& Mat) const; + Sqmat_ operator*(double Factor) const; + friend Sqmat_ operator*(double Factor, const Sqmat_& Mat); + Sqmat_ operator/(double Div) const; + + // transpose + /* get_transpose(): returns the transposed calling object. */ + Sqmat_ get_transpose() const; + + /* transpose_inplace(): transposes the calling object "in place". */ + void transpose_inplace(); + +}; +// END OF CLASS Sqmat_ + +// ==== END OF HEADER Sqmat.h ==== + +#endif /* SQMAT_CLASS */ diff --git a/lib/cc/incl/Stat2.h b/lib/cc/incl/Stat2.h new file mode 100644 index 0000000..c6990f2 --- /dev/null +++ b/lib/cc/incl/Stat2.h @@ -0,0 +1,122 @@ +#ifndef STAT2_CLASSES +#define STAT2_CLASSES + +// ==== HEADER Stat2.h ==== + +/* Very simple 1 and 2-variable statistics (avg,SD,corr). */ + +// SGI C++ 3.2.1, IRIX 5.2, 17. Jan. 1995. Andris + +// ---- STANDARD HEADERS ---- + +#include +#include +#include +#include + +// ---- DEFINITIONS ---- + +#define BIG_NUMBER 1.7e308 /* this should do */ +#ifndef DBL_EPSILON +#define DBL_EPSILON 1e-15 +#endif + +// ==== CLASSES ==== + +/* Class Stat_: one-variable statistics. A Stat_ object works + * much in the same way as the stat operations on a programmable + * calculator. Double data are accumulated in "stat sums" and + * the average and SD can be obtained from these. + */ +class Stat_ +{ + // data + double Sx, Sx2, Min, Max; // sum,sum of squares,minimal and maximal value + unsigned int N; // number of data + + // methods + public: + + // constructor + Stat_(): + Sx(0.0), + Sx2(0.0), + Min(BIG_NUMBER), + Max(-BIG_NUMBER), + N(0) + {} + + // data + /* clear(): resets the calling object. */ + void clear() { Sx=Sx2=0.0; Min=BIG_NUMBER; Max=-Min; N=0; } + + /* Stat+=Val: adds a new data point Val to Stat. Returns calling object */ + Stat_& operator+=(double Val); + + // results + unsigned int data_no() const { return(N); } + + /* min(), max(): return the minimal/maximal value or 0.0 if + * there were no data items (w/ a warning). + */ + double min() const; + double max() const; + + /* avg(): returns the average. Prints a warning and returns 0.0 if + * there were no data items at all. + */ + double avg() const; + + /* sd(): returns the standard deviation. Prints a warning and returns 0.0 + * if there were no data items at all. If N=1, 0.0 is returned automatically. + */ + double sd() const; +}; +// END OF CLASS Stat_ + +/* Class Stat2_: Two-variable simple statistics class. A Stat2_ object + * contains two Stat_ objects (Xs and Ys) plus a mixed-sum member + * Sxy for correlation. Data point addition is done by pairs. The + * one-var stats (min/max/avg, SD) are done via returning Xs or Ys + * and then using the appropriate Stat_ methods. + */ +class Stat2_ +{ + // data + Stat_ Xs, Ys; // X and Y fields + double Sxy; // mixed product sum + + // methods + public: + // constructor + Stat2_(): Xs(), Ys(), Sxy(0.0) {} + + // data + /* clear(): clear the calling object. */ + void clear() { Xs.clear(); Ys.clear(); Sxy=0.0; } + + /* add(): adds a pair of values X,Y to the calling object. */ + void add(double X, double Y) { Xs+=X; Ys+=Y; Sxy+=X*Y; } + + // results + /* data_no(): returns the no. of data points (from Xs, but + * Xs.N==Ys.N all the time). + */ + unsigned int data_no() const { return(Xs.data_no()); } + + /* xs(), ys(): return the one-stat objects for X and Y. Use + * the Stat_ methods on these to obtain avg, sd, min, max. + */ + Stat_ xs() const { return(Xs); } + Stat_ ys() const { return(Ys); } + + /* corr(): returns the correlation coefficient between the X and Y + * points. Prints a warning and returns 0.0 if there were no data points. + */ + double corr() const; +}; +// END OF CLASS Stat2_ + +// ==== END OF HEADER Stat2.h ==== + +#endif /* STAT2_CLASSES */ diff --git a/lib/cc/incl/String.h b/lib/cc/incl/String.h new file mode 100644 index 0000000..1cb65b9 --- /dev/null +++ b/lib/cc/incl/String.h @@ -0,0 +1,156 @@ +#ifndef STRING_CLASS +#define STRING_CLASS + +// ==== HEADER String.h ==== + +/* Implements a String_ class which should be the part of + * the standard C++ library... only it isn't + */ + +// SGI C++, IRIX 6.2, 29. Aug. 1996. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include +#include +#include +#include + +// ==== CLASSES ==== + +/* String_: a proper string class that has the functionality of the + * standard ANSI C string library in . Extra syntactic + * sugar thrown in assignment, concatenation and equality. + * Note that some of the fancy string functions are missing. + */ +class String_ +{ + // data + protected: + char *S; // \0-terminated classic C string + unsigned int Len; // the allocated length of S (>=1). + + // methods + public: + + // constructors + /* Inits to store N characters (default 0). Allocates space for N+1 + * chars, terminates with \0. Clears to all-zero. + */ + String_(unsigned int N=0); + + /* Inits with a conventional C string Sc. If Sc==NULL then a 1-char + * empty string is allocated within. + */ + String_(const char *Sc); + + /* The copy constructor */ + String_(const String_& Str); + + // destructor + ~String_() { delete [] S; } + + // assignment + String_& operator=(const String_& Str); + + // conversions + operator const char* () const { return(S); } + + /* long_str(): converts the (signed) long value L to its base-10 + * string representation and stores it in the calling object. + */ + void long_str(long L); + + // access + /* []: accesses the Idx-th character in the string. If Idx is + * out of range then a warning is printed to stderr and the 0-th + * char is returned. There is no unsafe access version. + * Note that it is possible to access chars beyond the logical end + * of the string (the first \0) but within the allocated length. + */ + char operator[](int Idx) const; + char& operator[](int Idx); + + /* strchr(),strrchr(): returns the index of the first/last occurrence + * of char C in the calling object or -1 if not found. Note that this + * behaviour is different from the C functions which return pointers. + */ + int strchr(int C) const; + int strrchr(int C) const; + + /* strstr(): returns the index of the first occurrence of Str in the + * calling object or -1 if it was not there. Note the difference between + * this and the ANSI C behaviour which returns a pointer. + */ + int strstr(const String_& Str) const; + + /* max_len(): returns the max. number of chars in the string. This may be larger + * than the logical length which can be accessed by strlen(). + * max_len(L): sets the length of the string to L and returns the old length. + * If the new length is longer than the old, then the extra new chars + * will be set to '\0', if shorter, then the overhang will be truncated, + * if L is the same as the old length then nothing happens. + */ + unsigned int max_len() const { return(Len-1); } + unsigned int max_len(unsigned int L); + + /* strlen(): returns the logical length of the string argument. */ + friend unsigned int strlen(const String_& Str) { return(::strlen(Str.S)); } + + /* !S: returns 1 if S is empty, 0 otherwise. */ + int operator!() const { return(S[0]=='\0'); } + + // character case + /* tolower(), toupper(): convert all chars in the calling string + * to lower- and uppercase, respectively. + * Return value: a ref. to the calling object. + */ + String_& tolower() + { + for (register unsigned int i=0; i, >= perform lexicographic comparison. + */ + unsigned int operator==(const String_& Str) const { return((strcmp(S, Str.S))? 0: 1); } + unsigned int operator!=(const String_& Str) const { return((strcmp(S, Str.S))? 1: 0); } + unsigned int operator<(const String_& Str) const { return((strcmp(S, Str.S)<0)? 1: 0); } + unsigned int operator<=(const String_& Str) const { return((strcmp(S, Str.S)<=0)? 1: 0); } + unsigned int operator>(const String_& Str) const { return((strcmp(S, Str.S)>0)? 1: 0); } + unsigned int operator>=(const String_& Str) const { return((strcmp(S, Str.S)>=0)? 1: 0); } + + // concatenation + /* S+=Str: appends Str to S and returns S. + * S+Str: appends Str to S and returns the resulting object. + */ + String_& operator+=(const String_& Str); + String_ operator+(const String_& Str) const; + + // input/output + /* In>>Str: Skips whitespaces and reads non-whitespace chars into + * Str until it gets filled up or a whitespace is encountered. Will NOT + * adjust the length of Str dynamically! + */ + friend istream& operator>>(istream& In, String_& Str); + + /* Out< +#include +#include + +// ---- INCLUDE FILES ---- + +#include "Matrix.h" +#include "Sqmat.h" +#include "Trimat.h" +#include "Vector.h" +#include "Vmutils.h" +#include "Safety.h" + +// ---- DEFINITIONS ---- + +#ifdef FLT_EPSILON +#define SVD_EPSILON (10.0*FLT_EPSILON) +#else +#define SVD_EPSILON (1e-7) +#endif + +// ==== CLASSES ==== + +/* Class Svd_ : a simple class for Singular Value Decomposition. + * SVD decomposes a rectangular matrix A into the form UWV' + * where W is diagonal and V is square. U and V are Matrix_ + * and Sqmat_ objects, respectively, W is stored as a Vector_ + * object. The class provides a few methods for performing SVD and analysing + * the results. A general linear equation solver is also provided. + */ +class Svd_ +{ + // data + private: + + static const Safety_ Safe; // safe division and hypot() classlet + + Matrix_ U; // general Row x Col matrix + Vector_ W; // Col-long vector + Sqmat_ V; // Col x Col square matrix + unsigned int R, Rorig, C; // row and column nos. + + // methods + public: + + // constructors + /* Set up SVD for a Row x Col matrix where Row>=Col. If Row +#include +#include + +// ---- INCLUDE FILES ---- + +#include "Sqbase.h" // base class +#include "Sqmat.h" // for conversions +#include "Matrix.h" + +// ==== CLASSES ==== + +/* Class Trimat_ : this class implements a less memory-hungry + * symmetric square matrix class. Only the main diagonal and the + * lower triangle are stored. The element and row pointer storage + * has the same layout as in the ultimate ancestor (Matbase), + * but the row pointers point to increasingly longer rows. + */ +class Trimat_ : public Sqbase_ +{ + /* public methods interface */ + public: + + // Constructors + /* Init to SizexSize (default 3x3), fill up with 0. */ + Trimat_(unsigned int Size=3); + + /* Allocate a Row*Row triangular matrix and initialise it with + * a traditional double ** style array Arr. It is the caller's + * responsibility to make sure that Arr has the correct dimensions. + * Arr is supposed to have the "triangular" layout already but + * there's no way of checking it. + * If Arr==NULL then the matrix elements will be set to 0.0 + */ + Trimat_(const double **Arr, unsigned int Row); + + /* The copy constructor */ + Trimat_(const Trimat_& Tri); + + /* Tri<--Sq conversion constructor. Inits with Sq's lower triangle */ + Trimat_(const Sqmat_& Sq); + + // destructor + virtual ~Trimat_() { delete [] Rows[0]; } + + // assignment + Trimat_& operator=(const Trimat_& Tri); + + // Conversion + /* Converts a Trimat_ object into a Sqmat_ object, i.e. + * makes a full symmetric matrix out of the sparse representation. + */ + operator Sqmat_() const; + + /* get_array(): converts the calling object to a traditional + * double ** array and sets Row and Col to its corresponding + * dimensions. Returns a NULL ptr if allocation failed. + * The returned array will retain the "triangular" layout + * (similar to my earlier C "Trimat_" type). + */ + double** get_array(unsigned int& Row, unsigned int& Col) const; + + // Size + /* set_size(): Sets the size to Size x Size. If the new size is + * larger than the old then the new rows will be set to 0.0, + * if less then the upper triangle will be preserved and the extra + * rows will be lost. Zero size not allowed (no action). + */ + void set_size(unsigned int Size); + + /* Safe access: the overlaid function call operator is used for this. + * Error messages are printed if one of the two indices is out of + * range and the index in question will be replaced by 0. + * If the column index is higher than the row index (j>i) + * then the two will be swapped (Trimat_s are symm square matrices). + * Note that there are two versions of this function; one for + * const access, the other for modifiable lvalues. + */ + double operator()(unsigned int i, unsigned int j) const; + double& operator()(unsigned int i, unsigned int j); + + /* row(Idx): returns the Idx-th row as a Vector_ object safely. + * row(Vec,Idx): sets the elements in the Idx-th row to the elements + * of the vector Vec, provided Idx is legal and Vec has the right + * number of elements. + */ + Vector_ row(unsigned int Idx) const; + void row(const Vector_& Vec, unsigned int Idx); + + /* col(Idx): returns the Idx-th column as a Vector_ object safely. + * col(Vec,Idx): sets the elements in the Idx-th column to the elements + * of the vector Vec, provided Idx is legal and Vec has the right + * number of elements. + */ + Vector_ col(unsigned int Idx) const; + void col(const Vector_& Vec, unsigned int Idx); + + // simple linear algebra + /* Matrix multiplication: the left operand is returned if + * a dimension mismatch is detected. For simplicity, the + * "safe indexing" is used here with the associated performance + * penalty. + * Returns a general RxC Matrix_. + */ + Matrix_ operator*(const Matbase_& Mat) const; + + /* Matrix*vector multiplication: the vector Vec is returned if a + * dimension mismatch was detected. + */ + Vector_ operator*(const Vector_& Vec) const; + + // Arithmetics + /* Matrix addition and subtraction (+,-) check for dimension + * mismatches. If a mismatch is found then the left + * operand is returned unchanged. Division by scalar ( / ) + * is always checked for division by zero and the unchanged matrix + * is returned if a div by 0 is attempted. These routines are + * based on the "in-place" operators (+=, -=, *=, /=) inherited + * from Matbase_ (could not be declared there because of the + * return type). + */ + Trimat_ operator+(const Trimat_& Mat) const; + Trimat_ operator-(const Trimat_& Mat) const; + Trimat_ operator*(double Factor) const; + friend Trimat_ operator*(double Factor, const Trimat_& Tri); + Trimat_ operator/(double Div) const; + + // transpositions + /* Since the transpose of a symmetric matrix is always equal + * to itself, the following methods are very simple. + */ + void transpose_inplace() { return; } + Trimat_ get_transpose() const { return(*this); } + + /* protected methods */ + protected: + // printing + void print_rows(ostream& Out, unsigned int Sizew, unsigned int Jbeg, + unsigned int Items, unsigned int Width, unsigned int Prec) const; + // Memory management + void init_rowptrs(unsigned int Colno); +}; +// END OF CLASS Trimat_ + +// ==== END OF HEADER Trimat.h ==== +#endif diff --git a/lib/cc/incl/Vector.h b/lib/cc/incl/Vector.h new file mode 100644 index 0000000..c21e555 --- /dev/null +++ b/lib/cc/incl/Vector.h @@ -0,0 +1,165 @@ +#ifndef __VECTOR_CLASS__ +#define __VECTOR_CLASS__ + +// ==== HEADER Vector.h ==== + +/* Double-precision vector class for simple vector algebra. + */ + +// SGI C++ 4.0, IRIX 5.3, 18. May 1995. Andris + +// ---- STANDARD HEADERS ---- + +#include +#include +#include +#include +#include +#include +#include + +// ==== CLASSES ==== + +/* Class Vector_ : double-precision vector algebra class. + * The coordinates are kept in a simple double array. + * Vectors can be converted to conventional arrays. + */ +class Vector_ +{ + // data + double *X; // coordinate array + unsigned int Dim; // dimensions + + // functions + public: + // constructors + /* init to N-dimensional null-vector. + * Default dim is 3, 0 dim not permitted + */ + Vector_(unsigned int N=3); + + /* init to values contained in the array Arr[] which is assumed + * to be N items long. If Arr==NULL or N==0, then a N- or 1-dimensional + * null-vector is created, respectively. + */ + Vector_(const double Arr[], unsigned int N); + + /* Init by another Vector_ object. */ + Vector_(const Vector_& Vec); + + // destructor + ~Vector_() { delete [] X; } + + // access + /* The operator [] will provide "unsafe" access, the () operator + * will give "safe" (index range checked) access. Bad ranges will + * cause a warning to be printed and the index reset to 0. + * Note that there are const and non-const versions of these functions. + */ + + double& operator[](unsigned int Idx) { return(X[Idx]); } + const double& operator[](unsigned int Idx) const { return(X[Idx]); }; + const double& operator()(unsigned int Idx) const; + double& operator()(unsigned int Idx); + + /* get_array(): constructs and returns a conventional array + * which contains the coordinates. Returns the dimension in Len. + * If allocation fails, NULL is returned (Len will not be changed). + */ + double* get_array(unsigned int& Len) const; + + /* set_values(): sets all coordinates to Val (default=0.0) */ + Vector_& set_values(double Val=0.0); + + // dimension access + /* dim(): with no parameters, returns the current dimension. + * With the parameter N, sets the dimension to N. If N==Dim or there is + * no memory available, no action is taken. if NDim, then the + * old Dim coordinates will be padded up by 0.0. + */ + unsigned int dim() const { return(Dim); } + void dim(unsigned int N); + + // arithmetics + /* Assignment, vector addition and subtraction, postfix + * multiplication and division by scalar. All operations + * are available in in-place versions as well. The assignment + * is destructive, it resets the dimension of the target. + * In case of a dim mismatch, the += and -= operators + * do not modify the target, the + and - operators return + * the left operand. + */ + Vector_& operator=(const Vector_& Vec); + Vector_ operator+(const Vector_& Vec) const; + Vector_& operator+=(const Vector_& Vec); + Vector_ operator-(const Vector_& Vec) const; + Vector_& operator-=(const Vector_& Vec); + Vector_ operator*(double Scal) const; + friend Vector_ operator*(double Scal, const Vector_& Vec); + Vector_& operator*=(double Scal); + Vector_ operator/(double Scal) const; + Vector_& operator/=(double Scal); + + // vectorial products + /* the scalar product: if the dimensions of the vectors differ, + * then the lower dimension is used (as if the lower-dim + * vector were padded up w/ zeroes). + */ + double operator*(const Vector_& Vec) const; + + /* cross_prod(): performs the cross-product of two 3D vectors. + * If the arguments are not 3D, then a 3D null-vector is returned. + */ + friend Vector_ cross_prod(const Vector_& Vec1, const Vector_& Vec2); + + // modulus + /* vec_len(), vec_len2(): calculate the Euclidean norm and the + * squared Euclidean norm, respectively. + */ + double vec_len() const { return(sqrt(vec_len2())); } + double vec_len2() const; + + /* vec_norm(): normalises the calling object to a unit vector. + * Returns the original length. If the length +#include + +// ---- INCLUDE FILES ---- + +#include "Vector.h" +#include "Matbase.h" +#include "Matrix.h" +#include "Sqmat.h" +#include "Trimat.h" + +// ---- PROTOTYPES ---- + + // transpose products + +/* trans_prod(): calculates the product X'X of a matrix X. + * The result is a Trimat_ because it is symmetric. Safe + * indexing is used which may incur a slight performance + * penalty but it is necessary for generality here as X + * is a base class ref which may be either a rectangular + * Matrix_ or a Trimat_. See below for specialised versions. + */ +Trimat_ trans_prod(const Matbase_& X); + +/* trans_mprod(): calculates the product X'X of a rectangular Matrix_ X. + * Result is a symmetric Trimat_. This routine should be slightly + * faster for rectangulars than trans_prod() above but it cannot + * be used for Trimat_s. + */ +Trimat_ trans_mprod(const Matrix_& X); + +/* trans_wprod(): Calculates the product X'WX where X is a general + * matrix and W is a diagonal matrix (represented by a Vector_). + * Safe indexing is used (cf comments on trans_prod()). In case + * of a dim mismatch between X and W then X'X is calculated. + */ +Trimat_ trans_wprod(const Matbase_& X, const Vector_& W); + +/* trans_mwprod(): calculates the product X'WX of a rectangular matrix + * X and a diagonal matrix represented by the Vector_ W. Less general + * but slightly faster than trans_wprod() above. + */ +Trimat_ trans_mwprod(const Matrix_& X, const Vector_& W); + +// ==== END OF HEADER Vmutils.h ==== + +#endif + diff --git a/lib/cc/incl/cplx.h b/lib/cc/incl/cplx.h new file mode 100644 index 0000000..0b8a308 --- /dev/null +++ b/lib/cc/incl/cplx.h @@ -0,0 +1,89 @@ +#ifndef __CPLX_H__ +#define __CPLX_H__ + +/* ==== HEADER cplx.h ==== */ + +/* Double-precision complex arithmetics class. */ + +/* SGI CC 3.0.1 (C++ Version 3.0), 10. Feb. 1994. Andris */ + +/* ---- STANDARD HEADERS ---- */ + +#include +#include +#include +#include + +/* ==== CLASSES ==== */ + +#define UNITY Complex_(1.0) +#define IMAG Complex_(0.0, 1.0) + +/* Class Complex_ : double-precision class with the + * usual arithmetics overloaded + a few transcendental + * functions. Error checking is sloppy. + */ +class Complex_ +{ + public: + // constructors + Complex_(); + Complex_(double Real, double Imag=0.0); + + // member access + double real_part() const; + double imag_part() const; + + // equality and arithmetics + friend int operator==(const Complex_& C1, const Complex_& C2); + Complex_& operator-(); // unary minus + friend Complex_ operator+(const Complex_& C1, const Complex_& C2); + friend Complex_ operator-(const Complex_& C1, const Complex_& C2); + friend Complex_ operator*(const Complex_& C1, const Complex_& C2); + friend Complex_ operator/(const Complex_& C1, const Complex_& C2); + // arithmetics done "in place" + Complex_& operator+=(const Complex_& C); + Complex_& operator-=(const Complex_& C); + Complex_& operator*=(const Complex_& C); + Complex_& operator/=(const Complex_& C); + + // conjugation, fabs (abs value), argument + Complex_ conjug() const ; + double fabs() const ; + double argument() const ; + + // conversions + operator double() const { return((Im==0.0)? Re: fabs()); } + operator float() const { return(float(double(*this))); } + operator int() const { return(int(double(*this))); } + + // powers, sqrt, exp, log + friend Complex_ pow(const Complex_& C, double Ex); + friend Complex_ sqrt(const Complex_& C); + friend Complex_ exp(const Complex_& C); + friend Complex_ log(const Complex_& C); + friend Complex_ pow(const Complex_& C, const Complex_& Ex); + + // trigonometry + friend Complex_ sin(const Complex_& C); + friend Complex_ cos(const Complex_& C); + friend Complex_ tan(const Complex_& C); + + // inverse trigs + friend Complex_ asin(const Complex_& C); + friend Complex_ acos(const Complex_& C); + friend Complex_ atan(const Complex_& C); + + // input-output (very simple) + friend istream& operator>>(istream& In, Complex_& C); + friend ostream& operator<<(ostream& Out, const Complex_& C); + + private: + double Re, Im; // real and imaginary parts +}; + +/* ++++ END OF CLASS Complex_ ++++ */ + +/* ==== END OF HEADER cplx.h ==== */ + +#endif diff --git a/lib/cc/src/Bits.c++ b/lib/cc/src/Bits.c++ new file mode 100644 index 0000000..3092501 --- /dev/null +++ b/lib/cc/src/Bits.c++ @@ -0,0 +1,501 @@ +// ==== FUNCTIONS Bits.c++ ==== + +/* A simple bit-array class for storing Boolean data. */ + +// SGI C++ 4.0, IRIX 5.3, 28. Sept. 1995. Andris + +// ---- HEADER ---- + +#include "Bits.h" + +// ==== Bits_ MEMBER FUNCTIONS ==== + +// ---- Memory handling ---- + +/* alloc_arr(): creates an uint array containing Size items + * and returns a ptr to it (or NULL if allocation failed). + * If Arr!=NULL, then its contents (up to Size uints) are + * copied into the new array. Arr==NULL by default. Private static + */ +inline +unsigned int* Bits_::alloc_arr(unsigned int Size, const unsigned int *Arr) +{ + if (!Size) return(NULL); // do nothing + + unsigned int *New=new unsigned int [Size]; + if (New==NULL) + { // should throw exception here + cerr<<"\n! Bits_::alloc_arr(): Out of memory\n"; + return(NULL); + } + if (Arr!=NULL) memcpy(New, Arr, Size*sizeof(unsigned int)); + return(New); +} +// END of alloc_arr() + +/* zero_mask(): the last uint in the B array may be incompletely filled. + * This method returns an uint which has 1-s for the valid positions + * and 0-s for the unused tail. For zeroing that tail, just & to the + * last uint. Private + */ +inline +unsigned int Bits_::zero_mask() const +{ + register unsigned int Lastbits=Bs % UINT_SIZE, // no. of bits in last active uint + Zmask=~0; // all 111...1 + if (Lastbits) + { + // make 00..011..11 when not full + if (Lastbits<=UINT_SIZE/2) { Zmask<<=Lastbits; Zmask=~Zmask; } + else Zmask>>=UINT_SIZE-Lastbits; + } + return(Zmask); // all 1 if Lastbits==0 +} +// END of zero_mask() + +// ---- Constructors ---- + +/* Init to hold N bits (default 0). Set all bits to + * Val (false by default). + */ +Bits_::Bits_(unsigned int N, bool Val): + Bs(N), Cs(uints_needed(N)) +{ + if (!N) { B=NULL; Cs=0; return; } // empty + + B=alloc_arr(Cs); + + // this sets the extra bits at the upper end of the last uint, too! + if (B!=NULL) + memset(B, (!Val)? '\0': ~'\0', Cs*sizeof(unsigned int)); +} + +/* Init by another Bits_ object Bits (copy constructor). */ +Bits_::Bits_(const Bits_& Bits): + B(alloc_arr(Bits.Cs, Bits.B)), Bs(Bits.Bs), Cs(Bits.Cs) +{ + if (!Bits.Bs || B==NULL) return; // empty +} + +/* Init by a string Str which should have the format "110101001", + * 0 for "false", 1 for "true". Any other char elicits a warning + * and will be interpreted as "true". The null string "" is accepted + * as an empty bitvector. + */ +Bits_::Bits_(const char *Str): + Bs(strlen(Str)) +{ + if (!Bs) { B=NULL; Cs=0; return; } // empty + + Cs=uints_needed(Bs); + B=alloc_arr(Cs); + if (B!=NULL) + { + memset(B, 0, Cs*sizeof(unsigned int)); // zero all + for (register int i=0; i=Bs) return(false); + + register unsigned int Offs, Mask=get_mask(Idx, Offs); + return(bool((Mask & B[Offs])!=0)); // to convert to 0|1 +} +// END of get_bit() + +/* set_bit(): sets the Idx-th bit to Value (default is true). + * If Idx is out of range, no action + * will be taken. Returns old value or false if out-of-range. + */ +bool Bits_::set_bit(unsigned int Idx, bool Value) +{ + // return 0 silently if Idx is out of range or calling object is empty + if (!Bs || Idx>=Bs) return(false); + + register unsigned int Offs, Mask=get_mask(Idx, Offs); + bool Oldbit=bool((Mask & B[Offs])!=0); + if (Value) B[Offs]|=Mask; else B[Offs]&=~Mask; + return(Oldbit); +} +// END of set_bit() + +/* len(Len): adjusts the size of the bit array to Len. + * If Len==Bs, no action is taken, if LenBs then the tail of the + * new array will be filled with false values (0). + * Returns the old length. + */ +unsigned int Bits_::len(unsigned int Len) +{ + if (Len==Bs) return(Bs); // no change + + unsigned int Oldlen=Bs; + + if (Len>Bs) // bit size grows (may fit into original Cs-long array) + { + register unsigned int Csnew=uints_needed(Len), // new uint size + Csmin=uints_needed(Bs); // minimal uint size for old + + if (Cs0,Cs>0) + { + memcpy(Bnew, B, Csmin*sizeof(unsigned int)); // copy old + delete [] B; + } + B=Bnew; // replace old array w/ new + } + memset(B+Csmin, 0, (Csnew-Csmin)*sizeof(unsigned int)); // zero new uints + + // zero the last bits in the last (old) uint if necessary + if (Csmin) B[Csmin-1]&=zero_mask(); + + if (Cs>,>>=) do exactly the same things as + * their original C counterparts. However, the rhs-s (although the type + * is int) are not allowed to have negative values: no action is taken and + * a warning is printed in these cases. For << and <<=, 0 bits are shifted + * in at the right; for >> and >>=, 0 bits are shifted in from the left. + * Empty bit-vectors are left unchanged. + */ + +Bits_& Bits_::operator<<=(int Shift) +{ + if (!Bs || !Shift) return(*this); // empty or no shift + if (Shift<0) + { + cerr<<"\n? Bits_<<="<=UINT_SIZE, full uint's must be shifted first + register unsigned int i, Csmin=uints_needed(Bs), Ush=Shift/UINT_SIZE; + + if (Ush) // do uint-left-shift + { + for (i=Csmin-1; i>=Ush; i--) B[i]=B[i-Ush]; + memset(B, 0, Ush*sizeof(unsigned int)); // zero the Ush rightmost uints + } + + // do bitwise shifts, carrying over bits at each left side + register unsigned int Bsh=Shift % UINT_SIZE; + if (Bsh) + { + register unsigned int Carry, Prevcarry=0, Cmask=~0; // all 11..1 + Cmask>>=Bsh; Cmask=~Cmask; // 11..10000..0 + for (i=Ush; i>=(UINT_SIZE-Bsh); // move from left to right + } + } + return(*this); +} +// END of <<= + +Bits_& Bits_::operator>>=(int Shift) +{ + if (!Bs || !Shift) return(*this); // empty or no shift + if (Shift<0) + { + cerr<<"\n? Bits_>>="<=UINT_SIZE, full uint's must be shifted first + register unsigned int Csmin=uints_needed(Bs), Ush; + register int i; + + /* subtract the "tail" Csmin % Bs bits from Shift and do + * uint-right-shifts only if Shift is larger than this + */ + Ush=(Csmin % Bs >= Shift)? 0: (Shift-Csmin % Bs)/UINT_SIZE; + if (Ush) // do uint-right-shift + { + for (i=0; i=0; i--) // proper -1 check needed, i not uint + { + Carry=B[i] & Cmask; // save rightmost Bsh bits + B[i] >>= Bsh; // do the shift, leftmost Bsh bits are 0 + B[i] |= Prevcarry; // put there saved bits from previous shift + Prevcarry=Carry; // save for next + Prevcarry<<=(UINT_SIZE-Bsh); // move from right to left + } + } + return(*this); +} +// END of >>= + +Bits_ Bits_::operator<<(int Shift) const +{ + Bits_ Temp(*this); Temp<<=Shift; + return(Temp); +} +// END of << + +Bits_ Bits_::operator>>(int Shift) const +{ + Bits_ Temp(*this); Temp>>=Shift; + return(Temp); +} +// END of >> + +// ---- Printing ---- + +/* list_bits(): lists the bits neatly to Out, UINT_SIZE bits per row. + * Prints Fch (default '0') and Tch (default '1') for false and + * true values, respectively. + */ +void Bits_::list_bits(ostream& Out, char Fch, char Tch) const +{ + unsigned int i, j, Mask, Lstb=Bs % UINT_SIZE, Uino=uints_needed(Bs); + const unsigned int Dw=sizeof(unsigned int)*(CHAR_BIT+1); + + // print --- on top + for (j=0; j>=1; + } + Out<<'['<<(i+1)*UINT_SIZE-1<<'-'<>=1; + } + if (!((j+1) % CHAR_BIT)) Out.put(' '); + } + Out<<'['<Up) { Step=Low; Low=Up; Up=Step; } // swap + + Step=(Up-Low)/(Binno-1); + for (unsigned int d=0; d=2 bins equally spaced + * between Low and Up. Zeroes everything. Very similar to what the ctor does. + */ +void Cdf_::reset(unsigned int Binno, double Low, double Up) +{ + if (Binno<=1) Binno=2; + X.len(Binno); Y.len(Binno); Yint.len(Binno); + + double Step; + if (Low>Up) { Step=Low; Low=Up; Up=Step; } // swap + + Step=(Up-Low)/(Binno-1); + for (unsigned int d=0; d=X[X.len()-1]) return(*this); // too large + + register unsigned int Dup=get_index(V); + Yint[Dup]++; N++; Ev=0; + return(*this); +} +// END of += + +Cdf_& Cdf_::operator-=(double V) +{ + if (V>=X[X.len()-1]) return(*this); // too large + + register unsigned int Dup=get_index(V); + if (Yint[Dup]>=1) + { + Yint[Dup]--; N--; Ev=0; // cannot subtract if already 0 + } + return(*this); +} +// END of += + +/* get_index(): finds the index kh which satisfies X[kh-1]X[Len-1]. Private + */ +unsigned int Cdf_::get_index(double V) const +{ + + // out of range: return first or last index + unsigned int Len=X.len(); + if (VX[Len-1]) return(Len-1); + + /* search */ + register unsigned int kl, k, kh; + kl=0; kh=Len; + while (kl& Cdf_::y_arr() +{ + if (!Ev) + { + eval_cdf(); Ev=1; + } + return(Y); +} +// END of y_arr() + +Vector_ Cdf_::x_vec() const +{ + Vector_ Xv(X.len()); + for (register unsigned int i=0; i>(istream& In, Complex_& C) + { In >> C.Re >> C.Im; return(In); } +ostream& operator<<(ostream& Out, const Complex_& C) + { Out << '<' << C.Re << ',' << C.Im << '>'; return(Out); } + +// ==== END OF FUNCTIONS Cplx.c++ ==== diff --git a/lib/cc/src/Hirot.c++ b/lib/cc/src/Hirot.c++ new file mode 100644 index 0000000..03e62f6 --- /dev/null +++ b/lib/cc/src/Hirot.c++ @@ -0,0 +1,399 @@ +// ==== FUNCTIONS Hirot.c++ ==== + +/* Contains an implementation of McLachlan's RMS rotation algorithm + * (aka "Procrustes rotation" in statistics) + * adapted to high-dimensional problems. + */ + +// SGI C++ 4.0, IRIX 5.3, 29. May 1996. Andris + +//---- STANDARD HEADERS ---- + +#include + +// ---- UTILITY HEADERS ---- + +#include "Hirot.h" +#include "Lu.h" + +// ==== Hirot_ METHODS ==== + +// ---- Rotations ---- + +/* best_rot(): The RMS rotation algorithm adapted to + * >=3D spaces. The point set X is rotated onto Y. Both are assumed to have + * the same dimensionality and the same number of active points. + * The activity masks need not be equal, but the first active + * point in X will correspond to the first active in Y etc. + * The active points are assumed to have been centered before the call. + * W is a weight vector (assumed to be all-equal if omitted). + * NOTE: <3D point sets are not treated correctly. + * Return value: the sign of the determinant of the transform matrix. + */ +int Hirot_::best_rot(const Points_& X, const Points_& Y, const Vector_& W) +{ + // checks + int Actno=check_data(X, Y, W); + if (Actno<=0) + { + cerr<<"\n? Hirot_::best_rot(X, Y, W): Inconsistent input data\n"; + return(-1); + } + + make_mixtensor(X, Y, W); + return(get_rot(X.dim())); +} +// END of best_rot() + +int Hirot_::best_rot(const Points_& X, const Points_& Y) +{ + // checks + int Actno=check_data(X, Y); + if (Actno<=0) + { + cerr<<"\n? Hirot_::best_rot(X, Y): Inconsistent input data\n"; + return(-1); + } + + make_mixtensor(X, Y); + return(get_rot(X.dim())); +} +// END of best_rot() + +/* best_rotflip(): the same as hi_rot() but there's no check for + * the det sign. This routine returns a unitary transform matrix that + * flips the conformations if necessary to achieve optimal superposition. + */ +void Hirot_::best_rotflip(const Points_& X, const Points_& Y, const Vector_& W) +{ + // checks + int Actno=check_data(X, Y, W); + if (Actno<=0) + { + cerr<<"\n? Hirot_::best_rotflip(X, Y, W): Inconsistent input data\n"; + return; + } + + make_mixtensor(X, Y, W); + get_rotflip(X.dim()); +} + +void Hirot_::best_rotflip(const Points_& X, const Points_& Y) +{ + // checks + int Actno=check_data(X, Y); + if (Actno<=0) + { + cerr<<"\n? Hirot_::best_rotflip(X, Y): Inconsistent input data\n"; + return; + } + + make_mixtensor(X, Y); + get_rotflip(X.dim()); +} +// END of best_rotflip() + +/* det_sign(): returns the sign of the determinant of the Mixtensor. + * Returns 1 for "pure" rotations, -1 for "improper" rotations + * (i. e. with inversion), 0 if the structures are "flat" and + * the tensor is rank deficient. Conditions the SVD of Mixtensor + */ +int Hirot_::det_sign() +{ + if (Rank<0) // no decomp yet + { + cerr<<"\n? Hirot_::det_sign(): Not initialised\n"; + return(0); + } + + // rank deficient? + if (Rank0.0)? 1: -1); +} +// END of det_sign() + +// ---- RMS and transformation ---- + +/* get_rms(): returns the weighted RMS value between the point sets + * Y and Rot*X (Rot is in the calling object). + * Both sets should have the same no. of active points + * and dimensions. W holds the weights for the pairs (if not uniform). + * Returns -1.0 on error. + */ +double Hirot_::get_rms(const Points_& X, const Points_& Y, const Vector_& W) const +{ + register unsigned int Actno=X.active_len(); + + if (!Actno || Actno!=Y.active_len() || W.dim()0 + return(sqrt(Err)); +} +// END of get_rms() + +/* apply_transform(): replaces X with Rot*X and returns the + * weighted RMS value between Y and Rot*X or -1.0 on error. + * If W is not specified then uniform weights are used. + * Rot is inside the calling object. + */ +double Hirot_::apply_transform(Points_& X, const Points_& Y, const Vector_& W) const +{ + register unsigned int Actno=X.active_len(); + + if (!Actno || Actno!=Y.active_len() || W.dim()0) if OK. Private + */ +int Hirot_::check_data(const Points_& X, const Points_& Y) +{ + // fatal problems + int Dim=X.dim(); // may be 0 if dims vary among actives + if (!Dim || X.dim()!=Dim || Y.dim()!=Dim) + { + cerr<<"\n? Hirot_::check_data(): Point sets have different dimensions\n"; + return(-1); + } + unsigned int Actno=X.active_len(); + if (!Actno) + { + cerr<<"\n? Hirot_::check_data(): No active points in X\n"; + return(0); + } + if (Actno!=Y.active_len()) + { + cerr<<"\n? Hirot_::check_data(): Active point no. mismatch, " + < Scal(n); + Psign=1; + Lu=A; + for (i=0; Psign && iLarge) Large=Tmp; + if (Large=Large) /* best so far */ + { Large=Tmp2; imax=i; } + } + + // interchange rows? + if (j!=imax) + { + memcpy(Tmpa, Lu[imax], n*sizeof(double)); + memcpy(Lu[imax], Lu[j], n*sizeof(double)); + memcpy(Lu[j], Tmpa, n*sizeof(double)); + Psign*=(-1); // parity change + Scal[imax]=Scal[j]; + } + Perm[j]=imax; + + // get the pivot + Pivot=Lu[j][j]; + if (fabs(Pivot)=0; i--) + { + Tmp=X[i]; + for (j=i+1; j=1 rows. The element array + * is not allocated and Rows[] is not initialised. + * The element number is set to 0. + */ +Matbase_::Matbase_(unsigned int Row): Eno(0) +{ + if (!Row) Row=3; + Rows=alloc_rows(Row); R=Row; Rows[0]=NULL; +} + +/* Copy constructor: allocates the Rows array to the size of Mb, + * does not initialise it, sets R to Mb.rno(), sets Eno=0. + */ +Matbase_::Matbase_(const Matbase_& Mb): R(Mb.rno()), Eno(0) +{ + Rows=alloc_rows(R); Rows[0]=NULL; +} + +// ---- Access ---- + +/* set_values(): sets all elements to a specified value Val. + * Default is 0.0. + */ +void Matbase_::set_values(double Val) +{ + register unsigned int i; + register double *Elems=Rows[0]; + for (i=0; i=1 + * long double array and returns its address or NULL if out of memory. + */ +double* Matbase_::alloc_elems(unsigned int Elemno) +{ + if (!Elemno) Elemno=1; + double *Elems=new double [Elemno]; // alloc element array + if (Elems==NULL) + { + prt_err(NO_MEM, "alloc_elems()"); + return(NULL); + } + else return(Elems); +} +// END of alloc_elems() + +// ---- Printing ---- + +/* list_matrix: lists calling object to stdout with entries occupying Width chars, + * in scientific format, Prec digits precision. If a row takes up + * more than Linewidth chars, then the matrix is cut up nicely. + * If WidthWidth) Width=Sizew; + Items=(Linewidth-Sizew-3)/(Width+1); // columns per chunk + + /* output will be right-justified by default */ + Out.unsetf(ios::right|ios::internal); + Out.setf(ios::showpoint|ios::scientific); // %e in C + + /* main cycle: print chunks of the matrix */ + for (Jbeg=0,Chunk=(N-1)/Items+1; Chunk>0; Jbeg+=Items,Chunk--) + { + /* underline length */ + Ulinelen=(Chunk>1)? Items*(Width+1)+Sizew+3: + (N-Jbeg)*(Width+1)+Sizew+3; + + /* print column heading */ + for (k=0; kRno)? Rno: R, Cmin=(C>Cno)? Cno: C; + for (i=0; iTrace)? sqrt(Norm[ip]): 1.0; + + for (ip=0; ip=2: detailed (itno, Q) + * Output parameters:- + * Sdev: SD vector of parameters (Np) + * Correl: correlation matrix (Np x Np) + * Tcrit95: "Student"'s t-value at 95 % confidence level + * Input/output parameters:- + * P: initial parameter guess on input, estimated parameters on output + * Itmax: max. allowed no. of iterations on input, actual on output + * Return value:- the residual deviation or -1.0 on error. + * NOTE: Funct should have the following prototype:- + * int Funct(const Vector_& X, const Vector_& P, Vector_& Y) + * and should return 0 on error, non-zero otherwise. Before the iteration + * starts, a call is made to Funct() to check possible dim mismatches + * and if 0 is returned then nonlin_reg() returns with an error. + * It is the caller's responsibility to ensure that Funct() carries + * out error checking properly (dim + math errors). + * During iteration, the original signs of the initial parameter guesses + * are kept. A parameter set to 0.0 will remain zero. Try sign changes + * if the fit is bad. + */ +float nonlin_reg(const Matrix_& Xmeas, const Matrix_& Ymeas, const Matrix_& W, + Userfunct_ Funct, + Vector_& P, Vector_& Sdev, Trimat_& Correl, float& Tcrit95, + int& Itmax, float Steplim, int Verbose) +{ + // dim checks + int Nm=Xmeas.rno(), Nx=Xmeas.cno(), Ny=Ymeas.cno(), Np=P.dim(), Nf; + if (Nm!=Ymeas.rno()) + { + cerr<<"\n! nonlin_reg(): "<=NLIN_CHATTER) Verbose=NLIN_CHATTER; // lots of output + + // some of the local vars + register int im, iy, ip, jp; + double Q, Qold; + + // get the initial quality + Vector_ F(Ny), Dly(Ny); + Qold=0.0; + for (im=0; imTrace)? sqrt(Norm[ip]): 1.0; + + for (ip=0; ip=Qold)) Lm=(Lm>0.0)? 10.0*Lm: 0.01; + else // successful step + { + Lm=(Lm > 1e-6)? 0.1*Lm: 0.0; + P=Pnew; Qold=Q; + } + } + while (Grow && Stlen >= Steplim / 10); // linreg step + Itno++; + } + while (Stlen >= Steplim && Itno <= Itmax); // main cycle end + + // rest of output + Tcrit95=tcrit_95(Nf); // t-statistics + + Correl=Jtj*(Q/Nf); // covariance matrix estimated from last inverted J'WJ + Sdev=Correl.diag(); // relative variances + for (ip=0; ip=2: detailed (itno, Q) + * Output parameters:- + * Sdev: SD vector of parameters (Np) + * Correl: correlation matrix (Np x Np) + * Tcrit95: "Student"'s t-value at 95 % confidence level + * Input/output parameters:- + * P: initial parameter guess on input, estimated parameters on output + * Itmax: max. allowed no. of iterations on input, actual on output + * Return value:- the residual deviation or -1.0 on error. + * NOTE: Funct should have the following prototype (typedef Userfunct11_) :- + * double Funct(double X, const Vector_& P) + * It is the caller's responsibility to ensure that Funct() carries + * out error checking properly (dim + math errors). + * During iteration, the original signs of the initial parameter guesses + * are kept. A parameter set to 0.0 will remain zero. Try sign changes + * if the fit is bad. + */ +float nonlin11_reg(const Vector_& Xmeas, const Vector_& Ymeas, const Vector_& W, + Userfunct11_ Funct, + Vector_& P, Vector_& Sdev, Trimat_& Correl, float& Tcrit95, + int& Itmax, float Steplim, int Verbose) +{ + // dim checks + int Nm=Xmeas.dim(), Np=P.dim(), Nf; + if (Nm!=Ymeas.dim()) + { + cerr<<"\n! nonlin11_reg(): "<=NLIN_CHATTER) Verbose=NLIN_CHATTER; // lots of output + + // some of the local vars + register int im, ip, jp; + double Q, Qold; + + // get the initial quality + double F, Dly; + Qold=0.0; + for (im=0; imTrace)? sqrt(Norm[ip]): 1.0; + + for (ip=0; ip=Qold)) Lm=(Lm>0.0)? 10.0*Lm: 0.01; + else // successful step + { + Lm=(Lm > 1e-6)? 0.1*Lm: 0.0; + P=Pnew; Qold=Q; + } + } + while (Grow && Stlen >= Steplim / 10); // linreg step + Itno++; + } + while (Stlen >= Steplim && Itno <= Itmax); // main cycle end + + // rest of output + Tcrit95=tcrit_95(Nf); // t-statistics + + Correl=Jtj*(Q/Nf); // covariance matrix estimated from last inverted J'WJ + Sdev=Correl.diag(); // relative variances + for (ip=0; ip= 1; k--) + { + if (fabs(A[0][0]) < DBL_MIN) { delete [] H; return(0);} /* singularity */ + H[N - 1] = 1 / A[0][0]; + for (i = 2; i <= N; i++) + { + At = A[i - 1][0] * H[N - 1]; + H[i - 2] = (i>k)? At: -At; + for (j = 2; j <= i; j++) + A[i - 2][j - 2] = A[i - 1][j - 1] + A[i - 1][0] * H[j - 2]; + } + for (i = 0; i < N; i++) + A[N - 1][i] = H[i]; + } + delete [] H; return(1); +} +// END of posdef_inv() + +// ==== END OF FUNCTIONS Pmest.c++ ==== diff --git a/lib/cc/src/Points.c++ b/lib/cc/src/Points.c++ new file mode 100644 index 0000000..ddedb48 --- /dev/null +++ b/lib/cc/src/Points.c++ @@ -0,0 +1,331 @@ +// ==== MEMBER FUNCTIONS Points.c++ ==== + +/* A maskable array of Vector_ objects for storing and + * manipulating point coordinates. Essentially, an improved + * version of the Pset_ class. + */ + +// SGI C++, 30. Apr. 1998. Andris Aszodi + +// ---- CLASS HEADER ---- + +#include "Points.h" + +// ==== Points_ MEMBER FUNCTIONS ==== + +// ---- Constructors ---- + +/* Initialises the array to hold N (default=1) vectors, each + * D-dimensional (default=3). All vectors will be active. + */ +Points_::Points_(unsigned int N, unsigned int D): Maskarr_(N) +{ + for (unsigned int i=0; idim(D); +} + +/* Initialises the array with the bitmap in Initmask. It will have + * Initmask.len() items having D (default=3) dimension each. + * Activation pattern is as in Initmask, of course. + */ +Points_::Points_(const Bits_& Initmask, unsigned int D): Maskarr_(Initmask) +{ + for (unsigned int i=0; idim(D); +} + +// ---- Dimension ---- + +/* dim_range(Low,High): returns the smallest and largest dimension + * of the active vectors. Both are set to 0 if there are no active + * items. + */ +void Points_::dim_range(unsigned int& Low, unsigned int& High) const +{ + if (!active_len()) { Low=High=0; return; } + + unsigned int i, D; + Low=UINT_MAX; High=0; + for (i=0; idim(); + if (DHigh) High=D; + } +} +// END of dim_range() + +/* dim_low(), dim_high(): return the lowest and highest dimension + * of the set of active points or 0 if ther were no active points. + * (If both are needed, the dim_range() method above would be slightly + * more efficient.) + */ +unsigned int Points_::dim_low() const +{ + if (!active_len()) return(0); + + unsigned int i, D, Low=UINT_MAX; + for (i=0; idim(); + if (Ddim(); + if (D>High) High=D; + } + return(High); +} +// END of dim_high() + +/* dim(): returns the dimension of the active vectors if they have the + * same dimension or 0 if the dimensions are different or there are no + * active vectors. + * dim(D): sets the dimension of all active vectors to D. Returns old dimension + * or 0 if they were different or there are no active vectors. + */ +unsigned int Points_::dim() const +{ + unsigned int Low, Up; + dim_range(Low, Up); + return(((!Low && !Up) || Low!=Up)? 0: Low); +} + +unsigned int Points_::dim(unsigned int D) +{ + unsigned int i, Oldim=dim(); + for (i=0; idim(D); + return(Oldim); +} +// END of dim() + +// ---- Arithmetics ---- + +/* Points*=Scalar: multiplies all active vectors by Scalar in place. + * Returns calling object. + */ +Points_& Points_::operator*=(double Scalar) +{ + for (unsigned int i=0; iW.dim()) + { + cerr<<"\n? Points_::centroid(W): Weight vector has too few elements (" + <dim(); // D<=Maxdim + for (j=0; jdim(); // D<=Maxdim + for (j=0; j3) + { + cerr<<"\n? Points_::pdb_list(): Data not 1D...3D\n"; + return(0); + } + + for (unsigned int i=0; i1? (*this)[i][1]: 0.0)<2? (*this)[i][2]: 0.0); + Out.precision(2); + Out<sq conversion init + Qmat.ftn_idx(); // Fortranese [1..N] index shift + + /* create conventional arrays to hold the main and second + * diagonals of the tridiagonalised Qmat, also perform + * index shifting. + */ + double *Diag1, *Diag2; + Diag1=new double [Size]; Diag1--; // alloc and FORTRAN shift + Diag2=new double [Size]; Diag2--; + + tred2(Qmat,Diag1,Diag2); // Housholder tridiagonalisation + + /* apply shifted QL-transforms: get eigenvalues in Diag1, + * eigenvectors in Qmat's _columns_. No sorting yet + */ + int Err=tqli(Diag1,Diag2,Qmat,ITERNO); + if (Err) + cerr<<"? eigen_ql(): Iteration limit ("<Eig>E1->Eig)? 1: (E2->EigEig)? -1: 0); +} +// END of eig_cmp() + +/* ---- LARGE EIGENVALUE/EIGENVECTOR METHODS ---- */ + +/* eigen_positer(): tries to find the Poseno largest positive eigenvalues + * and corresponding eigenvectors of Mat. Mat, Eval, Evec are + * as in eigen_ql(). Poseno<=size of Mat. The actual number + * of positive eigenvalues are returned. + */ +int eigen_positer(int Poseno, const Trimat_& Mat, Vector_& Eval, Sqmat_& Evec) +{ + const double EPS=1e-6; + const int MAXITERNO=100; + + int Evalno, Iterno, i, j, Posevalno=0, Size=Mat.rno(); + if (Poseno>Size) Poseno=Size; + + Trimat_ Matrix(Mat); // original preserved + Vector_ Vec(Size), Oldvec(Size); + double Ev, Oldev; + + Eval.set_values(); Evec.set_values(); // zero output + for (Evalno=0; EvalnoEPS*Oldev); + + if (Iterno>=MAXITERNO) // no convergence :-( + { Evalno--; continue; } + + if (Ev>0) // positive eigenvalue found + { + Eval[Posevalno]=Ev; + Evec.col(Vec, Posevalno); + ++Posevalno; + if (Posevalno==Poseno) // no more positives required + return(Posevalno); // don't do anything else + } + + // deflation + for (i=0; iSize) Poseno=Size; + + Trimat_ Matrix(Mat); // original preserved + + Vector_ Q0(Size), Q1(Size), Q2(Size), Mq1(Size); + double Scale, Ev, Oldev, Realev, Len2; + + Eval.set_values(); Evec.set_values(); // zero output + for (Evalno=0; EvalnoEPS*Oldev); + + if (Iterno>=MAXITERNO) // no convergence :-( + { Evalno--; continue; } + + Realev=Ev*Scale; // get back "real" eigenvalue + Q2.vec_norm(); + if (Realev>0.0) // positive eigenvalue found + { + Eval[Posevalno]=Realev; + Evec.col(Q2, Posevalno); + ++Posevalno; + if (Posevalno==Poseno) // no more positives required + return(Posevalno); // don't do anything else + } + + // deflation (of the scaled thing) + for (i=0; i ) + * and the [1..N] indexing convention is still retained. + * The conventional double array parameters are adjusted in + * the calling routine to the [1..N] convention in the usual way, + * while the matrix array accesses are adjusted through the + * ftn_idx() member function. See the corresponding comments + * in eigen_ql() above. + * The routines now operate on square matrix objects and therefore + * the "size" parameters are not passed explicitly. No rewriting + * was done in the function bodies: these are valid C code still. + * (Some editing and "register" local vars were added by A.A. in + * the old C implementation.) + */ + +/* tred2(): Housholder tridiagonalisation. a is a real, symmetric matrix + * (size n*n). The main diagonal of the tridiag. output is returned in d, + * the second diagonal in e with e[1]==0.0. On return, a contains the + * transformation matrix "Q". 'd' and 'e' are assumed to have the + * correct lengths adjusted before the call. + */ +static void tred2(Sqmat_& a, double *d, double *e) +{ + register int l,k,j,i, n=a.rno(); // get size + register double scale,hh,h,g,f; + + for (i=n;i>=2;i--) { + l=i-1; + h=scale=0.0; + if (l > 1) { + for (k=1;k<=l;k++) + scale += fabs(a[i][k]); + if (scale < QL_EPSILON) + e[i]=a[i][l]; + else { + for (k=1;k<=l;k++) { + a[i][k] /= scale; + h += a[i][k]*a[i][k]; + } + f=a[i][l]; + g = (RND0(f)>0.0) ? -sqrt(h) : sqrt(h); + e[i]=scale*g; + h -= f*g; + a[i][l]=f-g; + f=0.0; + for (j=1;j<=l;j++) { + /* Next statement can be omitted if eigenvectors not wanted */ + a[j][i]=a[i][j]/h; + g=0.0; + for (k=1;k<=j;k++) + g += a[j][k]*a[i][k]; + for (k=j+1;k<=l;k++) + g += a[k][j]*a[i][k]; + e[j]=g/h; + f += e[j]*a[i][j]; + } + hh=f/(h+h); + for (j=1;j<=l;j++) { + f=a[i][j]; + e[j]=g=e[j]-hh*f; + for (k=1;k<=j;k++) + a[j][k] -= (f*e[k]+g*a[i][k]); + } + } + } else + e[i]=a[i][l]; + d[i]=h; + } + /* Next statement can be omitted if eigenvectors not wanted */ + d[1]=e[1]=0.0; + /* Contents of this loop can be omitted if eigenvectors not + wanted except for statement d[i]=a[i][i]; */ + for (i=1;i<=n;i++) { + l=i-1; + if (RND0(d[i])!=0.0) { /* !=0.0 added */ + for (j=1;j<=l;j++) { + g=0.0; + for (k=1;k<=l;k++) + g += a[i][k]*a[k][j]; + for (k=1;k<=l;k++) + a[k][j] -= g*a[k][i]; + } + } + d[i]=(fabs(a[i][i])= Itno) /* too many iters */ + return(1); + g=(d[l+1]-d[l])/(2.0*e[l]); + r=sqrt((g*g)+1.0); + ra=(RND0(g)<0.0) ? -fabs(r) : fabs(r); + g=d[m]-d[l]+e[l]/(g+ra); + s=c=1.0; + p=0.0; + for (i=m-1;i>=l;i--) { + f=s*e[i]; + b=c*e[i]; + if (fabs(f) >= fabs(g)) { + c=g/f; + r=sqrt((c*c)+1.0); + e[i+1]=f*r; + c *= (s=1.0/r); + } else { + s=f/g; + r=sqrt((s*s)+1.0); + e[i+1]=g*r; + s *= (c=1.0/r); + } + g=d[i+1]-p; + r=(d[i]-g)*s+2.0*c*b; + p=s*r; + d[i+1]=g+p; + g=c*r-b; + /* Next loop can be omitted if eigenvectors not wanted */ + for (k=1;k<=n;k++) { + f=z[k][i+1]; + z[k][i+1]=s*z[k][i]+c*f; + z[k][i]=c*z[k][i]-s*f; + } + } + d[l]=d[l]-p; + e[l]=g; + e[m]=0.0; + } + } while (m != l); + } + return(0); +} +/* END of tqli */ + +#undef QL_EPSILON +#undef RND0 + +// ==== END OF FUNCTIONS Ql.c++ ==== diff --git a/lib/cc/src/Rectbase.c++ b/lib/cc/src/Rectbase.c++ new file mode 100644 index 0000000..ba069db --- /dev/null +++ b/lib/cc/src/Rectbase.c++ @@ -0,0 +1,221 @@ +// ==== FUNCTIONS Rectbase.c++ ==== + +/* Abstract base class for rectangular matrices (square and non-square). */ + +// SGI C++ 4.0, IRIX 5.3, 4. May 1995. Andris + +// ----HEADER ---- + +#include "Rectbase.h" + +// ==== Rectbase_ MEMBER FUNCTIONS ==== + +// ---- Constructors ---- + +/* Allocates a Row x Col matrix. Without any arguments, a 3x3 + * matrix will be created. With one argument, the Col parameter + * defaults to 0, which is interpreted as an instruction to create + * a *square* Row x Row matrix. Square matrices may be created + * by Rectbase_(N, N) or Rectbase_(N) or Rectbase_(N, 0). + * All elements will be initialised to 0.0. + */ +Rectbase_::Rectbase_(unsigned int Row, unsigned int Col) +{ + if (!Row) Row=3; // zero rows not accepted + if (!Col) Col=Row; // 0 columns->RowxRow matrix + + Eno=Row*Col; // store matrix dimensions and no. of elements + + // make element array: Rows[] were made by the Matbase_ ctor + double *Elems=alloc_elems(Eno); + if (Elems==NULL) return; + + memset(Elems, 0, Eno*sizeof(double)); // init elements to 0.0 (usually works) + + Rows[0]=Elems; init_rowptrs(Col); +} +// END OF Rectbase_(Row,Col) + +/* Allocate a Row*Col matrix as above and initialise it with + * a traditional double ** style array Arr. It is the caller's + * responsibility to make sure that Arr has the correct dimensions. + * If Arr==NULL then the matrix elements will be set to 0.0 + */ +Rectbase_::Rectbase_(const double **Arr, unsigned int Row, unsigned int Col) +{ + if (!Row) Row=3; // zero rows/cols not accepted + if (!Col) Col=Row; + + Eno=Row*Col; // store matrix dimensions and no. of elements + + // make element array: Rows[] were made by the Matbase_ ctor + double *Elems=alloc_elems(Eno); + if (Elems==NULL) return; + Rows[0]=Elems; init_rowptrs(Col); + + // init elements + register unsigned int i; + if (Arr==NULL) memset(Elems, 0, Eno*sizeof(double)); + else + for (i=0; i=rno()) { prt_err(BAD_ROWRANGE, "(i, j)"); i=0; } + if (j>=cno()) { prt_err(BAD_COLRANGE, "(i, j)"); j=0; } + return(Rows[i][j]); +} +// END OF operator() (const access) + +double& Rectbase_::operator()(unsigned int i, unsigned int j) +{ + if (i>=rno()) { prt_err(BAD_ROWRANGE, "(i, j)"); i=0; } + if (j>=cno()) { prt_err(BAD_COLRANGE, "(i, j)"); j=0; } + return(Rows[i][j]); +} +// END OF operator() (lvalue access) + +/* row(Idx): returns the Idx-th row as a Vector_ object safely. + * row(Vec,Idx): sets the elements in the Idx-th row to the elements + * of the vector Vec, provided Idx is legal and Vec has the right + * number of elements. + */ +Vector_ Rectbase_::row(unsigned int Idx) const +{ + if (Idx>=rno()) { prt_err(BAD_ROWRANGE, "row(Idx)"); Idx=0; } + Vector_ Rowvec(Rows[Idx], cno()); // use the traditional array ctor + return(Rowvec); +} +// END of row(Idx) + +void Rectbase_::row(const Vector_& Vec, unsigned int Idx) +{ + if (Vec.dim()!=cno()) + { prt_err(DIM_MISMATCH, "row(Vec, Idx)"); return; } + if (Idx>=rno()) { prt_err(BAD_ROWRANGE, "row(Vec, Idx)"); Idx=0; } + register double *Row=Rows[Idx]; + register unsigned int i; + for (i=0; i=cno()) { prt_err(BAD_COLRANGE, "col(Idx)"); Idx=0; } + Vector_ Colvec(rno()); + register unsigned int i; + for (i=0; i=cno()) { prt_err(BAD_ROWRANGE, "col(Vec, Idx)"); Idx=0; } + register unsigned int i; + for (i=0; i0 if the k:th eigenvalue failed to + * converge. + */ +int Rsmdiag_::get_evals(const Trimat_& Mat, Vector_& Evals) +{ + int Size=Mat.rno(); + + // init + int Err=0; + + c_idx(); + Qmat=Mat; // working copy + set_size(Size); // adjust array lengths + ftn_idx(); // set to F77 indexing + + // transform Qmat to tridiagonal form + tred_1(); + + // obtain all eigenvalues of the tridiagonal matrix (QL transform) + Err=imt_qlv(); + if (Err) + { + cerr<<"\n? Rsmdiag_::get_evals(): "<0 if the r:th eigenvector failed + * to converge. + */ +int Rsmdiag_::get_evecs(int Evno, Sqmat_& Evecs) +{ + Evecs.set_size(Qmat.rno()); + Evecs.ftn_idx(); + + // generate the first Evno eigenvectors of the tridiagonal matrix + int Err=inv_iter(Evno, Evecs); + if (Err) + { + cerr<<"\n? Rsmdiag_::get_evecs(): "<<(-Err)<<". eigenvector not found\n"; + // ##### + cout<<"Evno="< Safe.small()) { + goto L140; + } + + for (j = 1; j <= l; ++j) + { + d[j] = Qmat[l][j]; + Qmat[l][j] = Qmat[i][j]; + Qmat[i][j] = 0.; + } + +L130: + e[i] = e2[i] = 0.; + continue; + +L140: + d__1=1.0/scale; + for (k = 1; k <= l; ++k) + { + d[k] *= d__1; /* was /= */ + h += d[k] * d[k]; + } + + e2[i] = scale * scale * h; + f = d[l]; + d__1 = sqrt(h); + g = (f>=0.0)? -fabs(d__1): fabs(d__1); /* was g = -d_sign(&d__1, &f); */ + e[i] = scale * g; + h -= f * g; + d[l] = f - g; + if (l == 1) { + goto L285; + } +/* .......... form a*u .......... */ + for (j = 1; j <= l; ++j) e[j] = 0.; + + for (j = 1; j <= l; ++j) + { + f = d[j]; + g = e[j] + Qmat[j][j] * f; + jp1 = j + 1; + if (l >= jp1) + { + for (k = jp1; k <= l; ++k) + { + d__1=Qmat[k][j]; + g += d__1 * d[k]; + e[k] += d__1 * f; + } + } + e[j] = g; + } +/* .......... form p .......... */ + f = 0.; + + d__1=Safe.safe_div(1.0,h,__LINE__); + for (j = 1; j <= l; ++j) + { + e[j] *= d__1; + f += e[j] * d[j]; + } + + h = Safe.safe_div(f,2*h,__LINE__); +/* .......... form q .......... */ + for (j = 1; j <= l; ++j) + e[j] -= h * d[j]; + +/* .......... form reduced a .......... */ + for (j = 1; j <= l; ++j) + { + f = d[j]; + g = e[j]; + + for (k = j; k <= l; ++k) + Qmat[k][j] -= f * e[k] + g * d[k]; + } + +L285: + for (j = 1; j <= l; ++j) + { + f = d[j]; + d[j] = Qmat[l][j]; + Qmat[l][j] = Qmat[i][j]; + Qmat[i][j] = f * scale; + } + } /* for ii */ + +} /* tred1_ */ + +/* imt_qlv(): finds the eigenvalues of an n x n real symmetric tridiagonal + * matrix (main diagonal in d, off-diagonal in e, squares of off-diag + * values in e2, as supplied by tred_1()). The eigenvalues are returned + * in w, sorted in descending order. + * Return value: 0 if OK, j>0 if the j:th eigenvalue was not found + * within MAXITERNO iterations. + */ +int Rsmdiag_::imt_qlv() +{ + const int MAXITERNO=30; + + register double b, c, f, g, p, r, s, tst1, tst2; + register int n=Qmat.rno(), i, j, k, l, m, ii, tag, mml; + int ierr=0; + + double *rv1=(double *) calloc(n, sizeof(double)); /* aux array */ + --rv1; /* adjust ftn idx */ + + k = tag = 0; + + for (i = 1; i <= n; ++i) + { + w[i] = d[i]; + if (i != 1) { + rv1[i - 1] = e[i]; + } + } + + e2[1] = rv1[n] = 0.; + + for (l = 1; l <= n; ++l) { + j = 0; +/* .......... look for Safe.small() sub-diagonal element .......... */ +L105: + for (m = l; m <= n; ++m) { + if (m == n) { + goto L120; + } + tst1=fabs(w[m])+fabs(w[m+1]); + tst2 = tst1 + fabs(rv1[m]); + if (tst2 == tst1) { + goto L120; + } +/* .......... guard against underflowed element of e2 ........ +.. */ + if (fabs(e2[m + 1]) < Safe.small()) { + goto L125; + } +/* L110: */ + } + +L120: + if (m <= k) { + goto L130; + } + if (m != n) { + e2[m + 1] = 0.; + } +L125: + k = m; + ++tag; +L130: + p = w[l]; + if (m == l) { + goto L215; + } + if (j == MAXITERNO) { + ierr=l; goto L1001; /* no convergence */ + } + ++j; +/* .......... form shift .......... */ + g = (w[l + 1] - p) / (rv1[l] * 2.); + r = Safe.pythag(g, 1.0); + g = w[m] - p + rv1[l] / (g + (g>=0.0)? fabs(r): -fabs(r) /*d_sign(&r, &g)*/ ); + s = c = 1.; + p = 0.; + mml = m - l; +/* .......... for i=m-1 step -1 until l do -- .......... */ + for (ii = 1; ii <= mml; ++ii) { + i = m - ii; + f = s * rv1[i]; + b = c * rv1[i]; + r = Safe.pythag(f, g); + rv1[i + 1] = r; + if (fabs(r) < Safe.small()) { + goto L210; + } + s = f / r; + c = g / r; + g = w[i + 1] - p; + r = (w[i] - g) * s + c * 2. * b; + p = s * r; + w[i + 1] = g + p; + g = c * r - b; +/* L200: */ + } + + w[l] -= p; + rv1[l] = g; + rv1[m] = 0.; + goto L105; +/* .......... recover from underflow .......... */ +L210: + w[i + 1] -= p; + rv1[m] = 0.; + goto L105; +/* .......... order eigenvalues .......... */ +L215: + /* order eigenvalues: into _descending_ order + * as opposed to the ascending order in the + * original NETLIB implementation + */ + for (i=1; i=w[i]) /* p will be the i:th */ + { + for (ii=l; ii>i; --ii) /* shift away rest */ + { + w[ii]=w[ii-1]; Index[ii]=Index[ii-1]; + } + break; + } + } + w[i]=p; Index[i]=tag; + +/* L290: */ + } + +L1001: + ++rv1; free(rv1); + e2[1]=2.0; /* descending order */ + return(ierr); +} +/* END of imt_qlv() */ + +/* inv_iter(): generates the eigenvectors belonging to the first m + * eigenvalues (supplied in w) of the n x n real symmetric tridiagonal + * matrix (diagonal in d, off-diagonal in e, squared off-diagonal in + * e2, e2[1]==0.0 if the eigenvalues are in ascending order, 2.0 if + * in descending order: imt_qlv() takes care of this). ind holds + * the index array for the submatrices belonging to the eigenvalues. + * On return, z contains the first m eigenvectors. + * Return value: 0 if OK, -r if the r:th eigenvector failed to converge. + */ +int Rsmdiag_::inv_iter(int m, Sqmat_& z) const +{ + /* f2c-generated variables */ + double d__3, d__4; + + double *rv1, *rv2, *rv3, *rv4, *rv6; /* aux arrays */ + register double norm, u, v, order, x0, x1, uk, xu, eps2, eps3, eps4; + register int n=z.rno(), i, j, p, q, r, s, group, ii, jj, ip, tag, its, ierr=0; + + /* This subroutine is a translation of the inverse iteration technique */ + /* in the algol procedure tristurm by Peters and Wilkinson. */ + /* Handbook for Auto. Comp., Vol.ii-Linear Algebra, 418-439(1971). */ + + /* check for silly values */ + if (!m) return(-1); + m=abs(m); + + /* Alloc aux arrays as one big array */ + rv1=(double *) calloc(5*n, sizeof(double)); --rv1; + rv2=rv1+n; rv3=rv2+n; rv4=rv3+n; rv6=rv4+n; + + tag = 0; + order = 1. - e2[1]; + q = 0; +/* .......... establish and process next submatrix .......... */ +L100: + p = q + 1; + + for (q = p; q <= n; ++q) { + if (q == n) { + goto L140; + } + if (fabs(e2[q + 1])=d__4)? d__3: d__4; /* max(d__3,d__4); */ + } +/* .......... eps2 is the criterion for grouping, */ +/* eps3 replaces zero pivots and equal */ +/* roots are modified by eps3, */ +/* eps4 is taken very Safe.small() to avoid overflow ......... +. */ + eps2 = norm * .001; + eps3 = DBL_EPSILON*norm; // simpler than original: 9-V-98 + uk = (double) (q - p + 1); + eps4 = uk * eps3; + uk = eps4 / sqrt(uk); + s = p; +L505: + group = 0; + goto L520; +/* .......... look for close or coincident roots .......... */ +L510: + if (fabs(x1 - x0) >= eps2) goto L505; + + ++group; + if (order * (x1 - x0) <= 0.) { + x1 = x0 + order * eps3; + } +/* .......... elimination with interchanges and */ +/* initialization of vector .......... */ +L520: + v = 0.; + + for (i = p; i <= q; ++i) { + rv6[i] = uk; + if (i == p) { + goto L560; + } + if (fabs(e[i]) < fabs(u)) goto L540; + +/* .......... warning -- a divide check may occur here if */ +/* e2 array has not been specified correctly ...... +.... */ + xu = Safe.safe_div(u,e[i],__LINE__); + rv4[i] = xu; + rv1[i - 1] = e[i]; + rv2[i - 1] = d[i] - x1; + rv3[i - 1] = 0.; + if (i != q) { + rv3[i - 1] = e[i + 1]; + } + u = v - xu * rv2[i - 1]; + v = -xu * rv3[i - 1]; + goto L580; +L540: + xu = Safe.safe_div(e[i],u,__LINE__); + rv4[i] = xu; + rv1[i - 1] = u; + rv2[i - 1] = v; + rv3[i - 1] = 0.; +L560: + u = d[i] - x1 - xu * v; + if (i != q) { + v = e[i + 1]; + } +L580: + ; + } + + if (fabs(u) < Safe.small()) { + u = eps3; + } + rv1[q] = u; + rv2[q] = 0.; + rv3[q] = 0.; +/* .......... back substitution */ +/* for i=q step -1 until p do -- .......... */ +L600: + for (ii = p; ii <= q; ++ii) { + i = p + q - ii; + rv6[i] = Safe.safe_div(rv6[i] - u * rv2[i] - v * rv3[i],rv1[i],__LINE__); + v = u; + u = rv6[i]; +/* L620: */ + } +/* .......... orthogonalize with respect to previous */ +/* members of group .......... */ + if (group == 0) { + goto L700; + } + j = r; + + for (jj = 1; jj <= group; ++jj) { +L630: + --j; + if (Index[j] != tag) { + goto L630; + } + xu = 0.; + + for (i = p; i <= q; ++i) + xu += rv6[i] * z[i][j]; + for (i = p; i <= q; ++i) + rv6[i] -= xu * z[i][j]; + +/* L680: */ + } + +L700: + norm = 0.; + for (i = p; i <= q; ++i) { +/* L720: */ + norm += fabs(rv6[i]); + } + + if (norm >= 1.) { + goto L840; + } +/* .......... forward substitution .......... */ + if (its == 5) { + goto L830; + } + if (norm>Safe.small()) { + goto L740; + } + rv6[s] = eps4; + ++s; + if (s > q) { + s = p; + } + goto L780; +L740: + xu = eps4 / norm; + + for (i = p; i <= q; ++i) rv6[i] *= xu; + +/* .......... elimination operations on next vector */ +/* iterate .......... */ +L780: + for (i = ip; i <= q; ++i) { + u = rv6[i]; +/* .......... if rv1(i-1) .eq. e(i), a row interchange */ +/* was performed earlier in the */ +/* triangularization process .......... */ + if (rv1[i - 1] != e[i]) { + goto L800; + } + u = rv6[i - 1]; + rv6[i - 1] = rv6[i]; +L800: + rv6[i] = u - rv4[i] * rv6[i - 1]; +/* L820: */ + } + + ++its; + goto L600; +/* .......... set error -- non-converged eigenvector .......... */ +L830: + ierr = -r; + xu = 0.; + goto L870; +/* .......... normalize so that sum of squares is */ +/* 1 and expand to full order .......... */ +L840: + u = 0.; + for (i = p; i <= q; ++i) { +/* L860: */ + u = Safe.pythag(u, rv6[i]); + } + + xu = Safe.safe_div(1.0, u, __LINE__); + +L870: + for (i = 1; i <= n; ++i) z[i][r] = 0.; + for (i = p; i <= q; ++i) z[i][r] = rv6[i] * xu; + x0 = x1; +L920: + ; + } + + if (q < n) { + goto L100; + } + ++rv1; free(rv1); + return(ierr); /* OK */ +} +/* END of inv_iter() */ + +/* tr_bak1(): forms the first m eigenvectors of a real symmetric matrix + * by back-transforming the eigenvectors of the tridiagonal matrix + * constructed by tred_1(). n is the matrix size, "a" contains + * the lower triangle holding the orthogonal transforms as produced + * by tred_1(), "e" holds the subdiagonal of the tridiagonal matrix + * made by tred_1(), m is the number of eigenvectors desired, + * z on input holds the eigenvectors of the tridiagonal matrix + * as constructed by inv_iter(). On output, the transformed + * eigenvectors will be in z's first m columns. + */ +void Rsmdiag_::tr_bak1(int m, Sqmat_& z) const +{ + /* Local variables */ + register int i, j, k, l, n=Qmat.rno(); + register double s; + + /* This subroutine is a translation of the algol procedure trbak1, */ + /* Num. Math. 11, 181-195(1968) by Martin, Reinsch, and Wilkinson. */ + /* Handbook for Auto. Comp., Vol.ii-Linear Algebra, 212-226(1971). */ + + /* Function Body */ + m=abs(m); n=abs(n); + if (!m || n<=1) return; /* rubbish */ + + for (i = 2; i <= n; ++i) + { + l = i - 1; + if (fabs(e[i]) +#include +#include +#include +#include +// ---- MODULE HEADER ---- + +#include "Safety.h" + +// ==== Static initialisation ==== + +const double Safety_::SMALL=sqrt(DBL_MIN)/DBL_EPSILON; // unsafe to do 1.0/SMALL + +// ==== Safety_ MEMBER FUNCTIONS ==== + +// safe_div(): returns Num/Denom if Denom is reliably non-0. +// If it is closer to 0 then the internal parameter SMALL, then +// it will be replaced by 100*SMALL and the division is performed +// with a warning. The line number is printed when greater than 0 (default). +double Safety_::safe_div(double Num, double Denom, int Lineno) const +{ + if (Usesafediv && fabs(Denom)=0.0? 100*SMALL: -100*SMALL; + } + return(Num/Denom); +} +// END of safe_div() + +// pythag(): returns the value sqrt(a^2+b^2) without over- +// or underflows. On some machines the math library contains +// the function hypot(x, y) which does the same job and will be used +// whenever possible. +double Safety_::pythag(double a, double b) const +{ + if (Usehypot) return(hypot(a, b)); + else + { + register double at=fabs(a), bt=fabs(b), ct; + + if (atbt) + { + ct=bt/at; return(at*sqrt(1.0+ct*ct)); + } + else + { + ct=at/bt; return(bt*sqrt(1.0+ct*ct)); + } + } +} +/* END of pythag() */ + +// ==== END OF METHODS Safety.c++ ==== diff --git a/lib/cc/src/Siva.c++ b/lib/cc/src/Siva.c++ new file mode 100644 index 0000000..30a4c28 --- /dev/null +++ b/lib/cc/src/Siva.c++ @@ -0,0 +1,184 @@ +// ==== FUNCTIONS Siva.c++ ==== + +/* Singular value decomposition based on the algorithm + * in Pal Rozsa's book (Linearis algebra es alkalmazasai). + * The two matrices and the weight vector produced by SVD + * are bundled into a little class but access to them is + * public. + */ + +// SGI C++ 3.2.1, IRIX 5.2, 1. Dec. 1994. Andris + +/* ---- HEADER ---- */ + +#include "Siva.h" + +// ==== Siva_ MEMBER FUNCTIONS ==== + +// ---- Constructors ---- + +/* Set up SVD for a Row x Col matrix where Row>=Col. If RowWmax) Wmax=W[i]; + if (W[i]=C)? C: Rorig; + for (i=0; iRorig && !(Bdim==R || Bdim==Rorig)) + { + cerr<<"? Siva_::lin_solve: B has wrong dimensions, nullvector returned\n"; + Vector_ X(C); // a null-vector + return(X); + } + + Vector_ Wub(C); // this will be W*U'*B + // the "fewer eqns than unknowns" case + if (R>Rorig && Bdim==Rorig) + { + cerr<<"? Siva_::lin_solve: fewer eqns ("<& Xa) +{ + if (X.len()!=Xa.len()) + { + cerr<<"? Spl_::x_arr(): Array length mismatch\n"; + return; + } + X=Xa; Ev=0; +} + +void Spl_::y_arr(const Array_& Ya) +{ + if (Y.len()!=Ya.len()) + { + cerr<<"? Spl_::y_arr(): Array length mismatch\n"; + return; + } + Y=Ya; Ev=0; +} +// END of x_arr(), y_arr() + +// ---- FITTING AND EVALUATION ---- + +/* fit_spl(): fits a cubic spline to a series of data points already + * stored in the calling object. Does not do anything if Ev=1. + * yp1,ypn: user-supplied first derivatives at the 1st and last + * points. If they are >=SPL_MAX1DER then the second derivatives are + * assumed to be 0 (natural spline, default) + * Return value: 0 if OK, <0 if something went wrong. + */ +int Spl_::fit_spl(double yp1, double ypn) +{ + if (Ev) return(0); // fitting already done + + int i, k, n=len(); + double p, Qn, Sig, Un, dx; + double *u; + + // init temp array (conventional) + u=new double [n]; + if (u==NULL) return(-2); // out of memory + + if (yp1 >=SPL_MAX1DER) Y2[0] = u[0] = 0.0; + else + { + Y2[0] = -0.5; + u[0] = 3.0 / (X[1] - X[0]) * ((Y[1] - Y[0]) / (X[1] - X[0]) - yp1); + } + + for (i = 2; i < n; i++) + { + Sig = (X[i - 1] - X[i - 2]) / (X[i] - X[i - 2]); + p = Sig * Y2[i - 2] + 2.0; + Y2[i - 1] = (Sig - 1.0) / p; + u[i - 1] = (Y[i] - Y[i - 1]) / (X[i] - X[i - 1]) - + (Y[i - 1] - Y[i - 2]) / (X[i - 1] - X[i - 2]); + u[i - 1] = (6.0 * u[i - 1] / (X[i] - X[i - 2]) - Sig * u[i - 2]) / p; + } + + if (ypn >=SPL_MAX1DER) Qn = Un = 0.0; + else + { + Qn = 0.5; + Un = 3.0 / (X[n - 1] - X[n - 2]) * + (ypn - (Y[n - 1] - Y[n - 2]) / (X[n - 1] - X[n - 2])); + } + + Y2[n - 1] = (Un - Qn * u[n - 2]) / (Qn * Y2[n - 2] + 1.0); + for (k = n - 1; k >= 1; k--) + Y2[k - 1] = Y2[k - 1] * Y2[k] + u[k - 1]; + + // calculating the integral + Yin[0] = 0.0; + for (k = 2; k <= n; k++) + { + dx = X[k - 1] - X[k - 2]; + Yin[k - 1] = dx * (Y[k - 1] + Y[k - 2]) / 2 - + dx * dx * dx * (Y2[k - 1] + Y2[k - 2]) / 24 + Yin[k - 2]; + } + + delete [] u ; Ev=1; + return(0); /* OK */ +} +// END of fit_spl() + +/* eval_spl: evaluates a spline at a point xi. If xi is out of + * range then 0.0 is returned. Otherwise the return value is y(xi). + * Adapted from Numerical Recipes. + * The derivatives and the integral are returned only if + * they are not NULL: this way, the user can calc any combination + * of the first three derivatives and the integral. + * xi: interpolation point + * Der1..3: 1st..3rd derivative of y at xi + * Integ: definite integral of y(x) between X[0] and xi. + * The derivative and integral ptrs are NULL by default. + * Prints a warning and returns 0.0 if the values were modified (Ev=0). + */ +double Spl_::eval_spl(double xi, double *Der1, double *Der2, + double *Der3, double *Integ) const +{ + if (!Ev) // re-fitting necessary + { + cerr<<"? Spl_::eval_spl(): Data modified, please call fit_spl()\n"; + return(0.0); + } + + int kl, kh, k, n=len(); + double a, b, h, yh, yl, y2h, y2l, dx, yi; + + /* locate the position of xi: this is also coded in a separate + * routine pos_finder() below. 0.0 is returned if xi was out of + * the range or some other error occurred. + */ + if (xi > X[n - 1] || xi < X[0]) + { + if (Der1!=NULL) (*Der1)=0.0; // out of range + if (Der2!=NULL) (*Der2)=0.0; + if (Der3!=NULL) (*Der3)=0.0; + if (Integ!=NULL) (*Integ)=0.0; + cerr<<"? Spl_::eval_spl(): X="< 1) + { + k = (kh + kl) / 2; + if (X[k - 1] > xi) kh = k; + else kl = k; + } + h = X[kh - 1] - X[kl - 1]; // length of the interval + if (h == 0.0) + { + if (Der1!=NULL) (*Der1)=0.0; // zero interval length + if (Der2!=NULL) (*Der2)=0.0; + if (Der3!=NULL) (*Der3)=0.0; + if (Integ!=NULL) (*Integ)=0.0; + cerr<<"? Spl_::eval_spl(): Zero interval length\n"; + return(0.0); + } + + a = (X[kh - 1] - xi) / h; b = 1 - a; // useful temps + yh = Y[kh - 1]; yl = Y[kl - 1]; + y2h = Y2[kh - 1]; y2l = Y2[kl - 1]; + + // value + yi = a * yl + b * yh + + ((a * a * a - a) * y2l + (b * b * b - b) * y2h) * h * h / 6.0; + + // derivatives + if (Der1!=NULL) + *Der1 = (yh - yl) / h + h * ((1 - 3 * a * a) * y2l + (3 * b * b - 1) * y2h) / 6; + if (Der2!=NULL) + *Der2 = a * y2l + b * y2h; + if (Der3!=NULL) + *Der3 = (y2h - y2l) / h; + + // integral + if (Integ!=NULL) + { + dx = xi - X[kl - 1]; + *Integ = dx * (yi + yl) / 2 - dx * dx * dx * + (a * y2l + b * y2h + y2l) / 24 + Yin[kl - 1]; + } + + return(yi); +} +// END of eval_spl() + +/* integ_spl(): returns the definite integral of the spline Spl + * between Low and Up or 0.0 if range error. + */ +double Spl_::integ_spl(double Low, double Up) const +{ + if (!Ev) // re-fitting necessary + { + cerr<<"? Spl_::integ_spl(): Data modified, please call fit_spl()\n"; + return(0.0); + } + + int n=len(); + if (Low < X[0] || Low > X[n - 1] || Up < X[0] || Up > X[n - 1]) + { + cerr<<"? Spl_::integ_spl(): limit(s) out of range\n"; + return(0.0); + } + + if (Low <= Up) + return (int_0x(Up) - int_0x(Low)); + else + return (int_0x(Low) - int_0x(Up)); +} +// END of integ_spl() + +/* int_0x(): returns the definite integral of the spline between X[0] and xi. + * xi is assumed to be within the legal range (this method is called + * by integ_spl() only and is private). + */ +double Spl_::int_0x(double xi) const +{ + int kl, kh, k, n=len(); + double a, b, h, yi, yh, yl, Der2, y2h, y2l, dx; + + // find the smallest interval containing xi + kl = 1; kh = n; + while (kh - kl > 1) + { + k = (kh + kl) / 2; + if (X[k - 1] > xi) kh = k; else kl = k; + } + + h = X[kh - 1] - X[kl - 1]; // length of the interval + if (h == 0.0) return(0.0); + + a = (X[kh - 1] - xi) / h; b = 1 - a; + yh = Y[kh - 1]; yl = Y[kl - 1]; + y2h = Y2[kh - 1]; y2l = Y2[kl - 1]; + + yi = a * yl + b * yh + + ((a * a * a - a) * y2l + (b * b * b - b) * y2h) * h * h / 6.0; + // value + Der2 = a * y2l + b * y2h; + dx = xi - X[kl - 1]; + return (dx * (yi + yl) / 2 - dx * dx * dx * (Der2 + y2l) / 24 + Yin[kl - 1]); +} +// END of int_0x() + +// ==== END OF Spl_ METHODS ==== + +// ==== END OF FUNCTIONS Spl.c++ ==== diff --git a/lib/cc/src/Sqbase.c++ b/lib/cc/src/Sqbase.c++ new file mode 100644 index 0000000..41f9217 --- /dev/null +++ b/lib/cc/src/Sqbase.c++ @@ -0,0 +1,55 @@ +// ==== METHODS Sqbase.c++ ==== + +/* Abstract base class for square (and triangular) matrices. */ + +// SGI C++ 4.0, IRIX 5.3, 3. May 1995. Andris Aszodi + +// ---- HEADER ---- + +#include "Sqbase.h" + +// ==== METHODS ==== + +// ---- Diagonal access ---- + +/* diag(): copies the diagonal into a Vector_ object. + * diag(Vec): sets the diagonal to the values in the Vector_ object Vec. + * If the dimensions don't match, no action is taken. + */ +Vector_ Sqbase_::diag() const +{ + Vector_ Diag(rno()); + for (register unsigned int i=0; iSize)? Size: R; + for (i=0; iMax) Max=Val; + Sx2+=(Val*Val); + return(*this); +} +// END of += + +/* min(), max(): return the minimal/maximal value or 0.0 if + * there were no data items (w/ a warning). + */ +double Stat_::min() const +{ + if (!N) + { + cerr<<"? Stat_::min(): no data items\n"; + return(0.0); + } + else return(Min); +} + +double Stat_::max() const +{ + if (!N) + { + cerr<<"? Stat_::max(): no data items\n"; + return(0.0); + } + else return(Max); +} +// END of min(), max() + +/* avg(): returns the average. Prints a warning and returns 0.0 if + * there were no data items at all. + */ +double Stat_::avg() const +{ + if (!N) + { + cerr<<"? Stat_::avg(): no data items\n"; + return(0.0); + } + else return(Sx/N); +} +// END of avg() + +/* sd(): returns the standard deviation. Prints a warning and returns 0.0 + * if there were no data items at all. If N=1, 0.0 is returned automatically. + */ +double Stat_::sd() const +{ + if (!N) + { + cerr<<"? Stat_::sd(): no data items\n"; + return(0.0); + } + if (N==1) return(0.0); + double Xavg=Sx/N; + double Numer=Sx2-N*Xavg*Xavg; + return((fabs(Numer) + +// ---- CLASS HEADER ---- + +#include "String.h" + +// ==== String_ METHODS ==== + +// ---- Constructors ---- + +/* Inits to store N characters (default 0). Allocates space for N+1 + * chars, terminates with \0. Clears to all-zero. + */ +String_::String_(unsigned int N): Len(N+1) +{ + S=new char [N+1]; memset(S, 0, N+1); +} + +/* Inits with a conventional C string Sc. If Sc==NULL then a 1-char + * empty string is allocated within. + */ +String_::String_(const char *Sc) +{ + if (Sc==NULL) + { + S=new char [Len=1]; *S='\0'; + } + else + { + S=new char [Len=strlen(Sc)+1]; S[Len-1]='\0'; + strcpy(S, Sc); + } +} + +/* The copy constructor */ +String_::String_(const String_& Str) +{ + S=new char [Len=Str.Len]; strcpy(S, Str.S); + S[Len-1]='\0'; +} + +/* Assignment */ +String_& String_::operator=(const String_& Str) +{ + if (this==&Str) return(*this); // x=x + if (Len!=Str.Len) + { + // realloc needed + delete [] S; + S= new char [Len=Str.Len]; + } + memcpy(S, Str.S, Len); + return(*this); +} +// END of = + +// ---- num->str conversion ---- + +/* long_str(): converts the (signed) long value L to its base-10 + * string representation and stores it in the calling object. + */ +void String_::long_str(long L) +{ + ostrstream Os; // use incore formatting + Os<=max_len()) + { + cerr<<"\n? const String_["<=max_len()) + { + cerr<<"\n? String_["<Olen)? Olen: L); + if (Olen>L) Snew[L-1]='\0'; else memset(Snew+Olen, 0, L-Olen); + delete [] S; S=Snew; Len=L; + return(Olen-1); +} +// END of max_len(L) + +// ---- Concatenation ---- + +/* S+=Str: appends Str to S and returns S. + * S+Str: appends Str to S and returns the resulting object. + */ +String_& String_::operator+=(const String_& Str) +{ + if (!Str) return(*this); // Str was empty, do nothing + + unsigned int Ls=strlen(Str.S); + char *Snew=new char [Len=strlen(S)+Ls+1]; + strcpy(Snew, S); strcat(Snew, Str.S); + delete [] S; S=Snew; + return(*this); +} +// END of += + +String_ String_::operator+(const String_& Str) const +{ + String_ Stemp(*this); + Stemp+=Str; + return(Stemp); +} +// END of + + +// ---- Input/Output ---- + +/* In>>Str: Skips whitespaces and reads non-whitespace chars into + * Str until it gets filled up or a whitespace is encountered. Will NOT + * adjust the length of Str dynamically! + */ +istream& operator>>(istream& In, String_& Str) +{ + if (!In) return(In); // error state was set, do nothing + In>>setw(Str.max_len()+1)>>(Str.S); // do the read + return(In); +} +// END of >> + +/* Out<b)? a: b); + } + + static double sign(double a, double b) + { + return((b>=0.0)? fabs(a): -fabs(a)); + } +} + +// ==== Static initialisation ==== + +const Safety_ Svd_::Safe; // see Safety.h for defaults + +// ==== Svd_ MEMBER FUNCTIONS ==== + +// ---- AUXILIARIES ---- + +/* utb(): the vector B is premultiplied by the transpose of the + * U matrix in the decomposition and the result is placed into + * Utb. Dim checks are not carried out. Private + */ +inline +void Svd_::utb(const Vector_& B, Vector_& Utb) const +{ + register unsigned int i, j; + register double Temp; + + for (j=0; j=Col. If Row=A.cno()) U=A; + else // copy rows only + { + for (unsigned int i=0; iWmax) Wmax=W[i]; + if (W[i]=C)? C: Rorig; + for (i=0; iRorig && !(Bdim==R || Bdim==Rorig)) + { + cerr<<"\n? Svd_::lin_solve: B has wrong dimensions, nullvector returned\n"; + cerr<<"R="<Rorig && Bdim==Rorig) + { + cerr<<"\n? Svd_::lin_solve: fewer eqns ("<0 on error, + * SVD_ITMAX in particular if iteration limit (hardcoded) exceeded. Private + */ +int Svd_::svd_core() +{ + const int SVD_ITMAX=30, m=R, n=C; // max. itno, row and column size + register int flag,i,its=1,j,jj,k,l,nm; + int Retval=0; + register double anorm=0.0,c,f,g=0.0,h,s,scale=0.0,recscale, x,y,z; + register double *rv1, *Warr; + + /* FORTRAN indexing: the matrices are converted to [1..m][1..n] + * here. There is no corresponding member function in my Vector_ + * class so temp vectors are allocated as C arrays and + * the idx shift is done on them. W gets its value at the end + * at the expense of a copy. + */ + U.ftn_idx(); V.ftn_idx(); + rv1=new double [n]; rv1--; + Warr=new double [n]; Warr--; + + for (i=1;i<=n;i++) { + l=i+1; + rv1[i]=scale*g; + g=s=scale=0.0; + if (i <= m) { + for (k=i;k<=m;k++) scale += fabs(U[k][i]); + if (scale>Safe.small()) + { + recscale=1.0/scale; + for (k=i;k<=m;k++) { + U[k][i] *= recscale; + s += U[k][i]*U[k][i]; + } + f=U[i][i]; + g = -sign(sqrt(s),f); + h=Safe.safe_div(1.0,f*g-s,__LINE__); + U[i][i]=f-g; + for (j=l;j<=n;j++) { + for (s=0.0,k=i;k<=m;k++) s += U[k][i]*U[k][j]; + f=s*h; + for (k=i;k<=m;k++) U[k][j] += f*U[k][i]; + } + for (k=i;k<=m;k++) U[k][i] *= scale; + } + } + Warr[i]=scale *g; + g=s=scale=0.0; + if (i <= m && i != n) { + for (k=l;k<=n;k++) scale += fabs(U[i][k]); + if (scale>Safe.small()) + { + recscale=1.0/scale; + for (k=l;k<=n;k++) { + U[i][k] *= recscale; + s += U[i][k]*U[i][k]; + } + f=U[i][l]; + g = -sign(sqrt(s),f); + h=Safe.safe_div(1.0,f*g-s,__LINE__); + U[i][l]=f-g; + for (k=l;k<=n;k++) rv1[k]=U[i][k]*h; + for (j=l;j<=m;j++) { + for (s=0.0,k=l;k<=n;k++) s += U[j][k]*U[i][k]; + for (k=l;k<=n;k++) U[j][k] += s*rv1[k]; + } + for (k=l;k<=n;k++) U[i][k] *= scale; + } + } + anorm=max(anorm,(fabs(Warr[i])+fabs(rv1[i]))); + } + for (i=n;i>=1;i--) { + if (i < n) { + if (fabs(g)>Safe.small()) { + g=1.0/g; + for (j=l;j<=n;j++) + V[j][i]=(U[i][j]/U[i][l])*g; + for (j=l;j<=n;j++) { + for (s=0.0,k=l;k<=n;k++) s += U[i][k]*V[k][j]; + for (k=l;k<=n;k++) V[k][j] += s*V[k][i]; + } + } + for (j=l;j<=n;j++) V[i][j]=V[j][i]=0.0; + } + V[i][i]=1.0; + g=rv1[i]; + l=i; + } + for (i=(m=1;i--) { + l=i+1; + g=Warr[i]; + for (j=l;j<=n;j++) U[i][j]=0.0; + if (fabs(g)>Safe.small()) { + g=1.0/g; + for (j=l;j<=n;j++) { + for (s=0.0,k=l;k<=m;k++) s += U[k][i]*U[k][j]; + f=Safe.safe_div(s,U[i][i],__LINE__); + f*=g; + for (k=i;k<=m;k++) U[k][j] += f*U[k][i]; + } + for (j=i;j<=m;j++) U[j][i] *= g; + } else for (j=i;j<=m;j++) U[j][i]=0.0; + (U[i][i])++; + } + for (k=n;k>=1;k--) { + for (its=1;its<=SVD_ITMAX;its++) { + flag=1; + for (l=k;l>=1;l--) { + nm=l-1; + if ((fabs(rv1[l])+anorm) == anorm) { + flag=0; + break; + } + if ((fabs(Warr[nm])+anorm) == anorm) break; + } + if (flag) { + c=0.0; + s=1.0; + for (i=l;i<=k;i++) { + f=s*rv1[i]; + rv1[i]=c*rv1[i]; + if ((fabs(f)+anorm) == anorm) break; + g=Warr[i]; + h=Safe.pythag(f,g); + Warr[i]=h; + h=Safe.safe_div(1.0,h,__LINE__); + c=g*h; + s = -f*h; + for (j=1;j<=m;j++) { + y=U[j][nm]; + z=U[j][i]; + U[j][nm]=y*c+z*s; + U[j][i]=z*c-y*s; + } + } + } + z=Warr[k]; + if (l == k) { + if (z < 0.0) { + Warr[k] = -z; + for (j=1;j<=n;j++) V[j][k] = -V[j][k]; + } + break; + } + + // trouble, leave... + if (its == SVD_ITMAX) + { + cerr<<"\n? Svd_::svd_core(): No convergence\n"; + Retval=SVD_ITMAX; // non-zero + goto ERROR; + } + + x=Warr[l]; + nm=k-1; + y=Warr[nm]; + g=rv1[nm]; + h=rv1[k]; + f=Safe.safe_div((y-z)*(y+z)+(g-h)*(g+h),(2.0*h*y),__LINE__); + g=Safe.pythag(f,1.0); + if (fabs(x)Safe.small()) { + z=1.0/z; + c=f*z; + s=h*z; + } + f=c*g+s*y; + x=c*y-s*g; + for (jj=1;jj<=m;jj++) { + y=U[jj][j]; + z=U[jj][i]; + U[jj][j]=y*c+z*s; + U[jj][i]=z*c-y*s; + } + } + rv1[l]=0.0; + rv1[k]=f; + Warr[k]=x; + } + } + + // get back to C indexing and clean up + // on error, non-0 is returned + ERROR: + U.c_idx(); V.c_idx(); + Warr++; rv1++; + delete [] rv1; + if (!Retval) W=Vector_(Warr, n); // was OK, copy weight vector + delete [] Warr; + return(Retval); +} +#undef PYTHAG +// END of svd_core() + +// ---- GLOBAL FUNCTIONS ---- + +/* <<: the overloaded output operator. Prints a neat listing to Out */ +ostream& operator<<(ostream& Out, const Svd_& Svd) +{ + Out<i) + * then the two will be swapped (Trimat_s are symm square matrices). + * Note that there are two versions of this function; one for + * const access, the other for modifiable lvalues. + */ +double Trimat_::operator()(unsigned int i, unsigned int j) const +{ + if (i>=R) { prt_err(BAD_ROWRANGE, "(i, j)"); i=0; } + if (j>=R) { prt_err(BAD_COLRANGE, "(i, j)"); j=0; } + return((i>=j)? Rows[i][j]: Rows[j][i]); // lower triangle! +} + +double& Trimat_::operator()(unsigned int i, unsigned int j) +{ + if (i>=R) { prt_err(BAD_ROWRANGE, "(i, j)"); i=0; } + if (j>=R) { prt_err(BAD_COLRANGE, "(i, j)"); j=0; } + return((i>=j)? Rows[i][j]: Rows[j][i]); // lower triangle! +} + +/* row(Idx): returns the Idx-th row as a Vector_ object. The row + * is "logical", i.e. the row of the symmetric square matrix + * corresponding to Trimat. Physically, the Idx-th row is copied + * up to the main diagonal, then the Idx-th column down from the + * main diag completes the operation. + * row(Vec, Idx): sets the elements in the Idx-th logical row to the elements + * of the vector Vec, provided Idx is legal and Vec has the right + * number of elements. + * Note that the col() method simply calls the corresponding row() + * because of the symmetry. + */ +Vector_ Trimat_::row(unsigned int Idx) const +{ + if (Idx>=R) { prt_err(BAD_ROWRANGE, "get_row(Idx)"); Idx=0; } + Vector_ Rowvec(R); + register unsigned int i; + + for (i=0; i<=Idx; i++) Rowvec[i]=Rows[Idx][i]; // copy row + for (i=Idx+1; i=R) { prt_err(BAD_ROWRANGE, "set_row(Idx)"); Idx=0; } + register unsigned int i; + + for (i=0; i<=Idx; i++) Rows[Idx][i]=Vec[i]; + for (i=Idx+1; i=Dim) { prt_err(BAD_IDX, "()"); Idx=0; } + return(X[Idx]); +} + +double& Vector_::operator()(unsigned int Idx) +{ + if (Idx>=Dim) { prt_err(BAD_IDX, "()"); Idx=0; } + return(X[Idx]); +} + +/* get_array(): constructs and returns a conventional array + * which contains the coordinates. Returns the dimension in Len. + * If allocation fails, NULL is returned (Len will not be changed). + */ +double* Vector_::get_array(unsigned int& Len) const +{ + double *Arr=new double [Dim]; + if (Arr==NULL) { prt_err(NO_MEM, "get_array()"); return(NULL); } + memcpy(Arr, X, Dim*sizeof(double)); Len=Dim; + return(Arr); +} +// END of get_array() + +/* set_values(): sets all coordinates to Val (default=0.0) */ +Vector_& Vector_::set_values(double Val) +{ + register unsigned int i; + for (i=0; iDim, then the + * old Dim coordinates will be padded up by 0.0. + */ +void Vector_::dim(unsigned int N) +{ + if (N==Dim) return; // do nothing + + double *New=new double [N]; // allocate storage for new items + if (New==NULL) { prt_err(NO_MEM, "set_dim()"); return; } + + memcpy(New, X, ((N>Dim)? Dim: N)*sizeof(double)); // copy old + delete [] X; X=New; // replace old data members with new + if (N>Dim) memset(X+Dim, 0, (N-Dim)*sizeof(double)); // pad with zeroes + Dim=N; // now you may adjust the dimension + return; +} +// END of dim(N) + +// ---- Arithmetics ---- + +/* Assignment, vector addition and subtraction, postfix + * multiplication and division by scalar. All operations + * are available in in-place versions as well. The assignment + * is destructive, it resets the dimension of the target. + * In case of a dim mismatch, the += and -= operators + * do not modify the target, the + and - operators return + * the left operand. + */ + +Vector_& Vector_::operator=(const Vector_& Vec) +{ + if (this==&Vec) return(*this); // x=x + + double *New=new double [Vec.Dim]; + if (New==NULL) { prt_err(NO_MEM, "="); return(*this); } + Dim=Vec.Dim; + delete [] X; X=New; memcpy(X, Vec.X, Dim*sizeof(double)); + return(*this); +} +// END of operator= + +Vector_ Vector_::operator+(const Vector_& Vec) const +{ + if (Dim!=Vec.Dim) { prt_err(DIM_MISMATCH, "Vec+Vec"); return(*this); } + Vector_ Temp(*this); + Temp+=Vec; return(Temp); +} + +Vector_& Vector_::operator+=(const Vector_& Vec) +{ + if (Dim!=Vec.Dim) { prt_err(DIM_MISMATCH, "Vec+=Vec"); return(*this); } + unsigned int i; + for (i=0; i +Array_::Array_(unsigned int N) +{ + A=NULL; Len=0; + if (!N) return; // empty array + + if ((A=new T_ [N])==NULL) prt_error(ARRAY_NO_MEM, "Array_(N)"); + else Len=N; +} + +/* Init to N-dimensional array and set all elements to Item. */ +template +Array_::Array_(const T_& Item, unsigned int N) +{ + A=NULL; Len=0; + if (!N) return; // empty array + + if ((A=new T_ [N])==NULL) prt_error(ARRAY_NO_MEM, "Array_(N)"); + else Len=N; + + for (register unsigned int i=0; i +Array_::Array_(const T_ Arr[], unsigned int N) +{ + A=NULL; Len=0; + if (!N || Arr==NULL) return; + if ((A=new T_ [N])==NULL) prt_error(ARRAY_NO_MEM, "Array_(Arr, N)"); + else + { + Len=N; + if (Arr!=NULL) + { + unsigned int i; + for (i=0; i +Array_::Array_(const Array_& Arr) +{ + A=NULL; Len=0; + if (!Arr.Len) return; // init with empty array + + if ((A=new T_ [Arr.Len])==NULL) prt_error(ARRAY_NO_MEM, "Array_(Arr)"); + else + { + unsigned int i; Len=Arr.Len; + for (i=0; i +T_& Array_::operator()(unsigned int Idx) +{ + if (A==NULL) { prt_error(ARRAY_EMPTY_ACCESS, "Array(i)"); abort(); } + if (Idx>=Len) { prt_error(ARRAY_BAD_RANGE, "Array(i)"); abort(); } + return(A[Idx]); +} + +template +const T_& Array_::operator()(unsigned int Idx) const +{ + if (A==NULL) { prt_error(ARRAY_EMPTY_ACCESS, "Array(i)"); abort(); } + if (Idx>=Len) { prt_error(ARRAY_BAD_RANGE, "Array(i)"); abort(); } + return(A[Idx]); +} + +// ---- Conventional (C-style) array conversion ---- + +/* array(N): creates an array of T_ objects and copies the + * contents of the calling Array_ object into it. Returns the + * address. Also returns the length of the array in N. + * If there is no memory or the object was empty, + * then NULL is returned and N==0. + */ +template +T_* Array_::array(unsigned int& N) const +{ + if (!Len || A==NULL) { N=0; return(NULL); } // calling object was empty + + T_ *Arr; + unsigned int i; + + Arr=new T_ [Len]; + if (Arr==NULL) + { + prt_error(ARRAY_NO_MEM, "array(&N)"); + N=0; return(NULL); + } + for (i=0; i +Array_& Array_::array(const T_ Arr[], unsigned int N) +{ + if (Arr==NULL || !N) // make empty array + { + delete [] A; A=NULL; Len=0; + return(*this); + } + + if (N!=Len) + { + T_ *New=new T_ [N]; + if (New==NULL) // no mem available, do nothing + { + prt_error(ARRAY_NO_MEM, "array(Arr, N)"); + return(*this); + } + else + { + delete [] A; A=New; Len=N; + } + } + unsigned int i; + for (i=0; i +Array_& Array_::set_values(const T_& Val) +{ + if (!Len || A==NULL) return(*this); // empty array, no action is taken + + for (unsigned int i=0; iLen, then the + * items after the first Len are undefined. + * Returns the old length. + */ +template +unsigned int Array_::len(unsigned int N) +{ + if (N==Len) return(Len); // same size, do nothing + + unsigned int Oldlen=Len; // save old size + if (!N) + { // make empty array + delete [] A; A=NULL; Len=0; + return(Oldlen); + } + + T_ *New; // allocate storage for new items + New=new T_ [N]; + if (New==NULL) { prt_error(ARRAY_NO_MEM, "len(N)"); return(Oldlen); } + unsigned int i; + for (i=0; i<((N>Len)? Len: N); i++) New[i]=A[i]; + delete [] A; A=New; + Len=N; + return(Oldlen); +} +// END of len(N) + +// ---- Assignment ---- + +template +Array_& Array_::operator=(const Array_& Arr) +{ + if (this==&Arr) return(*this); // x=x: do nothing + + if (!Arr.Len) // total destruction: x=(empty) + { + delete [] A; A=NULL; Len=0; + return(*this); + } + + if (Len!=Arr.Len) // re-allocation is necessary + { + T_ *New=new T_ [Arr.Len]; + if (New==NULL) // no mem available, do nothing + { + prt_error(ARRAY_NO_MEM, "="); + return(*this); + } + else + { + delete [] A; A=New; Len=Arr.Len; + } + } + unsigned int i; + for (i=0; i +void Array_::prt_error(Array_Errtype_ Etyp, const char *Funcnm) const +{ + cerr << "\a\n? Array_::" << Funcnm <<": "; + switch(Etyp) + { + case ARRAY_NO_MEM: + cerr << "Out of memory\n"; break; + case ARRAY_BAD_RANGE: + cerr << "Index out of range\n"; break; + case ARRAY_EMPTY_ACCESS: + cerr<< "Access to empty array attempted\n"; break; + default: + cerr << "Error (no code available)\n"; break; + } +} +// END of prt_error() + +// ==== END OF FUNCTIONS Array.c++ ==== + +#endif /* ARRAY_TMPL_DEFS */ diff --git a/lib/cc/tmpl/Array.h b/lib/cc/tmpl/Array.h new file mode 100644 index 0000000..c043d4f --- /dev/null +++ b/lib/cc/tmpl/Array.h @@ -0,0 +1,115 @@ +#ifndef ARRAY_TMPL_DECLS +#define ARRAY_TMPL_DECLS + +// ==== HEADER Array.h ==== + +/* A general array template with optional safe indexing. */ + +// SGI C++ 4.0, IRIX 5.3, 7. Mar. 1996. Andris + +// ---- STANDARD HEADERS ---- + +#include +#include + +// ==== CLASSES ==== + +/* Class Array_: a simple 1D array template with safe + * indexing and re-allocation capabilities. + */ +template +class Array_ +{ + // data + T_ *A; // address of the array (NULL if empty) + unsigned int Len; // length of array (0 if empty) + + // functions + public: + + // constructors + /* init to N-dimensional array with undefined elements. + * Default dim is 0. + */ + Array_(unsigned int N=0); + + /* Init to N-dimensional array and set all elements to Item. */ + Array_(const T_& Item, unsigned int N); + + /* init to values contained in the array Arr[] which is assumed + * to be N items long. If Arr==NULL or N==0, then a 0-dimensional + * array is created. + */ + Array_(const T_ Arr[], unsigned int N); + + /* init by another Array_ Arr. */ + Array_(const Array_& Arr); + + // destructor + ~Array_() { delete [] A; Len=0; } + + // unsafe member access + /* The Idx value is not checked. */ + T_& operator[](unsigned int Idx) { return(A[Idx]); } + const T_& operator[](unsigned int Idx) const { return(A[Idx]); }; + + // safe member access + + /* Safe access is implemented by overloading the function call + * operator (). This is a convention I'm going to stick to: + * the index operator [] will be used for unsafe access. + */ + T_& operator()(unsigned int Idx); + const T_& operator()(unsigned int Idx) const; + + // conventional (C-style) array conversion + /* array(N): creates an array of T_ objects and copies the + * contents of the calling Array_ object into it. Returns the + * address. Also returns the length of the array in N. + * If there is no memory or the object was empty, + * then NULL is returned and N==0. + */ + T_* array(unsigned int& N) const; + + /* array(Arr[],N): sets the array values to those contained in Arr[] + * which is assumed to be N items long. It is the programmer's + * responsibility to make sure this is so. If Arr is not NULL + * and N!=0, then the old array values are thrown away, the + * new length will be set to N and N objects from Arr[] will be copied. + * If either Arr==NULL or N==0 then an empty object is made. + * Returns the calling object. + */ + Array_& array(const T_ Arr[], unsigned int N); + + /* set_values(): sets all items to Val. Returns calling object. */ + Array_& set_values(const T_& Val); + + // size access + /* len(): with no arguments, returns the actual length. + * With an uint argument N, sets the length to N. If N==Len or there is + * no memory available, no action is taken. if NLen, then the + * items after the first Len are undefined. + * Returns the old length. + */ + unsigned int len() const { return(Len); } + unsigned int len(unsigned int N); + + // assignment + Array_& operator=(const Array_& Arr); + + private: + // error messages + enum Array_Errtype_ {ARRAY_NO_MEM, ARRAY_BAD_RANGE, ARRAY_EMPTY_ACCESS}; + void prt_error(Array_Errtype_ Etyp, const char *Funcnm) const; + +}; +// END OF CLASS Array_ + +#ifdef INCLUDE_TMPL_DEFS +#include "Array.c++" +#endif + +// ==== END OF HEADER Array.h ==== + +#endif /* ARRAY_TMPL_DECLS */ diff --git a/lib/cc/tmpl/List1.c++ b/lib/cc/tmpl/List1.c++ new file mode 100644 index 0000000..79d97bf --- /dev/null +++ b/lib/cc/tmpl/List1.c++ @@ -0,0 +1,338 @@ +#ifndef LIST1_TMPL_DEFS +#define LIST1_TMPL_DEFS + +// ==== TEMPLATE DEFINITIONS List1.c++ ==== + +/* Unidirectional linked list templates. */ + +// SGI C++ 4.0, IRIX 5.3, 7. Mar. 1996. Andris Aszodi + +// ==== Listhnd1_ METHODS ==== + +// ---- Assignment ---- + +/* = : Creates an almost exact copy of the rhs in the lhs. Note that the + * Ptrno is unchanged! This assignment is used in the "deep copy" + * methods of the List1_ class. + */ +template +Listhnd1_& Listhnd1_::operator=(const Listhnd1_& Rhs) +{ + if (this==&Rhs) return(*this); // x=x + + Item1_ *Ocp, *Cp, *Prev; + + // copy items into existing storage in lhs + for (Cp=Head, Ocp=Rhs.Head; Cp!=NULL && Ocp!=NULL; Prev=Cp, Cp=Cp->Next, Ocp=Ocp->Next) + Cp->Value=Ocp->Value; + + if (Cp==NULL && Ocp!=NULL) // rhs is longer, add its tail to lhs + while (Ocp!=NULL) + { + if (Tail==NULL) // was empty + { + Head=Tail=new Item1_(Ocp->Value); + } + else + { + Tail->Next=new Item1_(Ocp->Value); + Tail=Tail->Next; + } + Ocp=Ocp->Next; + } + else if (Cp!=NULL && Ocp==NULL) // lhs is longer, truncate + { + for (Item1_ *Del=Cp; Del!=NULL; Del=Cp) + { + Cp=Del->Next; delete Del; + } + Tail=Prev; Tail->Next=NULL; + } + Len=Rhs.Len; + return(*this); +} +// END of = + +// ---- Memory management ---- + +/* make_copy(): constructs a copy of the calling list. The beginning + * and end of the new list will be returned in Beg and End. + * Return value: the length of the new list. Private + */ +template +unsigned int Listhnd1_::make_copy(Item1_*& Beg, Item1_*& End) const +{ + if (!Len) // empty list + { + Beg=End=NULL; + return(0); + } + + Item1_ *Newitem, *Ocp; + + // process the old list + Beg=NULL; + Ocp=Head; // point to first in original list + do + { + Newitem=new Item1_(Ocp->Value); // create a new copy of old item + if (Beg==NULL) // add first item + Beg=End=Newitem; + else + End->Next=Newitem; End=Newitem; // add to end of new list + Ocp=Ocp->Next; // move to next position + } + while (Ocp!=NULL); + + return(Len); +} +// END of make_copy() + +/* remove_all(): removes all items from the calling object. Private */ +template +void Listhnd1_::remove_all() +{ + for (Item1_ *Cp=Head; Cp!=NULL; Cp=Head) + { + Head=Cp->Next; delete Cp; + } + Len=0; Tail=NULL; +} +// END of remove_all() + +// ==== Clist1_ METHODS ==== + +// ---- Assignment ---- + +/* = : "shallow" assignment. The Listhnd1_ pointed to by the lhs + * is "released" and the lhs then will point to Rhs's list. + */ +template +Clist1_& Clist1_::operator=(const Clist1_& Rhs) +{ + if (this==&Rhs) return(*this); // x=x + + Lptr->Listhnd1_::~Listhnd1_(); // notify the list handler that one less will point to it + Lptr=Rhs.Lptr; + Lptr->Ptrno++; // tell the Rhs's list that one more will point to it + Cur=Rhs.Cur; + return(*this); +} +// END of = + +// ==== List1_ METHODS ==== + +// ---- Insertions ---- + +/* insert(Val): insert a new item into the calling object so that + * the current item pointed to by Cur will follow it, i. e. + * ...->Current->... will become ...->New->Current->... and Cur + * will point to New. If Cur==NULL, then the new item will be + * appended to the end of the list (cf. operator+= ). + * Returns the calling object. + */ +template +List1_& List1_::insert(const T_& Val) +{ + if (Cur==NULL) // simply append to end + { + (*this)+=Val; Cur=Lptr->Tail; // point to new item + return(*this); + } + + // create new container and move the current value into it + Item1_ *Newitem=new Item1_(Cur->Value); + + // include the new item into the list + Newitem->Next=Cur->Next; + Cur->Next=Newitem; + + // was it appended to the tail? + if (Cur==Lptr->Tail) Lptr->Tail=Newitem; + + Cur->Value=Val; // new value goes into old current container + (Lptr->Len)++; // grow length + return(*this); +} +// END of insert(Val) + +/* insert(List): insert a whole List into the calling object + * at the current position so that ...->Current->... (where Current + * is pointed to by Cur) becomes ...->[List]->Current->... + * and Cur will point to the first item in List. If Cur==NULL, + * then List will be appended to the end of the calling object. + * Returns calling object. + */ +template +List1_& List1_::insert(const List1_& List) +{ + if (!List) return(*this); // empty List: don't bother + + Item1_ *Newhead=NULL, *Newtail; + unsigned int Llen=List.len(); + + if (!len() || Cur==NULL) // empty or current position is "outside" + { + List.Lptr->make_copy(Newhead, Newtail); + if (!len()) Lptr->Head=Newhead; else Lptr->Tail->Next=Newhead; + Cur=Newhead; Lptr->Tail=Newtail; + } + else // general insertion at a valid Cur position + { + Item1_ *Newitem, *Ocp=List.Lptr->Head; + + /* The first item from List goes into the container + * pointed to by Cur. Its previous value is saved + */ + Item1_ Curval=Cur->Value; + Cur->Value=Ocp->Value; + Ocp=Ocp->Next; + + /* Create a "shifted-copy" list between Newhead and Newtail, + * the i:th item of List becomes the i-1:th + */ + while (Ocp!=NULL) + { + Newitem=new Item1_(Ocp->Value); + if (Newhead==NULL) Newhead=Newitem; + else Newtail->Next=Newitem; + Newtail=Newitem; + Ocp=Ocp->Next; + } + + /* Create the very last item which will contain Curval + * and append it to the new list + */ + Newtail->Next=new Item1_(Curval); + Newtail=Newtail->Next; + + // build the new list into the old after Cur + Newtail->Next=Cur->Next; + Cur->Next=Newhead; + + // update Lptr->Tail if necessary + if (Cur==Lptr->Tail) Lptr->Tail=Newtail; + } + Lptr->Len+=Llen; + return(*this); +} +// END of insert(List) + +/* List1+=Val : append a new item with the value Val at the end of the list. + * List1+=List: append a copy of List at the end of the calling object. + * Both return the calling object. + */ +template +List1_& List1_::operator+=(const T_& Val) +{ + if (!len()) // was empty + Lptr->Head=Lptr->Tail=Cur=new Item1_(Val); + else + { + Lptr->Tail->Next=new Item1_(Val); + Lptr->Tail=Lptr->Tail->Next; + } + (Lptr->Len)++; + return(*this); +} + +template +List1_& List1_::operator+=(const List1_& List) +{ + if (!List) return(*this); // empty, don't bother + + // create a copy of List + Item1_ *Newbeg, *Newend; + unsigned int Llen=List.Lptr->make_copy(Newbeg, Newend); + + if (!len()) // was empty + Lptr->Head=Cur=Newbeg; + else + Lptr->Tail->Next=Newbeg; + Lptr->Tail=Newend; + Lptr->Len+=Llen; + return(*this); +} +// END of operator += + +/* List1^=Val: append a new item with value Val before the beginning of List1. + * List1^=List: append List before the first item of List1. + * The operator ^= was chosen because '^' means "the beginning of a string" + * in some regular expressions (reminiscent of "beginning of a list). + * Both return the calling object. + */ +template +List1_& List1_::operator^=(const T_& Val) +{ + if (!len()) // was empty + Lptr->Head=Lptr->Tail=Cur=new Item1_(Val); + else + { + Item1_ *Newitem=new Item1_(Val); + Newitem->Next=Lptr->Head; + Lptr->Head=Newitem; + } + (Lptr->Len)++; + return(*this); +} + +template +List1_& List1_::operator^=(const List1_& List) +{ + if (!List) return(*this); // empty, don't bother + + // create a copy of List + Item1_ *Newbeg, *Newend; + unsigned int Llen=List.Lptr->make_copy(Newbeg, Newend); + + if (!len()) // was empty + { + Lptr->Tail=Newend; Cur=Newbeg; + } + else + Newend->Next=Lptr->Head; + Lptr->Head=Newbeg; + Lptr->Len+=Llen; + return(*this); +} +// END of operator ^= + +// ---- Deletions ---- + +/* del(): delete N items (default 1) from the list, beginning with the + * current item pointed to by Cur. If Cur==NULL or N==0, nothing happens. If N is + * larger than the length of the tail of the list from Cur, then the + * whole tail is deleted. The new current position will be the first + * item after the deleted region. + * Return value: the number of items actually deleted. + */ +template +unsigned int List1_::del(unsigned int N) +{ + if (!N || Cur==NULL) return(0); // do nothing + + Item1_ *Prev, *Del; + register unsigned int Dno; + + // set Prev to the item before Cur: clumsy + if (Cur==Lptr->Head) Prev=NULL; + else for (Prev=Lptr->Head; Prev!=NULL && Prev->Next!=Cur; Prev=Prev->Next); + + // delete items until end or N + for (Dno=0, Del=Cur; DnoNext; delete Del; + } + + // reconnect + if (Prev!=NULL) Prev->Next=Cur; else Lptr->Head=Cur; + if (Cur==NULL) Lptr->Tail=Prev; + (Lptr->Len)-=Dno; + + return(Dno); +} +// END of del() + +// ==== END OF TEMPLATE DEFINITIONS List1.c++ ==== + +#endif /* LIST1_TMPL_DEFS */ diff --git a/lib/cc/tmpl/List1.h b/lib/cc/tmpl/List1.h new file mode 100644 index 0000000..91efc64 --- /dev/null +++ b/lib/cc/tmpl/List1.h @@ -0,0 +1,411 @@ +#ifndef LIST1_TMPL_DECLS +#define LIST1_TMPL_DECLS + +// ==== TEMPLATE HEADER List1.h ==== + +/* Unidirectional linked list templates. */ + +// SGI C++ 4.0, IRIX 5.3, 7. Mar. 1996. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include + +// ==== CLASSES ==== + +/* This is a pretty complex bunch of classes. The list items are + * kept in Item1_ objects linked together and the handler class + * Listhnd1_ keeps track of the head, tail and length of them. + * The handler objects are completely private. Two public wrapper interfaces + * are provided: Clist1_, which accesses the list in a non-destructive + * way (read item at current position, move current position pointer Cur), + * and List1_ (derived from Clist1_), which supports destructive + * manipulations (insert/delete, write item at current position) + * as well. More than one Clist1_ or List1_ wrappers can access + * the same Listhnd1_ through Lptr pointers; the handler counts + * the wrappers which point to it and dies only if all wrappers are dead. + * Here is an illustration of the situation, with just one + * Clist1_ accessing Listhnd1_ (but there could be several, + * and List1_ objects as well):- + * + * Item1_ --> Item1_ --> ... ---> Item1_ ---> Item1_ + * A A A + * | Head +-----------+ | Tail | + * +------- | Listhnd1_ | --------------------+ + * +-----------+ | + * A | + * | Lptr | + * +-----------+ Cur | + * | Clist1_ |---------+ + * +-----------+ + */ + +// NOTE: for GNU C++'s sake, the Item_ struct which originally +// was a member class of Listhnd1_ is moved outside. 6-Jul-1997 + +// forward declarations +template class Listhnd1_; +template class Clist1_; +template class List1_; + + /* The items are stored in a container class template Item1_ + * which provides direct access to its members. The Next pointer + * is NULL if the item is at the end of the list. + */ + template + class Item1_ + { + friend class Listhnd1_; + friend class Clist1_; + friend class List1_; + + private: + T_ Value; // the item + Item1_ *Next; // ptr to the next item + + // constructor + Item1_(const T_& Val): Value(Val), Next(NULL) {} + }; + // END OF CLASSLET Item_ + +/* Listhnd1_: the list handler class. Holds the ptr-linked + * list of Item1_ objects between two pointers, Head and Tail + * and keeps track of the length of the list in Len. + * This class is inaccessible to the outside world, only + * Clist1_ and List1_ (its friends) can use it. Both classes + * access the list handler via a pointer. Listhnd1_ keeps track + * of the number of Clist1_ and List1_ objects pointing to it + * and removes the list only if the last of these was removed. + */ +template +class Listhnd1_ +{ + friend class Clist1_; + friend class List1_; + + private: + Item1_ *Head, *Tail; // ptrs to beginning and end of list + unsigned int Len, Ptrno; // list length and no. of objects pointing to it + + // methods (all private) + + // constructors + /* NOTE: since all ctors are usable by the Clist1_/List1_ + * classes only, we assume that at least 1 ptr will point to + * the new Listhnd1_ object. + */ + /* Init to empty */ + Listhnd1_(): Head(NULL), Tail(NULL), Len(0), Ptrno(1) {} + + /* Init to a 1-member list holding the Value */ + Listhnd1_(const T_& Item): Len(1), Ptrno(1) + { + Head=Tail=new Item1_(Item); + } + + /* Copy constructor. */ + Listhnd1_(const Listhnd1_& L): Len(L.make_copy(Head, Tail)), Ptrno(1) {} + + // destructor + /* The destructor is tricky. It is called whenever a Clist1_/List1_ + * object dies that pointed to the current object. However, there + * might be others pointing to it: so only the Ptrno is decremented + * and the actual destruction happens only when Ptrno==1. + */ + ~Listhnd1_() { if (!(--Ptrno)) remove_all(); } + + /* = : Creates an almost exact copy of the rhs in the lhs. Note that the + * Ptrno is unchanged! This assignment is used in the "deep copy" + * methods of the List1_ class. + */ + Listhnd1_& operator=(const Listhnd1_& Rhs); + + // memory management + /* make_copy(): constructs a copy of the calling list. The beginning + * and end of the new list will be returned in Beg and End, the current + * position on the new list (corresponding to the original Cur) + * will be returned in *Cp if it isn't NULL (the default is NULL). + * Return value: the length of the new list. + */ + unsigned int make_copy(Item1_*& Beg, Item1_*& End) const; + + /* remove_all(): removes all items from the calling object. */ + void remove_all(); + +}; +// END OF CLASS Listhnd1_ + +/* Clist1_: a unidirectional linked list template. Items are + * accessed via an internal "current position" pointer which + * can be moved from the Head of the list towards the Tail. + * Items at the current position can be read but not modified. + * Use this class for "constant lists". + */ +template +class Clist1_ +{ + // data + protected: + + Listhnd1_ *Lptr; // ptr to the list handler + Item1_ *Cur; // ptr to current position + + // methods + public: + + // constructors + /* Copy constructor ("shallow"). NOTE: this is the only public ctor! + * It is assumed that a "non-const" List1_ object has already created + * a list and the Clist1_ object just accesses that. Use either to + * shallow-copy another Clist1_ object (the two would scan the same + * underlying Listhnd1_) or to init with a List1_ object which is + * derived from Clist1_ so will be acceptable here. + */ + Clist1_(const Clist1_& L): Lptr(L.Lptr), Cur(L.Cur) { (Lptr->Ptrno)++; } + + protected: + /* This constructor is to be used by List1_ only! + * Lptr and Cur are assigned appropriately as determined + * by the List1_ ctors. + */ + Clist1_(Listhnd1_ *Lh=NULL, Item1_ *Cp=NULL): + Lptr(Lh), Cur(Cp) {} + public: + + // Destructor + /* Calls the destructor of the underlying list object + * explicitly which deletes it only if the current Clist_ + * object was the last that pointed to it. + */ + virtual ~Clist1_() + { + Lptr->Listhnd1_::~Listhnd1_(); + if (!Lptr->Ptrno) delete Lptr; // remove handler if last dies + } + + // assignment + /* = : "shallow" assignment. The Listhnd1_ pointed to by the lhs + * is "released" and the lhs then will point to Rhs's list. + */ + Clist1_& operator=(const Clist1_& Rhs); + + // Access + /* len(): returns the current length. */ + unsigned int len() const { return(Lptr->Len); } + + /* !: returns 1 if the list is empty, 0 otherwise. */ + int operator!() const { return(Lptr->Len? 0: 1); } + + /* Conversion to const void* : the status of the Cur pointer can be + * checked via this: NULL is returned when Cur==NULL, indicating + * that we are at the end of the list. The pointer value obtained + * by this conversion must not be used for anything else. + */ + operator const void* () const { return((const void*)Cur); } + + /* *(): returns a ref. to the value of the item at the current position or + * aborts with an error message if Cur==NULL. + */ + const T_& operator*() const + { + if (Cur==NULL) + { + cerr<<"\n? *Clist1_: Illegal const access attempted\n"; + abort(); + } + return(Cur->Value); + } + + /* ->: returns a const ptr to the value of the item at the current + * position or aborts with an error message if Cur==NULL. + */ + const T_* operator->() const + { + if (Cur==NULL) + { + cerr<<"\n? Clist1_->: Illegal const access attempted\n"; + abort(); + } + return((const T_*)&(Cur->Value)); // GCC: 7-Jul-1997. + } + + // Move + /* begin(), end(): moves the current pointer to the head/tail + * of the list. + */ + void begin() { Cur=Lptr->Head; } + void end() { Cur=Lptr->Tail; } + + /* Postfix ++: moves the Cur ptr to the next position and returns 1 + * if it was not already at the end in which case it returns 0. + * Also returns 0 if Cur==NULL. Note that Cur is allowed to walk + * off the list: if Cur==Tail and ++ is invoked, then 0 is returned + * but Cur will become NULL. + */ + int operator++(int) + { + return((Cur!=NULL)? Cur=Cur->Next, Cur!=NULL: 0); + } + + /* forward(): moves the current ptr forward by N steps (default 1) + * if possible. May walk off the list at the end. + * Returns the actual number of steps taken. + */ + unsigned int forward(unsigned int N=1) + { + register unsigned int Stepno; + for (Stepno=0; StepnoNext); + return(Stepno); + } + + #ifdef __LIST1_DEBUG__ + friend ostream& operator<<(ostream& Out, const Clist1_& List); + #endif + +}; +// END OF CLASS Clist1_ + +/* List1_ : the general unidirectional linked list template class. + * Derived from Clist1_, this class adds "non-constant" operations + * (insertions, deletions, item modification) to the basic set of + * access methods. + */ +template +class List1_: public Clist1_ +{ + // data + protected: + + // methods + public: + + // constructors + /* Starts an empty list. */ + List1_(): Clist1_(new Listhnd1_()) {} + + /* Starts a list with one item in it. */ + List1_(const T_& Item): Clist1_(new Listhnd1_(Item)) { Cur=Lptr->Head; } + + /* Copy constructor. This is a "deep" copy: the underlying + * Listhnd1_ of L is cloned. + */ + List1_(const List1_& L): Clist1_(new Listhnd1_(*(L.Lptr))) { copy_curpos(L); } + + // Access + /* operator *(): non-const access to the current item. + * Aborts with a warning if Cur==NULL. + */ + T_& operator*() + { + if (Cur==NULL) + { + cerr<<"\n? *Clist1_: Illegal non-const access attempt\n"; + abort(); + } + return(Cur->Value); + } + + /* ->: returns a ptr to the value of the item at the current + * position or aborts with an error message if Cur==NULL. + */ + T_* operator->() + { + if (Cur==NULL) + { + cerr<<"\n? Clist1_->: Illegal non-const access attempted\n"; + abort(); + } + return((T_*)&(Cur->Value)); // GCC 7-Jul-1997 + } + + // Assignment + /* = : Creates an exact copy of the rhs in the lhs (even the relative + * position of the current pointer is preserved). This is a "deep" copy. + */ + List1_& operator=(const List1_& Rhs) + { + if (this==&Rhs) return(*this); // x=x + + *(this->Lptr)=*(Rhs.Lptr); // deep copy of underlying list + copy_curpos(Rhs); // adjust cursor position + return(*this); + } + + // Insertions + /* insert(Val): inserts a new item into the calling object so that + * the current item pointed to by Cur will follow it, i. e. + * ...->Current->... will become ...->New->Current->... and Cur + * will point to New. If Cur==NULL, then the new item will be + * appended to the end of the list (cf. operator+= ). + * Returns the calling object. + */ + List1_& insert(const T_& Val); + + /* insert(List): inserts a whole List into the calling object + * at the current position so that ...->Current->... (where Current + * is pointed to by Cur) becomes ...->[List]->Current->... + * and Cur will point to the first item in List. If Cur==NULL, + * then List will be appended to the end of the calling object. + * Returns calling object. + */ + List1_& insert(const List1_& List); + + /* List1+=Val : appends a new item with the value Val at the end of the list. + * List1+=List: appends a copy of List at the end of the calling object. + * Both return the calling object. + */ + List1_& operator+=(const T_& Val); + List1_& operator+=(const List1_& List); + + /* List1^=Val: appends a new item with value Val before the beginning of List1. + * List1^=List: appends List before the first item of List1. + * The operator ^= was chosen because '^' means "the beginning of a string" + * in some regular expressions (reminiscent of "beginning of a list). + * Both return the calling object. + */ + List1_& operator^=(const T_& Val); + List1_& operator^=(const List1_& List); + + // Deletions + /* del(): deletes N items (default 1) from the list, beginning with the + * current item pointed to by Cur. If Cur==NULL or N==0, nothing happens. If N is + * larger than the length of the tail of the list from Cur, then the + * whole tail is deleted. The new current position will be the first + * item after the deleted region. + * Return value: the number of items actually deleted. + */ + unsigned int del(unsigned int N=1); + + /* clear(): removes all items from the calling object and returns it. */ + List1_& clear() { Lptr->remove_all(); Cur=NULL; return(*this); } + + // Auxiliaries + private: + + /* copy_curpos(): sets the Cur current pointer of the calling object to + * the position where L's Cur is: e.g. if L.Cur points to the fifth + * item in its list, then Cur will point also to the fifth item. + * It is assumed that the two objects have same-length lists inside + * (used for deep copies only). Private + */ + void copy_curpos(const List1_& L) + { + Item1_ *Ocp; + for (Ocp=L.Lptr->Head, Cur=Lptr->Head; + Ocp!=NULL && Cur!=NULL && Ocp!=L.Cur; + Ocp=Ocp->Next, Cur=Cur->Next); + } + + #ifdef __LIST1_DEBUG__ + friend ostream& operator<<(ostream& Out, const Clist1_& List); + #endif +}; +// END OF CLASS List1_ + +#ifdef INCLUDE_TMPL_DEFS +#include "List1.c++" +#endif + +// ==== END OF TEMPLATE HEADER List1.h ==== + +#endif /* LIST1_TMPL_DECLS */ diff --git a/lib/cc/tmpl/Maskarr.c++ b/lib/cc/tmpl/Maskarr.c++ new file mode 100644 index 0000000..b0f5e0b --- /dev/null +++ b/lib/cc/tmpl/Maskarr.c++ @@ -0,0 +1,290 @@ +#ifndef MASKARR_TMPL_DEFS +#define MASKARR_TMPL_DEFS + +// ==== TEMPLATE FUNCTION DEFINITIONS Maskarr.c++ ==== + +/* The "masked array" template class. Items are stored + * in an array and can be switched "on" or "off". Access + * and modification of a particular item is possible only if + * it is switched "on" and indices are translated so that + * [i] accesses the i-th active item. + */ + +// SGI C++ 4.0, IRIX 5.3, 7. Mar. 1996. Andris Aszodi + +// ==== Maskarr_ MEMBER FUNCTIONS ==== + +// ---- Constructors ---- + +/* Initialises the array to hold N items (default=0). + * All items will be active. This is the default ctor. + */ +template +Maskarr_::Maskarr_(unsigned int N) +{ + if (!N) + { Data=NULL; Idx=NULL; } + else + { Data=new T_ [N]; Idx=new T_* [N]; } + Mask.len(N); Mask.set_values(true); + update_idx(); // assign ptrs in Idx and set Idxno +} + +/* Initialises the array with Active. Maximal storage will be Active.len(), + * the activation pattern will be Active. The array items are undefined + * unless T_ has a default ctor. + */ +template +Maskarr_::Maskarr_(const Bits_& Active): Mask(Active) +{ + if (Mask.len()) + { Data=new T_ [Mask.len()]; Idx=new T_* [Mask.len()]; } + else + { Data=NULL; Idx=NULL; } + update_idx(); +} + +/* Initialises with the conventional array Arr, to have length Len. + * It is the caller's responsibility to make sure Arr is at least Len long. + * If Arr==NULL or Len==0 then an empty array is constructed silently. + * All members will be active. + */ +template +Maskarr_::Maskarr_(const T_* Arr, unsigned int Len) +{ + if (Arr==NULL || !Len) + { + Len=0; Data=NULL; + Idx=NULL; + } + else + { + Data=new T_ [Len]; Idx=new T_* [Len]; + for (unsigned int i=0; i +Maskarr_::Maskarr_(const Maskarr_& Marr) +{ + Mask=Marr.Mask; + if (Mask.len()) + { + Data=new T_ [Mask.len()]; Idx=new T_* [Mask.len()]; + for (unsigned int i=0; i +Maskarr_& Maskarr_::operator=(const Maskarr_& Marr) +{ + if (this==&Marr) return(*this); // x=x, do nothing + + data_resize(Marr.Mask.len(), Marr.Data); // copy data + Mask=Marr.Mask; + update_idx(); + return(*this); +} +// END of operator = + +// ---- Access ---- + +/* operator []: direct access to array items is not allowed. + * [Index] will return the Index-th active item. If Index is + * out of range or no items are active or access to empty arrays + * is attempted, then [] aborts with a warning. + */ +template +const T_& Maskarr_::operator[](unsigned int Index) const +{ + if (Data==NULL || Idx==NULL) // empty! + { + cerr<<"\n! Maskarr_::[]: Access to empty object attempted, abort...\n"; + abort(); + } + if (!Idxno) + { + cerr<<"\n! Maskarr_["<=Idxno) + { + cerr<<"\n! Maskarr_::["< +T_& Maskarr_::operator[](unsigned int Index) +{ + if (Data==NULL || Idx==NULL) // empty! + { + cerr<<"\n! Maskarr_::[]: Access to empty object attempted, abort...\n"; + abort(); + } + if (!Idxno) + { + cerr<<"\n! Maskarr_["<=Idxno) + { + cerr<<"\n! Maskarr_::["< +bool Maskarr_::active(unsigned int Index) const { return(Mask.get_bit(Index)); } +template +bool Maskarr_::active(unsigned int Index, bool Value) +{ + if (!Mask.len()) return(false); // empty: do nothing + + bool Oldval=Mask.set_bit(Index, Value); + if (Index +Bits_ Maskarr_::mask(const Bits_& Newmask) +{ + if (Mask==Newmask) return(Mask); // phew, don't have to do anything + + Bits_ Oldmask=Mask; + if (Newmask.len()!=Oldmask.len()) + data_resize(Newmask.len()); + Mask=Newmask; update_idx(); + return(Oldmask); +} +template +Bits_ Maskarr_::mask(bool Value) +{ + Bits_ Oldmask=Mask; Mask.set_values(Value); + if (Oldmask!=Mask) update_idx(); + return(Oldmask); +} +// END of mask() + +// ---- Size ---- + +/* len(): returns the length of the Data vector. + * len(Newlen): adjusts the size of the Data vector and the Mask. Does + * nothing if the new length is the same as the old. If the length grows, + * then the new items will have undefined values and will be switched off. + * Returns old length. + */ +template +unsigned int Maskarr_::len(unsigned int Newlen) +{ + unsigned int Oldlen=Mask.len(); + if (Newlen==Oldlen) return(Oldlen); // do nothing + + data_resize(Newlen); // change Data size + Mask.len(Newlen); // change Mask size + update_idx(); + return(Oldlen); +} +// END of len() + +// ---- Memory management ---- + +/* update_idx(): updates the index pointer array for the calling + * object. The ii-th element of Idx will point to the ii-th active item in Data. + * Must be called every time Mask or Data is modified. + * Return value: the no. of active items (Idxno). Protected + */ +template +unsigned int Maskarr_::update_idx() +{ + if (Idx==NULL) return(Idxno=0); // empty object + + Idxno=Mask.on_no(); // save no. of active items + if (!Idxno) return(0); // no active items + + unsigned int i, ii; + for (i=ii=0; i +unsigned int Maskarr_::data_resize(unsigned int Len, const T_* Newarr) +{ + if (!Len) // make it empty + { + delete [] Data; delete [] Idx; + return(0); + } + + unsigned int i, Oldlen=Mask.len(); + if (Len==Oldlen) // no change in length + { + if (Newarr!=NULL) + for (i=0; i +#include +#include + +// ---- INCLUDE FILES ---- + +#include "Bits.h" // the bit vector class + +// ==== CLASSES ==== + +/* Class Maskarr_ : the masked array template class. + * The elements of the array can be active or inactive; + * activation status is held in a bit vector. Only active + * items can be accessed or modified. + */ +template +class Maskarr_ +{ + // data + protected: + + T_ *Data; // the array of the items (length is Mask.len()) + T_ **Idx; // array of pointers to active items, NULL if all inactive + unsigned int Idxno; // no. of active items ( same as Mask.on_no() ) + Bits_ Mask; // the bit-vector holding the activation status + + // methods + public: + + // constructors + /* Initialises the array to hold N items (default=0). + * All items will be active. This is the default ctor. + */ + Maskarr_(unsigned int N=0); + + /* Initialises the array with Active. Maximal storage will be Active.len(), + * the activation pattern will be Active. The array items are undefined + * unless T_ has a default ctor. + */ + Maskarr_(const Bits_& Active); + + /* Initialises with the conventional array Arr, to have length Len. + * It is the caller's responsibility to make sure Arr is at least Len long. + * If Arr==NULL or Len==0 then an empty array is constructed silently. + * All members will be active. + */ + Maskarr_(const T_* Arr, unsigned int Len); + + /* The copy constructor */ + Maskarr_(const Maskarr_& Marr); + + // destructor + virtual ~Maskarr_() { delete [] Data; delete [] Idx; } + + // assignment + /* operator = : performs a "destructive assignment": the lvalue is + * destroyed and an exact copy of the rvalue is built. + */ + Maskarr_& operator=(const Maskarr_& Marr); + + // access + /* operator []: direct access to array items is not allowed. + * [Index] will return the Index-th active item. If Index is + * out of range or no items are active or access to empty arrays + * is attempted, then [] aborts with a warning. + */ + const T_& operator[](unsigned int Index) const; + T_& operator[](unsigned int Index); + + /* active(Index): returns the activation status of the Index-th data item + * or false if Index is out of range. + * active(Index, Value): changes the activation status of the Index-th + * data item. Does nothing if Index is out of range. Returns old + * activation status. + * NOTE: Index here indexes the Data array directly. + */ + bool active(unsigned int Index) const; + bool active(unsigned int Index, bool Value); + + /* mask(): returns the current activation mask. + * mask(Newmask): changes the activation mask to Newmask. If Newmask + * has a different length, this will force the re-sizing of the Data array as well. + * Returns old activation mask. + * mask(Value): sets all activation bits to Value. Returns old mask. + */ + const Bits_& mask() const { return(Mask); } + Bits_ mask(const Bits_& Newmask); + Bits_ mask(bool Value); + + // size + + /* len(): returns the length of the Data vector. + * len(Newlen): adjusts the size of the Data vector and the Mask. Does + * nothing if the new length is the same as the old. If the length grows, + * then the new items will have undefined values and will be switched off. + * Returns old length. + */ + unsigned int len() const { return(Mask.len()); } + unsigned int len(unsigned int Newlen); + + /* active_len(): returns the number of active elements. */ + unsigned int active_len() const { return(Idxno); } + + // protected methods + protected: + + unsigned int update_idx(); + unsigned int data_resize(unsigned int Len, const T_* Newarr=NULL); + +}; +// END OF CLASS Maskarr_ + +#ifdef INCLUDE_TMPL_DEFS +#include "Maskarr.c++" +#endif + +// ==== END OF TEMPLATE HEADER Maskarr.h ==== + +#endif /* MASKARR_TMPL_DECLS */ diff --git a/lib/cc/tmpl/Smartptr.c++ b/lib/cc/tmpl/Smartptr.c++ new file mode 100644 index 0000000..e397ee2 --- /dev/null +++ b/lib/cc/tmpl/Smartptr.c++ @@ -0,0 +1,58 @@ +#ifndef SMARTPTR_TMPL_DEFS +#define SMARTPTR_TMPL_DEFS + +// ==== TEMPLATE METHODS Smartptr.c++ ==== + +/* Implements the Smartptr_ container class which can store and + * retrieve all derived classes of a given base class (with some + * restrictions). + */ + +// SGI C++ 4.0, IRIX 5.3, 27. Apr. 1995. Andris Aszodi + +// ==== Smartptr_ METHODS ==== + +// ---- Assignment ---- + +template +Smartptr_& Smartptr_::operator=(const Smartptr_& S) +{ + if (Ptr==S.Ptr) return(*this); // x=x + delete Ptr; + if (S.Ptr==NULL) Ptr=NULL; // copy empty object + else (*S.Ptr)(Ptr); // v_ctor call + return(*this); +} +// END of = + +// ---- Access ---- + +/* Dereferencing: if the object P was empty (P.Ptr==NULL), then + * the program is aborted with an error message. + */ +template +const B_& Smartptr_::operator*() const +{ + if (Ptr==NULL) // problem + { + cerr<<"! *Smartptr_<_>:: Accessing empty const object\n"; + abort(); + } + return(*Ptr); +} + +template +B_& Smartptr_::operator*() +{ + if (Ptr==NULL) // big problem + { + cerr<<"! *Smartptr_<_>:: Accessing empty object, prepare for disaster!\n"; + abort(); + } + return(*Ptr); +} +// END of *() + +// ==== END OF METHODS Smartptr.c++ ==== + +#endif /* SMARTPTR_TMPL_DEFS */ diff --git a/lib/cc/tmpl/Smartptr.h b/lib/cc/tmpl/Smartptr.h new file mode 100644 index 0000000..7e9f4eb --- /dev/null +++ b/lib/cc/tmpl/Smartptr.h @@ -0,0 +1,114 @@ +#ifndef SMARTPTR_TMPL_DECLS +#define SMARTPTR_TMPL_DECLS + +// ==== TEMPLATE HEADER Smartptr.h ==== + +/* Implements the Smartptr_ container class which can store and + * retrieve all derived classes of a given base class (with some + * restrictions). + */ + +// SGI C++ 4.0, IRIX 5.3, 12. Sep. 1995. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include +#include + +// ==== CLASSES ==== + +/* Class Smartptr_ : stores a dynamically allocated object derived + * from the base class B_. Access to the object inside Smartptr_ + * is through a base class pointer. + * IMPORTANT NOTE: Smartptr_ cannot store just anything. The trick + * relies on "virtual constructors" (v_ctor), which are not supported in C++ + * but can be emulated. The base class B_ must declare the following + * public pure virtual function by overloading the function call + * operator:- + * + * virtual void B_::operator()(B_*& Bptr) const =0; + * + * In turn, each derived class D_ should define a corresponding function:- + * + * void D_::operator()(B_*& Bptr) const + * { + * return(Bptr=new D_(*this)); // allocate an exact copy of the calling object + * } // assumes that there's a D_(const D_&) ctor + * + * This "virtual constructor" creates an exact copy of the calling object + * with the proper memory layout, then returns a ptr to it, converted + * to a base class ptr. Smartptr_ keeps track of the object inside it + * through this ptr. Smartptr_ objects must be initialised either with + * a const D_ object or by another Smartptr_ object. A default ctor is + * also provided but it inits the internal ptr to NULL. (Dangerous.) + * The funny signature of the v_ctor is necessary for + * classes with more ancestors: if D_ is derived from B1_ and B2_ + * and both base classes declare v_ctors this way, then D_ objects can be + * stored in Smartptr_ or Smartptr_. Of course + * D_ must have two versions of the v_ctor:- + * + * void D_::operator()(B1_*& B1ptr) const; + * void D_::operator()(B2_*& B2ptr) const; + * + * and the appropriate base class is deduced from the argument type. + * When a Smartptr_ object dies, it destroys the member + * object: it is vital, therefore, that ~B_() is virtual. + * The whole point is that an Array_< Smartptr_ > can store a + * "mixed array" of D1_, D2_, ..., Dn_ objects if they were all + * derived from B_ and Arr[i]()->fn(...) always calls the proper virt fn. + */ +template +class Smartptr_ +{ + // data + B_ *Ptr; // base-class ptr to family of derived-class objects + + // methods + public: + + // constructors + /* Empty default constructor; dangerous but necessary since + * arrays use this + */ + Smartptr_(): Ptr(NULL) {} + + /* Init by a base class object or any of the derived class objects */ + Smartptr_(const B_& B) { B(Ptr); } + + /* Copy constructor */ + Smartptr_(const Smartptr_& S) + { if (S.Ptr==NULL) Ptr=NULL; else (*S.Ptr)(Ptr); } + + // destructor + ~Smartptr_() { delete Ptr; } + + // assignment + Smartptr_& operator=(const Smartptr_& S); + + // access + /* The pointer-to-member operator -> and the address-of operator + * & are overloaded for accessing the + * object within Smartptr_ through a base class pointer B_*. + * Caution is recommended. + */ + const B_ *operator->() const { return(Ptr); } + B_ *operator->() { return(Ptr); } + const B_ *operator&() const { return(Ptr); } + B_ *operator&() { return(Ptr); } + + /* Dereferencing: if the object P was empty (P.Ptr==NULL), then + * the program is aborted with an error message. + */ + const B_& operator*() const; + B_& operator*(); +}; +// END OF CLASS Smartptr_ + +#ifdef INCLUDE_TMPL_DEFS +#include "Smartptr.c++" +#endif + +// ==== END OF TEMPLATE HEADER Smartptr.h ==== + +#endif /* SMARTPTR_TMPL_DECLS */ diff --git a/src++/Aacid.c++ b/src++/Aacid.c++ new file mode 100644 index 0000000..adb1809 --- /dev/null +++ b/src++/Aacid.c++ @@ -0,0 +1,296 @@ +// ==== PROJECT DRAGON: METHODS Aacid.c++ ==== + +/* Class for storing amino acid atomic coordinates. */ + +// SGI C++ 4.0, IRIX 5.3, 4. June 1996. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include +#include + +// ---- MODULE HEADER ---- + +#include "Aacid.h" + +// ==== METHODS ==== + +// ---- Static init ---- + +const char* Aacid_::Aas="ACDEFGHIKLMNPQRSTVWY"; + +// ---- Access ---- + +/* find(): locates an atom Name in the calling object. + * Returns -1 if not found, the "absolute" (unmasked) + * index otherwise. + */ +inline +int Aacid_::find(const char *Name) const +{ + if (Name==NULL || strlen(Name)>4) return(-1); // can't be an atom name + int i; + for (i=0; i=0)? Points_::active(I): false); +} +bool Aacid_::active(const char *Name, bool Flag) +{ + int I=find(Name); + return((I>=0)? Points_::active(I, Flag), true: false); +} +// END of active() + +/* atom(): returns (const) ptr to the coords of an atom called Name or + * NULL if Name is not found or inactive. + */ +const Vector_* Aacid_::atom(const char *Name) const +{ + int I=find(Name); + return((I>=0)? Data+I: NULL); +} +Vector_* Aacid_::atom(const char *Name) +{ + int I=find(Name); + return((I>=0)? Data+I: NULL); +} +// END of atom() + +// ---- Main and side chain masking ---- + +/* main_chain(): without an argument, returns true if all four + * main-chain atoms (N, CA, C, O) are active, false otherwise. + * With a bool argument Flag, switches the main chain on (true) or off (false). + * Returns previous status. + */ +bool Aacid_::main_chain() const +{ + return(bool(active("N") && active("CA") && active("C") && active("O"))); +} +bool Aacid_::main_chain(bool Flag) +{ + bool Oldstatus=main_chain(); + active("N", Flag); active("CA", Flag); + active("C", Flag); active("O", Flag); + return(Oldstatus); +} +// END of main_chain() + +/* side_chain(): without an argument, returns true if all + * side-chain atoms are active, false otherwise (always false for Gly). + * With a bool argument Flag, switches the complete side chain on + * (true) or off (false), has no effect on Gly. Returns previous status. + */ +bool Aacid_::side_chain() const +{ + if (res_id()=='G') return(false); + for (register unsigned int i=4; i +#include +#include +#include + +// ---- MODULE HEADER ---- + +#include "Access.h" + +// ---- LOCAL DEFINITIONS AND CONSTANTS ---- + +#ifndef M_PI_2 +#define M_PI_2 1.57079632679489661923 /* Pi/2 */ +#endif + +#ifndef DBL_EPSILON +#define EPSILON 1.0e-15 +#else +#define EPSILON DBL_EPSILON +#endif + +// ==== Access_ METHODS ==== + +// ---- Side chain accessibility ---- + +/* betacone_shield: calculates the local shieldedness values for + * each fake C-beta atom and stores them in the private Relsh array. + * The internal array sizes are updated to + * correspond to the size of Dista. + * Note that currently there are no fake C-betas on the 0th and + * (Rno+1)th "residues" (N/C-termini): for these, the C-alpha cones are used. + * For the k-th point, all points which are closer than NBRADIUS are + * selected, their distances from their common local centroid + * is calculated and the angle of the smallest cone that encompasses the + * whole set and centred on 'k' with an axis going through + * the centroid is determined. + */ +void Access_::betacone_shield(const Trimat_& Dista, const Polymer_& Polymer) +{ + // reset internal sizes + unsigned int Rno; // the real chain length + set_size(Rno=Dista.rno()-2); // Dista is larger (N/C-terminal points) + + // create the fake C-beta dist matrices + static Fakebeta_ Fakebeta; // just resize below upon next call + Fakebeta.update(Dista, Polymer); + + static const double NBRADIUS=8.0, NBRADIUS2=NBRADIUS*NBRADIUS; + + register unsigned int i, j, k, ci, cj, Closeno; + register double Ang, Largang, D, Trisum, Isum; + + /* The "canonical ordering" here is that 0 is meaningless (N-terminus), + * 1..Rno contains the BETAs, Rno+1 is the C-terminus, and Rno+1..2*Rno+3 + * the ALPHAs (where Rno+1 and 2*Rno+3 are the pseudo-alphas corresponding + * to the NH3+ and COO- at the ends). This way the three dist matrices can be joined + * into one big overall distmat without any clumsy indexing tricks. + */ + + /* scan all sidechain ("beta") points between 1..Rno. Note that + * the Relsh[] array uses the [0..Rno-1] range for the shieldedness values. + */ + for (k=1; k<=Rno; k++) + { + /* select close points: an index < Rno means the index-th beta, + * index>=Rno means the (index-Rno)-th alpha. Start at i==1 + * because i==0 is the nonexistant N-terminal beta. The dist + * matrices are accessed via the "safe index" mechanism. + */ + Trisum=0.0; + for (Closeno=0, i=1; i<=2*Rno+3; i++) + { + // skip the current point and the nonexistent beta on the C-terminal moiety + if (i==k || i==Rno+1) continue; + + if (i<=Rno) // beta:beta + D=Fakebeta.bb(i, k); + else // beta:alpha + D=Fakebeta.ab(i-Rno-2, k); + if (D<0.0 || D>NBRADIUS2) continue; // too far away from k or non-metric + + Close[Closeno]=i; // store index + Dik[Closeno++]=D; // store D(i,k)^2 + Trisum+=D; // start summing for local centroid + } + + if (Closeno<=1) // too few points, make it very exposed + { + Relsh[k-1]=-1.0; continue; + } + + /* calc the distances from the local centroid using + * Lagrange's Theorem. The first step is to sum all + * interpoint distances: the i-k distances were done + * in the previous cycle. + */ + for (i=0; i=Rno+2) // beta-alpha + D=Fakebeta.ab(cj-Rno-2, ci); + else if (ci>=Rno+2 && cj<=Rno) // alpha-beta + D=Fakebeta.ab(ci-Rno-2, cj); + else // alpha-alpha + { + ci-=Rno+2; cj-=Rno+2; + D=Dista(ci, cj); + ci+=Rno+2; // restore index + } + Trisum+=D; + } + } + Trisum/=(Closeno+1)*(Closeno+1); + + /* now get squared distances for the i-th point + * from the centroid. If the local dist set is + * non-metric enough then this dist may be negative; + * cheat by taking the abs value + */ + for (i=0; i=Rno+2) + D=Fakebeta.ab(cj-Rno-2, ci); + else if (ci>=Rno+2 && cj<=Rno) + D=Fakebeta.ab(ci-Rno-2, cj); + else // alpha-alpha + { + ci-=Rno+2; cj-=Rno+2; + D=Dista(ci, cj); + ci+=Rno+2; /* restore */ + } + Isum+=D; + } + Di0[i]=fabs(Isum/(Closeno+1)-Trisum); + } + + /* get the dist of the k-th point from the centroid + * in the same way and put into D + */ + D=0.0; + for (i=0; i0, Ang->0; if either Dik or D->0, then + * we just jump (23-Aug-94) + */ + Largang=-1000.0; + for (i=0; iLargang) Largang=Ang; + } + + /* save the rel. shield of largest angle for the k-th point: + * non-metricities (and bugs) may lead to an Rsh=-6.38e+2 + * value. In the past, these were replaced by 0.0, now + * get_shield() is instructed to ignore these. + * No warnings are printed (23-Aug-94) + */ + Relsh[k-1]=(Largang-M_PI_2)/M_PI_2; + + } // for k + +} +// END of betacone_shield() + +// ---- Accessibility scoring and adjustment ---- + +/* NOTE: distance "space" accessibility adjustment is NOT ported + * from Version 3.x. + */ + +/* solvent_xyz(): calculates the accessibility of the structure Xyz + * given in Euclidean coordinates and performs an accessibility + * adjustment. The sequence is taken from Polymer. Non-H-bonded + * residues are moved outwards from the core so they need special + * treatment: Hbond is a bit-vector [0..Rno+1] in which every residue participating + * in a H-bond is marked true (can be obtained from a Pieces_ object). + * Dim mismatches are checked. + * Return value: 0 on error, 1 if OK. + */ +int Access_::solvent_xyz(const Polymer_& Polymer, const Bits_& Hbond, + Points_& Xyz) +{ + // Hbond should be [0..Rno+1] + unsigned int Rno=Polymer.len(); + if (Hbond.len()!=Rno+2) + { + cerr<<"\n? Access_::solvent_xyz(): Dim mismatch (Hbond:Points)\n"; + return(0); + } + + // generate the shieldedness in private array + if (!betacone_xyz(Polymer, Xyz)) + return(0); + + register unsigned int i; + Shstate_ Shi; + + /* exposed residues:move "in",fact<1, buried:move "out",fact>1 */ + static const double ADJFACTORS[VERY_BURIED+1]= + {0.90, 0.95, 0.99, 1.00, 1.01, 1.05, 1.10}; + + /* Normal [0..Rno-1] residue indexing for everybody but Xyz. + * N/C terminal pseudo-alphas are not adjusted + */ + for (i=0; i=0.40 && !Hbond.get_bit(i+1)) + { + Xyz[i+1]*=ADJFACTORS[VERY_BURIED]; + continue; + } + + if (Shi!=AVERAGE) // apply adjustment + Xyz[i+1]*=ADJFACTORS[Shi]; + + } // for i + + return(1); +} +// END of solvent_xyz() + +/* score_dist(),score_xyz(): calculate an accessibility score + * (optimum 0.0) for distance spaces and Euclidean objects, + * respectively. + * Return a very high value on error. + */ +float Access_::score_dist(const Polymer_& Polymer, const Trimat_& Dista) +{ + betacone_shield(Dista, Polymer); + return(get_score(Polymer)); +} +// END of score_dist() + +float Access_::score_xyz(const Polymer_& Polymer, const Points_& Xyz) +{ + // generate the shieldedness in private array + if (!betacone_xyz(Polymer, Xyz)) + return(1e10); + return(get_score(Polymer)); +} +// END of score_xyz() + +/* betacone_xyz(): calculates the accessibility in Euclidean space + * and stores the results in the internal array Relsh[]. + * Returns 0 on error, 1 if OK. Private + */ +int Access_::betacone_xyz(const Polymer_& Polymer, const Points_& Xyz) +{ + static Trimat_ Dista; // re-allocated when necessary + + register unsigned int Rno=Polymer.len(); + + // Xyz holds the extra N/C terminal moiety coordinates + if (Polymer.len()!=Xyz.active_len()-2) + { + cerr<<"\n? Access_::betacone_xyz(): Dim mismatch (Polymer:Points)\n"; + return(0); + } + + if (!Xyz.dim()) + { + cerr<<"\n? Access_::betacone_xyz(): Dim mismatch within structure\n"; + return(0); + } + + // generate the shieldedness in private array + Xyz.dist_mat2(Dista); + betacone_shield(Dista, Polymer); + return(1); +} +// END of betacone_xyz() + +/* get_score(): calculates the accessibility score. Private */ +float Access_::get_score(const Polymer_& Polymer) const +{ + register unsigned int i, Rno=Polymer.len(); + Shstate_ Shi; + float Score=0.0; + + /* artificial score values */ + static const double SCORES[VERY_BURIED+1]= + {3.00, 1.00, 0.30, 0.00, 0.30, 1.00, 3.00}; + + /* Normal [0..Rno-1] residue indexing for everybody but Xyz. + * N/C terminal pseudo-alphas are not adjusted + */ + for (i=0; i=AVERAGE || + Buried.get_bit(i) && Shi<=AVERAGE) + { Score+=SCORES[Shi]; continue; } + + // other residues + Score+=SCORES[Shi]; + + } // for i + Score/=Rno; + return(Score); +} +// END of get_score() + +// ---- Size ---- + +/* set_size(): resets the size of the internal arrays to Rno, + * the number of residues. Returns old size. + * This routine must be called when the chain size changes. + */ +unsigned int Access_::set_size(unsigned int Rno) +{ + unsigned int Oldsize=Relsh.len(); + + if (Oldsize!=Rno) + { + Relsh.len(Rno); Di0.len(2*(Rno+2)); + Dik.len(2*(Rno+2)); Close.len(2*(Rno+2)); + Surface.len(Rno); Buried.len(Rno); + Surface.set_values(false); Buried.set_values(false); // clear + } + return(Oldsize); +} +// END of set_size() + +// ---- Shieldedness categories ---- + +/* get_shield: returns the shieldedness status of an amino + * acid Aa with relative shieldedness Rsh. This function + * determines whether Relsh means that this particular Aa + * is exposed or buried or falls into the middle part of + * its shieldedness distribution. (Cf. the Shstate_ type above.) + * Private static + */ +int Access_::get_shield(double Rsh, char Aa) +{ + // 20 standard amino acids + B,Z + static const int AANUM=22; + static const char AAS[AANUM+1]="ABCDEFGHIKLMNPQRSTVWYZ"; + + /* "experimental" burial limits. I have run a statistics + * calculation on a set of non-homologous proteins and + * these are the limits in the shieldedness distribution + * for the amino acids. + */ + static const double EXPBURLIMS[AANUM][VERY_BURIED]= + { + {-0.15, -0.08, 0.00, 0.77, 0.81, 0.84}, /* A */ + {-0.15, -0.09, -0.07, 0.52, 0.56, 0.72}, /* B */ + {0.21, 0.31, 0.40, 0.84, 0.86, 0.89}, /* C */ + {-0.27, -0.21, -0.16, 0.42, 0.50, 0.63}, /* D */ + {-0.31, -0.25, -0.20, 0.32, 0.42, 0.53}, /* E */ + {0.17, 0.26, 0.34, 0.80, 0.83, 0.87}, /* F */ + {-0.12, -0.06, -0.01, 0.72, 0.77, 0.81}, /* G */ + {-0.18, -0.10, -0.02, 0.62, 0.70, 0.76}, /* H */ + {0.13, 0.23, 0.31, 0.83, 0.85, 0.89}, /* I */ + {-0.34, -0.27, -0.22, 0.22, 0.29, 0.38}, /* K */ + {0.12, 0.22, 0.32, 0.83, 0.85, 0.89}, /* L */ + {0.00, 0.12, 0.23, 0.79, 0.83, 0.86}, /* M */ + {-0.25, -0.18, -0.13, 0.61, 0.70, 0.76}, /* N */ + {-0.22, -0.15, -0.09, 0.63, 0.70, 0.76}, /* P */ + {-0.26, -0.20, -0.15, 0.46, 0.55, 0.69}, /* Q */ + {-0.25, -0.18, -0.13, 0.44, 0.54, 0.64}, /* R */ + {-0.20, -0.14, -0.09, 0.70, 0.75, 0.80}, /* S */ + {-0.13, -0.07, -0.01, 0.70, 0.75, 0.80}, /* T */ + {0.09, 0.19, 0.28, 0.81, 0.84, 0.87}, /* V */ + {0.14, 0.24, 0.29, 0.82, 0.85, 0.90}, /* W */ + {-0.01, 0.11, 0.16, 0.72, 0.77, 0.81}, /* Y */ + {0.03, 0.04, 0.05, 0.48, 0.54, 0.57} /* Z */ + }; + + const char *Pos; + register unsigned int Idx; + + // Rsh may be out of range->pretend it's OK (cf. betacone_shield()) + if (fabs(Rsh)>1.0) return(AVERAGE); + + // get the index of the Aa in AAS[] + Pos=strchr(AAS, Aa); + if (Pos==NULL) return(AVERAGE); // unknown AA, do nothing + Idx=Pos-AAS; + + // get shieldedness state + int Sh; // assumes the Shield_ values are contiguous + + for (Sh=VERY_EXPOSED; ShAVERAGE; Sh--) // buried side + if (Rsh>EXPBURLIMS[Idx][Sh-1]) + return(Sh); + return(AVERAGE); // within the extremes +} +// END of get_shield() + +// ---- Input/output ---- + +/* read_file(): reads known accessibilities from a file called Accfnm. + * If it is NULL (the default) or "", then the surface/buried bit-vectors + * are cleared. If Accfnm cannot be opened, then nothing is changed. + * The file format is as follows:- + * Lines starting with '#' are comments, + * [sS] ....\n are the nos. of residues known to be on the surface, + * [bB] ....\n are the nos. of residues known to be buried. + * Any number of residues may be listed after the initial s, S, b, B character + * provided the total length of the line does not exceed 132 characters, + * and any number of lines are allowed. The [sSbB] character must be the + * first character on the line and the numbers are separated by whitespaces. + * Duplicates are ignored. If a residue + * is specified as surface and buried at the same time, it will be regarded + * as an ordinary residue. Out-of-range residue numbers (outside 1..Rno) + * are ignored with a warning. + * Return value: 0 on error, 1 if OK. + */ +unsigned int Access_::read_file(const char *Accfnm) +{ + if (Accfnm==NULL || !strlen(Accfnm)) // just clear + { + Surface.set_values(false); + Buried.set_values(false); + return(0); + } + + unsigned int Rno=Relsh.len(); + if (!Rno) // = intentional + { + cerr<<"\n? Access_::read_file(): Please set size before input\n"; + return(0); + } + + ifstream Inf(Accfnm); + if (!Inf) + { + cerr<<"\n? Access_::read_file(\""<>(*this); // forgot this! Idiot! 1-Mar-96 + Inf.close(); + return(Inf.good() || Inf.eof()); +} +// END of read_file() + +/* >>: Reads the list of surface/buried residues from the stream Inf. + * See also the comments for read_file(). + */ +istream& operator>>(istream& Inf, Access_& Acc) +{ + if (!Inf) + { + cerr<<"\n? >>Access_: Cannot read from stream\n"; + return(Inf); + } + + unsigned int Rno; + if (!(Rno=Acc.Relsh.len())) // = intentional + { + cerr<<"\n? >>Access_: Please set size before input\n"; + return(Inf); + } + + static const unsigned int LINELEN=132; + char Line[LINELEN+1]; + istrstream Instr(Line+1, LINELEN); // buffer starts after 1st char! + unsigned int Lineno; + int Resno; + bool S; + + // process file line-by-line + Acc.Surface.set_values(false); + Acc.Buried.set_values(false); // reset + for (Lineno=1; Inf.good(); Lineno++) + { + Line[0]='\0'; Inf.getline(Line, LINELEN, '\n'); + // skip empty lines, comments + if (Line[0]=='#' || !strlen(Line)) continue; + + if (NULL==strchr("sSbB", Line[0])) + { + cerr<<"\n? >>Access_: First char must be [#sSbB] in line "<>Resno) + { + if (Instr.fail()) + { + cerr<<"\n? >>Access_: Malformed line ("<Rno) // check range + { + cerr<<"\n? >>Access_: Residue no. "<>Access_: Residues nonsensically specified as \"buried on surface\":\n"; + for (int i=0; i> + +/* <<: lists the residues marked as surface/buried to Out nicely. */ +ostream& operator<<(ostream& Out, const Access_& Access) +{ + if (!Access.Surface.on_no() && !Access.Buried.on_no()) + { + Out<<"# No residues with known accessibilities\n"; + return(Out); + } + + unsigned int i, k, Rno=Access.Relsh.len(); + Out<<"# List of residues with known accessibilities\n"; + if (Access.Surface.on_no()) + { + Out<<"# Residues known to be on the surface"; + for (i=k=0; i +#include +#include + +// ---- MODULE HEADERS ---- + +#include "Fakebeta.h" +#include "Polymer.h" + +// ---- UTILITY HEADERS ---- + +#include "Bits.h" +#include "Trimat.h" +#include "Points.h" + +// ==== CLASSES ==== + +/* Class Access_ : stores the relative "cone" accessibility of a + * structure. Can be asked to adjust accessibilities in Eucl space. + */ +class Access_ +{ + // data + private: + + /* The shieldedness states are as follows:- + * VERY_EXPOSED: <10 % + * MED_EXPOSED: 10..15 % + * SLGT_EXPOSED: 15..20 % + * AVERAGE: 20..80 % + * SLGT_BURIED: 80..85 % + * MED_BURIED: 85..90 % + * VERY_BURIED: >90 % + */ + enum Shstate_ {VERY_EXPOSED=0, MED_EXPOSED, SLGT_EXPOSED, AVERAGE, + SLGT_BURIED, MED_BURIED, VERY_BURIED}; + + Array_ Relsh; // the relative shield + + Array_ Di0, Dik; // centroid dist sq and i-k dist sq + Array_ Close; // index lookup + + Bits_ Surface, Buried; // residues with known accessibilities + + // methods + public: + + // constructors + /* Inits to keep track of Rno>=0 (default 0) amino acids. */ + Access_(unsigned int Rno=0): + Relsh(Rno), Di0(2*(Rno+2)), Dik(2*(Rno+2)), + Close(2*(Rno+2)), Surface(Rno), Buried(Rno) {} + + // size + /* set_size(): resets the size of the internal arrays to Rno, + * the number of residues in the chain. Returns old size. + * This routine must be called when the chain size changes. + */ + unsigned int set_size(unsigned int Rno); + + // adjustments and scoring + /* solvent_xyz(): calculates the accessibility of the structure Xyz + * given in Euclidean coordinates and performs an accessibility + * adjustment. The sequence is taken from Polymer. Non-H-bonded + * residues are moved outwards from the core so they need special + * treatment: Hbond is a [0..Rno-1] bit-vector in which every residue participating + * in a H-bond is marked true (can be obtained from a Pieces_ object). + * Dim mismatches are checked. + * Return value: 0 on error, 1 if OK. + */ + int solvent_xyz(const Polymer_& Polymer, const Bits_& Hbond, + Points_& Xyz); + + /* score_dist(),score_xyz(): calculate an accessibility score + * (optimum 0.0) for distance spaces and Euclidean objects, + * respectively. + * Return a very high value on error. + */ + float score_dist(const Polymer_& Polymer, const Trimat_& Dista); + float score_xyz(const Polymer_& Polymer, const Points_& Xyz); + + // Input/output + /* read_file(): reads known accessibilities from a file called Accfnm. + * If it is NULL (the default) or "", then the surface/buried bit-vectors + * are cleared. If Accfnm cannot be opened, then nothing is changed. + * The file format is as follows:- + * Lines starting with '#' are comments, + * [sS] ....\n are the nos. of residues known to be on the surface, + * [bB] ....\n are the nos. of residues known to be buried. + * Any number of residues may be listed after the initial s, S, b, B character + * provided the total length of the line does not exceed 132 characters, + * and any number of lines are allowed. The [sSbB] character must be the + * first character on the line and the numbers are separated by whitespaces. + * Duplicates are ignored. If a residue + * is specified as surface and buried at the same time, it will be regarded + * as an ordinary residue. Out-of-range residue numbers (outside 1..Rno) + * are ignored with a warning. + * Return value: number of lines processed. + */ + unsigned int read_file(const char *Accfnm=NULL); + + /* >>: Reads the list of surface/buried residues from the stream Inf. + * See also the comments for read_file(). + */ + friend istream& operator>>(istream& Inf, Access_& Acc); + + /* <<: lists the residues marked as surface/buried to Out nicely. */ + friend ostream& operator<<(ostream& Out, const Access_& Access); + + private: + void betacone_shield(const Trimat_& Dista, const Polymer_& Polymer); + int betacone_xyz(const Polymer_& Polymer, const Points_& Xyz); + float get_score(const Polymer_& Polymer) const; + static int get_shield(double Rsh, char Aa); + +}; +// END OF CLASS Access_ + +// ==== END OF HEADER Access.h ==== +#endif /* ACCESS_CLASS */ diff --git a/src++/Acdist.c++ b/src++/Acdist.c++ new file mode 100644 index 0000000..5ded336 --- /dev/null +++ b/src++/Acdist.c++ @@ -0,0 +1,583 @@ +// ==== PROJECT DRAGON: METHODS Acdist.c++ ==== + +/* For the storage and retrieval of side-chain atom + * distances from the C-alpha atom or the sidechain centroid. + */ + +// SGI C++, IRIX 6.2, 14. Aug. 1996. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include + +// ---- MODULE HEADER ---- + +#include "Acdist.h" + +// ==== Acdist_ METHODS ==== + +// ---- Static initialisation ---- + +const char* Acdist_::AAcodes="ACDEFGHIKLMNPQRSTVWY"; + +// ---- Access ---- + +/* ca_dist(), scc_dist(): return the distance of Atom from + * the C-alpha or the sidechain centroid for amino acid Aa, respectively. + * -1.0 returned and a warning printed if Aa or Atom was not found. + */ +float Acdist_::ca_dist(char Aa, const String_& Atom) const +{ + int Idx=get_idx(Aa); + if (Idx<0) + { + cerr<<"\n? Acdist_::ca_dist(): Invalid amino acid \'"<>(*this); + Inf.close(); + return(Inf.good() || Inf.eof()); +} +// END of read_file() + +/* >>: reads from the stream Inf. See comments to read_file() */ +istream& operator>>(istream& Inf, Acdist_& Acdist) +{ + if (!Inf) + { + cerr<<"\n? >>Acdist_: Cannot read from stream\n"; + return(Inf); + } + + static const unsigned int LINELEN=132; + char Line[LINELEN+1]; + istrstream Instr(Line, LINELEN); + char Aac; + String_ Atname(10); // PDB atom names are 4 chars: safety margin + float Ad, Cd; + int Lineno, Idx; + + // scan all lines + for (Lineno=1; Inf.good(); Lineno++) + { + Line[0]='\0'; Inf.getline(Line, LINELEN, '\n'); + if (!strlen(Line) || Line[0]=='#') continue; // skip comments and empty + + // read one line + Instr.seekg(ios::beg); Instr.clear(); + Instr>>Aac>>Atname>>Ad>>Cd; + + if (0>(Idx=Acdist.get_idx(Aac))) + { + cerr<<"\n? >>Acdist_: Illegal amino acid code \'" + <> + +// ==== Acs_ METHODS ==== + +// ---- Access ---- + +/* ca_dist(), scc_dist(): return the distance of Atom from + * the C-alpha or the sidechain centroid, respectively. + * -1.0 returned and a warning printed if Atom was not found. + */ +float Acs_::ca_dist(const String_& Atom) const +{ + if (Atom==String_("SCC")) return(scc_dist("CA")); + + const Acd_ *Acdptr=get_acdptr(Atom); + return(Acdptr==NULL? -1.0: Acdptr->Adist); +} + +float Acs_::scc_dist(const String_& Atom) const +{ + if (Atom==String_("SCC")) return(0.0); + + const Acd_ *Acdptr=get_acdptr(Atom); + return(Acdptr==NULL? -1.0: Acdptr->Cdist); +} + +/* set_acd(): stores the distances of Atom from the CA and the + * side chain centroid (Ad, Cd). Prints a warning and does + * nothing if Atom was invalid or if Ad or Cd were negative. + * Return value: 0 on error, non-0 otherwise. + */ +int Acs_::set_acd(const String_& Atom, float Ad, float Cd) +{ + if (Ad<0.0 || Cd<0.0) + { + cerr<<"\n? Acs_::set_acd(): Negative distance(s)\n"; + return(0); + } + + Acd_ *Acdptr=(Acd_ *)get_acdptr(Atom); + if (Acdptr==NULL) return(0); + + Acdptr->Adist=Ad; + Acdptr->Cdist=Cd; + return(1); +} +// END of set_acd() + +// ---- Setup ---- + +// Modified 12-Jul-1997 when porting to GCC. + +/* set_dists(): sets up the sidechain atom distances (from CA and + * centroid) for amino acid Aac. If Aac is lowercase, then it + * is converted to uppercase. If Aac is illegal, then it is + * assumed to be 'X' ("anything" or "unknown"). 'X' will store + * nothing at all, though. In all valid cases, an internal array + * is set up to hold the names of the sidechain atoms (according to + * the PDB convention) and their distances. By default, these + * distances will be taken from the most abundant rotamers (>=10%) in + * the Ponder/Richards library as defined in Quanta 4.1. + */ +void Acs_::set_dists(char Aac) +{ + Aa=toupper(Aac); + if (Aa<'A' || Aa>'Z') Aa='X'; // unknown + switch(Aa) + { + case 'A': ala(); break; + case 'C': cys(); break; + case 'D': asp(); break; + case 'E': glu(); break; + case 'F': phe(); break; + case 'G': gly(); break; + case 'H': his(); break; + case 'I': ile(); break; + case 'K': lys(); break; + case 'L': leu(); break; + case 'M': met(); break; + case 'N': asn(); break; + case 'P': pro(); break; + case 'Q': gln(); break; + case 'R': arg(); break; + case 'S': ser(); break; + case 'T': thr(); break; + case 'V': val(); break; + case 'W': trp(); break; + case 'Y': tyr(); break; + case 'B': // undefined or unknown amino acids + case 'J': // fall through... + case 'O': + case 'U': + case 'X': + case 'Z': + default: unk(); + } +} +// END of set_dists() + +// ---- Rotamer setup functions ---- + +/* ala(),...,unk(): These little functions set up the interatomic distance data + * for each average rotamer. set_dists() uses them and holds + * pointers to each in an array. + * unk() handles "unknown" (non-standard) amino acids. All private + */ +void Acs_::ala() +{ + Acds.len(7); + Acds[0]=Acd_("CA", 0.00, 1.61); + Acds[1]=Acd_("CB", 1.53, 0.08); + Acds[2]=Acd_("HA", 1.09, 2.22); + Acds[3]=Acd_("1HB", 2.17, 1.07); + Acds[4]=Acd_("2HB", 2.19, 1.07); + Acds[5]=Acd_("3HB", 2.17, 1.07); + Acds[6]=Acd_("H", 2.13, 3.25); +} +void Acs_::cys() +{ + Acds.len(8); + Acds[0]=Acd_("CA", 0.00, 2.36); + Acds[1]=Acd_("CB", 1.53, 1.27); + Acds[2]=Acd_("SG", 2.80, 0.55); + Acds[3]=Acd_("HA", 1.09, 2.73); + Acds[4]=Acd_("1HB", 2.15, 1.88); + Acds[5]=Acd_("2HB", 2.17, 1.92); + Acds[6]=Acd_("HG", 3.49, 1.59); + Acds[7]=Acd_("H", 2.13, 3.85); +} +void Acs_::asp() +{ + Acds.len(9); + Acds[0]=Acd_("CA", 0.00, 2.56); + Acds[1]=Acd_("CB", 1.53, 1.50); + Acds[2]=Acd_("CG", 2.59, 0.06); + Acds[3]=Acd_("OD1", 2.83, 1.27); + Acds[4]=Acd_("OD2", 3.70, 1.24); + Acds[5]=Acd_("HA", 1.09, 2.86); + Acds[6]=Acd_("1HB", 2.14, 2.12); + Acds[7]=Acd_("2HB", 2.16, 2.11); + Acds[8]=Acd_("H", 2.13, 4.08); +} +void Acs_::glu() +{ + Acds.len(12); + Acds[0]=Acd_("CA", 0.00, 3.40); + Acds[1]=Acd_("CB", 1.53, 2.10); + Acds[2]=Acd_("CG", 2.69, 1.12); + Acds[3]=Acd_("CD", 3.92, 0.54); + Acds[4]=Acd_("OE1", 4.21, 1.33); + Acds[5]=Acd_("OE2", 4.93, 1.72); + Acds[6]=Acd_("HA", 1.09, 3.62); + Acds[7]=Acd_("1HB", 2.13, 2.45); + Acds[8]=Acd_("2HB", 2.15, 2.35); + Acds[9]=Acd_("1HG", 2.98, 1.86); + Acds[10]=Acd_("2HG", 3.05, 1.88); + Acds[11]=Acd_("H", 2.13, 5.00); +} +void Acs_::phe() +{ + Acds.len(17); + Acds[0]=Acd_("CA", 0.00, 3.71); + Acds[1]=Acd_("CB", 1.53, 2.57); + Acds[2]=Acd_("CG", 2.68, 1.05); + Acds[3]=Acd_("CD1", 3.52, 1.25); + Acds[4]=Acd_("CD2", 3.76, 1.28); + Acds[5]=Acd_("CE1", 4.91, 1.68); + Acds[6]=Acd_("CE2", 5.08, 1.70); + Acds[7]=Acd_("CZ", 5.55, 1.86); + Acds[8]=Acd_("HA", 1.09, 4.04); + Acds[9]=Acd_("1HB", 2.11, 2.99); + Acds[10]=Acd_("2HB", 2.16, 3.03); + Acds[11]=Acd_("HD1", 3.45, 2.33); + Acds[12]=Acd_("HD2", 3.89, 2.35); + Acds[13]=Acd_("HE1", 5.68, 2.76); + Acds[14]=Acd_("HE2", 5.94, 2.78); + Acds[15]=Acd_("HZ", 6.64, 2.95); + Acds[16]=Acd_("H", 2.13, 5.03); +} +void Acs_::gly() +{ + Acds.len(4); + Acds[0]=Acd_("CA", 0.00, 1.09); + Acds[1]=Acd_("HA", 1.09, 1.79); + Acds[2]=Acd_("2HA", 1.09, 0.00); + Acds[3]=Acd_("H", 2.13, 2.84); +} +void Acs_::his() +{ + Acds.len(14); + Acds[0]=Acd_("1HB", 2.14, 2.80); + Acds[1]=Acd_("2HB", 2.15, 2.81); + Acds[2]=Acd_("CA", 0.00, 3.16); + Acds[3]=Acd_("CB", 1.53, 2.24); + Acds[4]=Acd_("CG", 2.59, 0.69); + Acds[5]=Acd_("CD2", 3.54, 1.12); + Acds[6]=Acd_("CE1", 4.37, 1.44); + Acds[7]=Acd_("ND1", 3.34, 1.08); + Acds[8]=Acd_("NE2", 4.54, 1.61); + Acds[9]=Acd_("HA", 1.09, 3.38); + Acds[10]=Acd_("HD1", 3.59, 2.02); + Acds[11]=Acd_("HD2", 3.91, 2.18); + Acds[12]=Acd_("HE1", 5.29, 2.52); + Acds[13]=Acd_("H", 2.13, 4.52); +} +void Acs_::ile() +{ + Acds.len(16); + Acds[0]=Acd_("CA", 0.00, 2.47); + Acds[1]=Acd_("CB", 1.53, 1.08); + Acds[2]=Acd_("CG1", 2.66, 1.00); + Acds[3]=Acd_("CG2", 2.63, 1.82); + Acds[4]=Acd_("CD1", 3.97, 1.79); + Acds[5]=Acd_("HA", 1.09, 2.88); + Acds[6]=Acd_("HB", 2.06, 1.71); + Acds[7]=Acd_("1HG1", 2.96, 1.75); + Acds[8]=Acd_("1HG2", 3.58, 2.01); + Acds[9]=Acd_("2HG1", 2.95, 1.91); + Acds[10]=Acd_("2HG2", 2.89, 2.76); + Acds[11]=Acd_("3HG2", 2.92, 2.34); + Acds[12]=Acd_("1HD1", 4.75, 2.73); + Acds[13]=Acd_("2HD1", 4.27, 2.21); + Acds[14]=Acd_("3HD1", 4.27, 2.09); + Acds[15]=Acd_("H", 2.13, 4.03); +} +void Acs_::lys() +{ + Acds.len(19); + Acds[0]=Acd_("CA", 0.00, 4.06); + Acds[1]=Acd_("CB", 1.53, 2.82); + Acds[2]=Acd_("CG", 2.71, 1.53); + Acds[3]=Acd_("CD", 4.01, 0.31); + Acds[4]=Acd_("CE", 5.32, 1.38); + Acds[5]=Acd_("NZ", 6.49, 2.48); + Acds[6]=Acd_("HA", 1.09, 4.19); + Acds[7]=Acd_("1HB", 2.11, 3.21); + Acds[8]=Acd_("2HB", 2.13, 3.10); + Acds[9]=Acd_("1HG", 2.92, 2.06); + Acds[10]=Acd_("2HG", 3.05, 2.07); + Acds[11]=Acd_("1HD", 4.29, 1.31); + Acds[12]=Acd_("2HD", 4.15, 1.29); + Acds[13]=Acd_("1HE", 5.47, 1.97); + Acds[14]=Acd_("2HE", 5.57, 1.98); + Acds[15]=Acd_("1HZ", 7.33, 3.32); + Acds[16]=Acd_("2HZ", 6.67, 2.78); + Acds[17]=Acd_("3HZ", 6.58, 2.77); + Acds[18]=Acd_("H", 2.13, 5.57); +} +void Acs_::leu() +{ + Acds.len(16); + Acds[0]=Acd_("CA", 0.00, 2.82); + Acds[1]=Acd_("CB", 1.53, 1.62); + Acds[2]=Acd_("CG", 2.76, 0.32); + Acds[3]=Acd_("CD1", 3.96, 1.53); + Acds[4]=Acd_("CD2", 3.52, 1.53); + Acds[5]=Acd_("HA", 1.09, 3.01); + Acds[6]=Acd_("1HB", 2.10, 2.23); + Acds[7]=Acd_("2HB", 2.11, 2.12); + Acds[8]=Acd_("HG", 2.96, 1.41); + Acds[9]=Acd_("1HD1", 4.84, 2.24); + Acds[10]=Acd_("2HD1", 4.10, 2.28); + Acds[11]=Acd_("3HD1", 4.29, 2.04); + Acds[12]=Acd_("1HD2", 4.49, 2.23); + Acds[13]=Acd_("2HD2", 3.84, 2.04); + Acds[14]=Acd_("3HD2", 3.36, 2.26); + Acds[15]=Acd_("H", 2.13, 4.44); +} +void Acs_::met() +{ + Acds.len(14); + Acds[0]=Acd_("CA", 0.00, 3.26); + Acds[1]=Acd_("CB", 1.53, 2.06); + Acds[2]=Acd_("CG", 2.69, 1.24); + Acds[3]=Acd_("SD", 3.88, 0.85); + Acds[4]=Acd_("CE", 4.68, 1.79); + Acds[5]=Acd_("HA", 1.09, 3.36); + Acds[6]=Acd_("1HB", 2.12, 2.52); + Acds[7]=Acd_("2HB", 2.15, 2.25); + Acds[8]=Acd_("1HG", 2.92, 2.15); + Acds[9]=Acd_("2HG", 3.27, 1.81); + Acds[10]=Acd_("1HE", 5.55, 2.65); + Acds[11]=Acd_("2HE", 5.13, 2.32); + Acds[12]=Acd_("3HE", 4.30, 2.09); + Acds[13]=Acd_("H", 2.13, 4.90); +} +void Acs_::asn() +{ + Acds.len(11); + Acds[0]=Acd_("CA", 0.00, 2.57); + Acds[1]=Acd_("CB", 1.53, 1.53); + Acds[2]=Acd_("CG", 2.57, 0.05); + Acds[3]=Acd_("ND2", 3.54, 1.30); + Acds[4]=Acd_("OD1", 3.05, 1.28); + Acds[5]=Acd_("HA", 1.09, 2.86); + Acds[6]=Acd_("1HB", 2.15, 2.12); + Acds[7]=Acd_("2HB", 2.18, 2.13); + Acds[8]=Acd_("2HD2", 3.77, 1.98); + Acds[9]=Acd_("1HD2", 4.29, 2.00); + Acds[10]=Acd_("H", 2.13, 4.12); +} +void Acs_::pro() +{ + Acds.len(11); + Acds[0]=Acd_("CA", 0.00, 1.97); + Acds[1]=Acd_("CB", 1.58, 1.28); + Acds[2]=Acd_("CG", 2.49, 0.59); + Acds[3]=Acd_("CD", 2.46, 1.28); + Acds[4]=Acd_("HA", 1.09, 2.69); + Acds[5]=Acd_("1HB", 2.24, 2.14); + Acds[6]=Acd_("2HB", 2.22, 1.94); + Acds[7]=Acd_("1HG", 3.03, 1.54); + Acds[8]=Acd_("2HG", 3.39, 1.50); + Acds[9]=Acd_("1HD", 3.35, 2.13); + Acds[10]=Acd_("2HD", 3.03, 1.94); +} +void Acs_::gln() +{ + Acds.len(14); + Acds[0]=Acd_("CA", 0.00, 3.39); + Acds[1]=Acd_("CB", 1.53, 2.08); + Acds[2]=Acd_("CG", 2.70, 1.16); + Acds[3]=Acd_("CD", 3.89, 0.53); + Acds[4]=Acd_("OE1", 4.80, 1.67); + Acds[5]=Acd_("NE2", 4.32, 1.44); + Acds[6]=Acd_("HA", 1.09, 3.62); + Acds[7]=Acd_("1HB", 2.12, 2.47); + Acds[8]=Acd_("2HB", 2.14, 2.33); + Acds[9]=Acd_("1HG", 2.96, 1.91); + Acds[10]=Acd_("2HG", 3.11, 1.90); + Acds[11]=Acd_("1HE2", 5.23, 2.26); + Acds[12]=Acd_("2HE2", 3.99, 1.90); + Acds[13]=Acd_("H", 2.13, 4.91); +} +void Acs_::arg() +{ + Acds.len(21); + Acds[0]=Acd_("CA", 0.00, 4.95); + Acds[1]=Acd_("CB", 1.53, 3.67); + Acds[2]=Acd_("CG", 2.67, 2.29); + Acds[3]=Acd_("CD", 4.10, 1.03); + Acds[4]=Acd_("NE", 5.21, 0.53); + Acds[5]=Acd_("CZ", 6.52, 1.59); + Acds[6]=Acd_("NH1", 7.35, 2.61); + Acds[7]=Acd_("NH2", 7.20, 2.42); + Acds[8]=Acd_("HA", 1.09, 5.19); + Acds[9]=Acd_("1HB", 2.13, 3.90); + Acds[10]=Acd_("2HB", 2.13, 3.93); + Acds[11]=Acd_("1HG", 2.90, 2.64); + Acds[12]=Acd_("2HG", 2.89, 2.61); + Acds[13]=Acd_("1HD", 4.39, 1.64); + Acds[14]=Acd_("2HD", 4.41, 1.69); + Acds[15]=Acd_("HE", 5.09, 1.41); + Acds[16]=Acd_("1HH1", 8.32, 3.51); + Acds[17]=Acd_("2HH1", 7.14, 2.84); + Acds[18]=Acd_("1HH2", 8.19, 3.37); + Acds[19]=Acd_("2HH2", 6.84, 2.50); + Acds[20]=Acd_("H", 2.13, 6.32); +} +void Acs_::ser() +{ + Acds.len(8); + Acds[0]=Acd_("CA", 0.00, 2.01); + Acds[1]=Acd_("CB", 1.53, 0.78); + Acds[2]=Acd_("OG", 2.46, 0.66); + Acds[3]=Acd_("HA", 1.09, 2.60); + Acds[4]=Acd_("1HB", 2.14, 1.50); + Acds[5]=Acd_("2HB", 2.17, 1.52); + Acds[6]=Acd_("HG", 3.30, 1.30); + Acds[7]=Acd_("H", 2.13, 3.49); +} +void Acs_::thr() +{ + Acds.len(11); + Acds[0]=Acd_("CA", 0.00, 2.02); + Acds[1]=Acd_("CB", 1.53, 0.62); + Acds[2]=Acd_("OG1", 2.44, 1.19); + Acds[3]=Acd_("CG2", 2.67, 1.32); + Acds[4]=Acd_("HA", 1.09, 2.55); + Acds[5]=Acd_("HB", 2.10, 1.49); + Acds[6]=Acd_("HG1", 2.40, 1.78); + Acds[7]=Acd_("1HG2", 3.57, 1.78); + Acds[8]=Acd_("2HG2", 2.95, 2.22); + Acds[9]=Acd_("3HG2", 2.94, 1.86); + Acds[10]=Acd_("H", 2.13, 3.55); +} +void Acs_::val() +{ + Acds.len(13); + Acds[0]=Acd_("CA", 0.00, 2.07); + Acds[1]=Acd_("CB", 1.53, 0.65); + Acds[2]=Acd_("CG1", 2.65, 1.35); + Acds[3]=Acd_("CG2", 2.63, 1.35); + Acds[4]=Acd_("HA", 1.09, 2.54); + Acds[5]=Acd_("HB", 2.10, 1.48); + Acds[6]=Acd_("1HG1", 3.59, 1.82); + Acds[7]=Acd_("2HG1", 2.93, 2.25); + Acds[8]=Acd_("3HG1", 2.95, 1.94); + Acds[9]=Acd_("1HG2", 3.58, 1.82); + Acds[10]=Acd_("2HG2", 2.91, 1.94); + Acds[11]=Acd_("3HG2", 2.91, 2.24); + Acds[12]=Acd_("H", 2.13, 3.69); +} +void Acs_::trp() +{ + Acds.len(21); + Acds[0]=Acd_("CA", 0.00, 3.89); + Acds[1]=Acd_("CB", 1.53, 3.06); + Acds[2]=Acd_("CG", 2.59, 1.65); + Acds[3]=Acd_("CD1", 3.56, 2.12); + Acds[4]=Acd_("CD2", 3.49, 0.49); + Acds[5]=Acd_("NE1", 4.66, 1.93); + Acds[6]=Acd_("CE2", 4.60, 0.92); + Acds[7]=Acd_("CE3", 3.96, 1.69); + Acds[8]=Acd_("CZ2", 5.83, 2.03); + Acds[9]=Acd_("CZ3", 5.33, 2.45); + Acds[10]=Acd_("CH2", 6.13, 2.58); + Acds[11]=Acd_("HA", 1.09, 4.01); + Acds[12]=Acd_("1HB", 2.14, 3.59); + Acds[13]=Acd_("2HB", 2.16, 3.52); + Acds[14]=Acd_("HD1", 3.86, 3.22); + Acds[15]=Acd_("HE1", 5.52, 2.81); + Acds[16]=Acd_("HE3", 3.64, 2.59); + Acds[17]=Acd_("HH2", 7.18, 3.66); + Acds[18]=Acd_("HZ2", 6.72, 2.98); + Acds[19]=Acd_("HZ3", 5.96, 3.51); + Acds[20]=Acd_("H", 2.13, 5.33); +} +void Acs_::tyr() +{ + Acds.len(18); + Acds[0]=Acd_("CA", 0.00, 4.09); + Acds[1]=Acd_("CB", 1.53, 3.09); + Acds[2]=Acd_("CG", 2.70, 1.52); + Acds[3]=Acd_("CD1", 3.53, 1.43); + Acds[4]=Acd_("CD2", 3.69, 1.45); + Acds[5]=Acd_("CE1", 4.84, 1.40); + Acds[6]=Acd_("CE2", 4.96, 1.42); + Acds[7]=Acd_("CZ", 5.42, 1.38); + Acds[8]=Acd_("OH", 6.72, 2.76); + Acds[9]=Acd_("HA", 1.09, 4.28); + Acds[10]=Acd_("1HB", 2.10, 3.56); + Acds[11]=Acd_("2HB", 2.16, 3.58); + Acds[12]=Acd_("HD1", 3.55, 2.53); + Acds[13]=Acd_("HE1", 5.63, 2.49); + Acds[14]=Acd_("HD2", 3.85, 2.54); + Acds[15]=Acd_("HE2", 5.78, 2.51); + Acds[16]=Acd_("HH", 7.27, 3.24); + Acds[17]=Acd_("H", 2.13, 5.42); +} +void Acs_::unk() +{ + cerr<<"\n? Acs_::set_dists(X): Unknown amino acid, prepare for trouble...\n"; + Acds.len(0); +} + +// ==== END OF METHODS Acdist.c++ ==== diff --git a/src++/Acdist.h b/src++/Acdist.h new file mode 100644 index 0000000..46b02f8 --- /dev/null +++ b/src++/Acdist.h @@ -0,0 +1,215 @@ +#ifndef ACDIST_CLASSES +#define ACDIST_CLASSES + +// ==== PROJECT DRAGON: HEADER Acdist.h ==== + +/* For the storage and retrieval of side-chain atom + * distances from the C-alpha atom or the sidechain centroid. + */ + +// SGI C++, IRIX 6.2, 8. Aug. 1996. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include +#include +#include + +// ---- UTILITY HEADERS ---- + +#include "String.h" +#include "Array.h" + +// ==== CLASSES ==== + +/* Class Acs_: this class stores the side-chain atom + * distances from the C-alpha atom and the sidechain centroid + * for each "standard" amino acid. Can be queried for these + * distances. + */ +class Acs_ +{ + friend class Acdist_; + + /* struct Acd_: stores the name of the sidechain atom + * according to the PDB conventions, and the distance of + * the atom from the C-alpha and the sidechain centroid. + */ + struct Acd_ + { + String_ Atname; // atom name + float Adist, Cdist; // CA and centroid distances + + Acd_(const char *Atn=NULL, float Ad=0.0, float Cd=0.0) + : Atname(Atn), Adist(Ad), Cdist(Cd) {} + }; + // END OF STRUCT Acd_ + + // data + + char Aa; // the amino acid type + Array_ Acds; // array of Acd_ entries + + // all methods are private + + // access + /* ca_dist(), scc_dist(): return the distance of Atom from + * the C-alpha or the sidechain centroid, respectively. + * -1.0 returned and a warning printed if Atom was not found. + */ + float ca_dist(const String_& Atom) const; + float scc_dist(const String_& Atom) const; + + /* set_acd(): stores the distances of Atom from the CA and the + * side chain centroid (Ad, Cd). Prints a warning and does + * nothing if Atom was invalid or if Ad or Cd were negative. + * Return value: 0 on error, non-0 otherwise. + */ + int set_acd(const String_& Atom, float Ad, float Cd); + + /* get_acdptr(): returns a const pointer to the Acd_ record + * for the side chain atom Atom if it is part of the side chain + * of the calling object; otherwise, NULL is returned and a + * warning is printed. + */ + const Acd_* get_acdptr(const String_& Atom) const + { + if (!Acds.len()) // 12-Jul-1997 + { + cerr<<"\n? Acs_::get_acdptr(): Empty amino acid atom list\n"; + return(NULL); + } + for (register unsigned int i=0; i=10%) in + * the Ponder/Richards library as defined in Quanta 4.1. + */ + void set_dists(char Aac); + + void ala(); + void cys(); + void asp(); + void glu(); + void phe(); + void gly(); + void his(); + void ile(); + void lys(); + void leu(); + void met(); + void asn(); + void pro(); + void gln(); + void arg(); + void ser(); + void thr(); + void val(); + void trp(); + void tyr(); + void unk(); +}; +// END OF CLASS Acs_ + +/* Class Acdist_: this class stores an array of Acs_ objects, + * one for each amino acid. The side-chain atom distances + * from the C-alpha and sidechain centroid can be queried + * safely here. Distance data may be read from a file. + * This class represents the public interface to this module. + */ +class Acdist_ +{ + // data + private: + + static const char *AAcodes; // legal amino acid codes (1-letter) + Acs_ Acss[20]; // simple array holding Acs_ objects for each amino acid + + // methods + public: + + // constructor + /* Inits to the distances in file Fname or to the defaults + * (cf. Acs_::set_dists()) if Fname is "" or NULL (the default). + */ + Acdist_(const char *Fname=NULL) + { + reset(); + read_file(Fname); + } + + // access + /* reset(): resets all amino acid sidechain distances to their default values + * as defined in Acs_::set_dists(). + */ + void reset() + { + for (register unsigned int i=0; i>: reads from the stream Inf. See comments to read_file() */ + friend istream& operator>>(istream& Inf, Acdist_& Acdist); + + // private and forbidden methods + private: + + static int get_idx(char Aa) + { + if (!Aa || !isalpha(Aa)) return(-1); // \0 was found by strchr() GCC/Linux + Aa=toupper(Aa); + char *Pos=strchr(AAcodes, Aa); + return((Pos==NULL)? -1: Pos-AAcodes); + } + + int set_acd(unsigned int Idx, const String_& Atom, float Ad, float Cd) + { return(Acss[Idx].set_acd(Atom, Ad, Cd)); } + + Acdist_(const Acdist_&); // no copy or assignment + Acdist_& operator=(const Acdist_&); +}; +// END OF CLASS Acdist_ + +// ==== END OF HEADER Acdist.h ==== +#endif /* ACDIST_CLASSES */ + diff --git a/src++/Align.c++ b/src++/Align.c++ new file mode 100644 index 0000000..f52898f --- /dev/null +++ b/src++/Align.c++ @@ -0,0 +1,726 @@ +// ==== PROJECT DRAGON: METHODS Align.c++ ==== + +/* Class for storing multiple alignments. */ + +// SGI C++, 12-Feb-1998. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include +#include +#include +#include +#include + +// ---- CLASS HEADER ---- + +#include "Align.h" + +// ---- STATIC DEFINITIONS ---- + +const int Align_::MAXSEQLEN=2048; +const int Align_::MAXSEQNO=256; +const char Align_::GAP='-'; +const int Align_::LINELEN=81; + +// ==== Align_ METHODS ==== + +// ---- Constructors ---- + +/* Inits to hold MAXSEQLEN strings by default: members are NULL. */ +Align_::Align_(): Len(MAXSEQLEN), Seqno(0) +{ + Aln=new char* [MAXSEQLEN]; + for (register unsigned int i=0; i=Seqno) + { + cerr<<"\n? Align_::seq("<=Seqno) + { + cerr<<"\n? Align_::seq_len("<=Len) + { + cerr<<"\n? Align_::pos("<=Seqno) + { + cerr<<"\n? Align_::align_pos("<=Len) + { + cerr<<"\n? Align_::align_pos(..., "<=Seqno) + { + cerr<<"\n? Align_::seq_pos("<=Len) + { + cerr<<"\n? Align_::seq_pos(..., "<MAXSEQLEN then it'll be reset silently to MAXSEQLEN. + * Seqno will always be set to 0. + */ +void Align_::reset(unsigned int L) +{ + register unsigned int i; + for (i=0; i=MAXSEQLEN) L=MAXSEQLEN; // reset size silently if L is silly + Aln=new char* [Len=L]; + for (i=0; i>(*this); // input in one go + Infile.close(); + + return((Infile.good() || Infile.eof())? len(): 0); +} +// END of read_file() + +/* >>: tries to input an alignment file from Inf into Align. + * Tries the vertical MULTAL format, GCG's MSF, PIR format. + * If none succeeds, then Inf's failbit is set, the stream is rewound to + * its position prior to the input and Align is not modified. + */ +istream& operator>>(istream& Inf, Align_& Align) +{ + cout<<"\n# >> Align_: Trying MULTAL format...\n"; + if (Align.read_multal(Inf)) + { + cout<<"# >> Align_: MULTAL parsing successful, seqno="<> Align_: not in MULTAL format...\n"; + + // not MULTAL, read_multal() has rewound Inf + cout<<"\n# >> Align_: Trying GCG-MSF format...\n"; + if (Align.read_msf(Inf)) + { + cout<<"# >> Align_: MSF parsing successful, seqno="<> Align_: not in MSF format...\n"; + + // try PIR format + cout<<"\n# >> Align_: Trying PIR format...\n"; + if (Align.read_pir(Inf)) + { + cout<<"# >> Align_: PIR parsing successful, seqno="<> Align_: not in PIR format...\n"; + + // bad luck + cerr<<"\n? >>Align_: Sorry, cannot parse alignment file\n"; + Inf.clear(Inf.rdstate()|ios::failbit); + return(Inf); +} +// END of >> + +/* read_multal(): reads a MULTAL-like multiple alignment file from the stream Inf. + * If the input was successful, then the number of sequences (>0) + * is returned. If the file could not be parsed, then 0 is returned + * and Inf is reset to its status before the call. Private + */ +int Align_::read_multal(istream& Inf) +{ + if (!Inf) + { + cerr<<"\n? Align_::read_multal(): Cannot read input stream\n"; + return(0); + } + streampos Origpos=Inf.tellg(); // save original position + long Origflags=Inf.flags(); // and format state + int Origstate=Inf.rdstate(); // and error state + + char Line[MAXSEQNO+3]; // input buffer + istrstream Inline(Line, MAXSEQNO+2); // space for trailing \n\0 + char *Seqptr=NULL; // ptr to sequence name + unsigned int Lineno, Newlen=0; + int Sno=0, Blockseen=0; + char **Temp=NULL; + + // process line by line + for (Lineno=0; Inf && Newlen"); + if (Seqptr!=NULL) + { + cout<<"# Sequence:"<<(Seqptr+5)<=7 && !strncmp(Line, "Seqno ", 6)) // DRAGON + Inline.seekg(6, ios::beg); // position after "Seqno" + else + { + // check for the presence of the block number + if (!Blockseen) + Blockseen=(Line[0]=='B' || Line[0]=='b') && + !strncmp(Line+1, "lock", 4); + if (!Blockseen) continue; + + // assuming CAMELEON variant, find '=' + Seqptr=strchr(Line+6, '='); + if (Seqptr==NULL) Seqptr=Line-1; // MSAP variant? + if (NULL!=strstr(Line, "seqs")) + Inline.seekg(Seqptr-Line+1, ios::beg); // pos before "%d seqs" + else continue; + } + + Inline>>Sno; + if (!Inline || !Sno) + { + cerr<<"\n? Align_::read_multal(): Sequence no. "<>setw(6)>>Namestr>> + setw(LINELEN)>>Names[Sno]>>setw(5)>>Lenstr>>Seqlen; + if (!Inline || strcmp(Namestr, "Name:") || strcmp(Lenstr, "Len:")) + { + // the current line is not a name line + if (Maxlen) // finish name processing + { + Newlen=Maxlen; + Temp=new char* [Newlen]; // set up temporary storage + for (p=0; pMaxlen) Maxlen=Seqlen; // update alignment length + Namelen=strlen(Names[Sno]); + if (Namelen>Maxnamelen) Maxnamelen=Namelen; // sequence name length + Sno++; continue; // count sequences + } + } + + /* Alignment lines are prepended with the (right-justified) + * sequence names. Scur indicates the current sequence, Pcur + * the alignment position. We allow any garbage between alignment + * blocks (i.e. when Scur==0), but not between lines. + */ + Inline>>setw(LINELEN)>>Namebuf; + if (!Inline || !Scur && strcmp(Names[0], Namebuf)) + continue; // was not an alignment line, skip + if (strcmp(Names[Scur], Namebuf)) // mismatch! + { + cerr<<"\n? Align_::read_msf(): Seqname tag \""<Maxlen) Maxlen=Seqlen; // might have different lengths? + for (p=Pcur; pP1;seq_name" + * then a second comment line which is ignored, + * then the sequence lines, terminated by a "*". + * Pirstatus stores what to parse next. + */ + enum { P1_LINE, SECOND_LINE, SEQ_LINE } Pirstatus=P1_LINE; + + // make room for MAXSEQNO sequences + Temp=new char* [MAXSEQNO]; + + // process line by line + for (Lineno=0; Inf; Lineno++) + { + Line[0]='\0'; // reset input buffer line + Inf.getline(Line, MAXSEQLEN+LINELEN, '\n'); + if (Line[0]=='#' || Line[0]=='\0' || Line[0]=='\n') + continue; // skip comments and empty lines + + // depending on Pirstatus, decide what to parse + switch (Pirstatus) + { + case P1_LINE: // look for a new sequence name + Cptr=strstr(Line, ">P1;"); + if (Cptr!=NULL) // first line found + { + cout<<"# Sequence: "<<(Cptr+4)<MAXSEQLEN) + { + cerr<<"\n? >>Align_::read_pir(): line "<< + (Lineno+1)<<": Sequence too long ('*' missing?)\n"; + Pirstatus=P1_LINE; + break; // throw whole line away: perhaps too drastic + } + strcpy(Temp[Sno]+Pcur, Line); // transfer cleansed chunk + Pcur+=Chunklen; + if (Pirstatus==P1_LINE) + { + if (Pcur>Maxlen) Maxlen=Pcur; // save maximal sequence length + Sno++; // prepare for next round + } + break; + } // switch Pirstatus + } // for Lineno + + if (!Sno || !Maxlen) // something went wrong + { + cerr<<"\n? Align_::read_pir(): Input file is not in PIR format\n"; + Inf.flags(Origflags); Inf.seekg(Origpos); // reset Inf to status before call + Inf.clear(Origstate); + Sno=0; + } + else // was OK + { + // check if all sequences have the same length, pad shorter ones with gaps + int Slen; + for (s=0; s"<Sno)? Sno: Inlen); // trunc if necessary + return(Outstr); +} +// END of check_vertical() + +/* check_horizontal(): checks if the argument string Instr corresponds to + * the horizontal alignment format. Currently this is GCG's MSF, but + * the usual gap character '-' is also accepted. Instr is modified + * as follows: lowercase characters are converted to uppercase, the MSF + * gap characters '.' are changed to '-', unrecognised characters are + * replaced by 'X' with a warning, whitespaces removed. + * Return value: the new length of Instr. Private static + */ +int Align_::check_horizontal(char *Instr) +{ + int p, q, Inlen=strlen(Instr); + char Aa; + + for (p=q=0; p[A-Z] + switch(Aa) + { + case GAP: case '.': Instr[q++]=GAP; break; // MSF or normal gap-> normal gap + case ' ': case '\t': case '\n': break; // skip ws + default: + cerr<<"\n? Align_::check_horizontal(): Illegal AA code \'"<< + Aa<<"\', replaced by \'X\'\n"; + Instr[q++]='X'; + break; + } + } + Instr[q]='\0'; // terminate and return + return(q); +} +// END of check_horizontal() + +/* <<: output to ostream Out, in a very simple format, + * just the sequences under each other, no extra info. + */ +ostream& operator<<(ostream& Out, const Align_& A) +{ + static const int SPACE_INTERVAL=10, CHARS_PER_LINE=60; + int p, pst, s; + + for (pst=0; pst +#include + +// ==== CLASSES ==== + +/* Class Align_: stores a multiple alignment. Modifiable only + * by the read_file() method that understands a MULTAL-like + * input. Can be queried for individual sequences and + * individual alignment positions. + */ +class Align_ +{ + // data + private: + + static const int MAXSEQLEN; // maximal sequence length + static const int MAXSEQNO; // maximal number of sequences + static const char GAP; // the gap character + static const int LINELEN; // the maximal width of a normal input line + + char **Aln; // like in MULTAL, sequences run "vertically" (Len x Seqno array) + unsigned int Len, Seqno; // Seqno sequences, total length is Len + + // methods + public: + + // constructors + /* Inits to hold MAXSEQLEN strings by default: members are NULL. */ + Align_(); + + // destructor + ~Align_(); + + // access + + /* The sizes can be changed by read_file() only. Note that + * len() returns 0 if there are no sequences even though the + * allocated length of the alignment is MAXSEQLEN inside + */ + unsigned int len() const { return(Seqno? Len: 0); } + unsigned int seq_no() const { return(Seqno); } + + /* seq(): returns the Idx-th sequence in Seq the size of which will be + * appropriately adjusted. If Idx is out of range then a warning is + * printed, nothing is done and 0 is returned, otherwise the + * actual sequence length is returned. This can be shorter + * than the safely allocated array because the gaps are skipped. + */ + unsigned int seq(unsigned int Idx, char *& Seq) const; + + /* seq_len(): returns the "net length" of the Idx-th sequence in the + * alignment, i.e. the number of positions minus the gaps. + */ + unsigned int seq_len(unsigned int Idx) const; + + /* pos(): returns the Idx-th alignment position as a const char*. + * If Idx is out of range then a warning is printed and NULL is returned. + */ + const char* pos(unsigned int Idx) const; + + /* align_pos(): returns the alignment position which contains + * the Pos:th position of the Idx:th sequence. Idx must be + * in the range [0..Seqno-1]. Pos is smaller than the length of + * the sequence. The returned position falls within [0..Len-1], + * -1 or -2 indicates that Idx or Pos was invalid. + */ + int align_pos(unsigned int Idx, unsigned int Pos) const; + + /* seq_pos(): given the alignment position Pos, the corresponding + * sequence position of the Idx:th sequence is returned. If there + * is a gap, then -1 is returned. Invalid ranges result in warnings + * and -2 is returned. + */ + int seq_pos(unsigned int Idx, unsigned int Pos) const; + + /* reset(): clears the calling object to its nascent state. + * The Aln array will be L (default MAXSEQLEN) long and all items will be NULL. + * If L==0 or >MAXSEQLEN then it'll be reset silently to MAXSEQLEN. + * Seqno will always be set to 0. + */ + void reset(unsigned int L=MAXSEQLEN); + + // input + + /* NOTE: The following formats are supported:- + * + * 1) MULTAL-like vertical format: + * Perfect MULTAL compatibility cannot be achieved, due to the various + * output formats in circulation. The format recognised here is fairly + * flexible. The basic trick is to get the number of sequences from + * the file. The first non-empty, non-comment line(s) of the file + * (the header) should look like as one of the following possibilities + * (using scanf-like format syntax for simplicity): + * + * "Seqno %d" - the DRAGON format + * or + * "Block 0\n%d seqs" - the MSAP format (capital 'B' not significant) + * or + * "block 1 = %d seqs" - the CAMELEON/MULTAL format + * + * where %d is the number of sequences (negative numbers will be + * converted to abs values, 0 is an error). In all cases no leading + * whitespaces are allowed in the header. + * The names of the sequences may be specified on the following + * lines after a "USER>" token. + * The sequence lines each should contain XX characters from the set + * [a-zA-Z] or '-' for gaps. No whitespaces are allowed. If there are + * less than XX characters, the rest is padded with '-': lines longer + * than XX chars are truncated. Lines containing + * only gap signs "---" are skipped w/ warnings. Illegal characters + * trigger a warning and will be replaced by 'X'. + * + * 2) MSF (Multiple Sequence Format)-like horizontal format: + * This format is used by the GCG suite of programs. The parser + * requires the presence of the "Name" lines: + * "Name: %s Len: %d" + * where the %s is the name of the sequence and %d is the length. + * The number of sequences will be deduced from the number of "Name" + * lines, the total length of the alignment is assumed to be the maximal + * Len value (if they're not equal). The alignment lines should + * look like: + * + * name1 Al....IG n.ME...NT... + * name2 aL....VG N-ME---Nt... + * ... + * + * i.e. lower-and uppercases are accepted, spaces are ignored, + * and both '.' (the MSF gap) and '-' (the MULTAL/DRAGON gap) + * can be used. The sequence names (right-justified) must correspond to the + * ones given in the Name lines in the same order. + * + * 3) PIR horizontal format (Modeler input): + * The alignment file contains one or more PIR sequences with gaps. + * A PIR sequence looks like this: + * + * >P1;sequence_name + * description_line + * first_sequence_line... + * ... + * ...last_sequence_line* + * + * terminated with an asterisk. + */ + + /* read_file(): reads a multiple alignment file from Fname. + * Reading continues up to + * EOF or until MAXSEQLEN positions have been read. + * The calling object will be modified only if the whole operation + * was successful in which case the overall length is returned: otherwise, + * 0 is returned. + */ + unsigned int read_file(const char *Fname); + + /* >>: tries to input an alignment file from Inf into Align. + * Tries the vertical MULTAL format, GCG's MSF, PIR format. + * If none succeeds, then Inf's failbit is set, the stream is rewound to + * its position prior to the input and Align is not modified. + */ + friend istream& operator>>(istream& Inf, Align_& Align); + + /* <<: output to ostream Out, in a very simple format, + * just the sequences under each other, no extra info. + */ + friend ostream& operator<<(ostream& Out, const Align_& A); + + private: + int read_multal(istream& Inf); + int read_msf(istream& Inf); + int read_pir(istream& Inf); + static char* check_vertical(char *Instr, int Sno); + static int check_horizontal(char *Instr); + + // "forbidden methods": no copying or assignment + Align_(const Align_&); + Align_& operator=(const Align_&); +}; +// END OF CLASS Align_ + +// ==== END OF HEADER Align.h ==== +#endif /* ALIGN_CLASS */ diff --git a/src++/Beta.c++ b/src++/Beta.c++ new file mode 100644 index 0000000..3eb07b8 --- /dev/null +++ b/src++/Beta.c++ @@ -0,0 +1,639 @@ +// ==== PROJECT DRAGON: METHODS Beta.c++ ==== + +/* Beta-sheet topology and geometry class. Cf. "Segment.h" and + * "Sstrbase.h" for base class information. + */ + +// SGI C++, IRIX 6.2, 14. Aug. 1996. (C) Andras Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include + +// ---- UTILITY HEADERS ---- + +#include "Vector.h" +#include "Sqmat.h" +#include "Hirot.h" + +// ---- MODULE HEADER ---- + +#include "Beta.h" + +// ---- DEFINITIONS ---- + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +// ==== Beta_ METHODS ==== + +// ---- Constructors ---- + +/* Inits with a sheet. */ +Beta_::Beta_(const Sheet_& Sh): Sheet_(Sh) +{ + unsigned int L=mask().len(); + Idup.len(L); Idup.mask(true); Idup.dim(3); + Iddown.len(L); Iddown.mask(true); Iddown.dim(3); + Dist.set_size(L); +} + +// ---- Virtual constructor ---- + +void Beta_::operator()(Sstrbase_*& Bptr) const { Bptr=new Beta_(*this); } + +// ---- H-bond topology ---- + +/* hbond_prev(), hbond_next(): return the H-bonding partners of residue Resno. + * Return value is -1 if Resno is at the edge of the sheet and hasn't got + * a partner in that particular direction: -2 if Resno is not a member of + * the sheet at all (a warning is also printed in this case). + */ +int Beta_::hbond_prev(unsigned int Resno) const +{ + int Idx=strand_res(Resno); + if (Idx<0) + { + cerr<<"? Sheet_::hbond_prev(): Residue "<Maxoffs) Maxoffs=Boffs[i]; + + Eoffs=offs_strd(i, Strands[i].end()-Strands[i].beg()); + if (EoffsMaxoffs) Maxoffs=Eoffs; + + // swap end offsets for strands which are anti wrt the first + if (sense(0, i)==Strand_::ANTI) Boffs[i]=Eoffs; + } + + // generate an "up" and "down" long strand as prototypes of all strands + unsigned int Width=Maxoffs-Minoffs+1; + Points_ Protoup(Width), Protodown(Width); // automatically 3D + Sqmat_ Rot(3); // for rotating around X + double Xangcorr=(TURN-M_PI)*Width/2.0; + + make_helix(Protoup, RADIUS, PITCH, TURN, 1); // ideal beta-strand + make_helix(Protodown, RADIUS, PITCH, TURN, -1); + + /* rotate around the X-axis so that the middle portion will + * be approximately orthogonal to the X:Z plane + */ + Rot[0][0]=1.0; + Rot[1][1]=Rot[2][2]=cos(Xangcorr); + Rot[1][2]=Rot[2][1]=sin(Xangcorr); + Rot[2][1]*=(-1.0); + Protoup*=Rot; Protodown*=Rot; + + /* Adjust the sizes of the ideal coordinate arrays. + * Note that the arrays must be long enough to accommodate the + * full sheet and in general will contain lots of unused vectors. + * This is wasteful but compact storage would be tedious to implement. + */ + Bits_ Betamask=mask(); + unsigned int L=Betamask.len(); + + Idup.len(L); Idup.mask(Betamask); Idup.dim(3); + Iddown.len(L); Iddown.mask(Betamask); Iddown.dim(3); + + /* Now copy appropriate portions of the prototype strand into + * the strands. The first strand gets an exact copy, the + * next will be shifted along the Z-axis by STRSEP etc. + */ + register unsigned int j, Actlen; + Bits_ Strmask; // strand mask + register double Strshift; // strand shift + int Dir; // strand direction wrt first + + for (i=0, Dir=1; i=0) + { // parallel to first + for (j=0; j=Bad, -1 if Good=Bad)? 1: -1); +} +// END of check_torsion() + +// ---- Input ---- + +/* >>: reads in a sheet description from the input stream In. + * The format is:- + * "SHEET [strict]\n" + * "STRAND \n" + * "STRAND [PAR|ANTI] \n" + * ..... + * "END\n" + * The residue position numbers are >=1. The optional [strict] + * parameter (a floating-point number between 0.0 and 1.0) controls + * the strictness at which the ideal beta-structure should be + * applied. If missing, this strictness is 1.0. + * Will not update the Beta_ object Beta if errors are detected. + * The "fail" bit is set on error. + */ +istream& operator>>(istream& In, Beta_& Beta) +{ + if (!In) return(In); // unhealthy stream, reject + + static const unsigned int BUFLEN=132; + char Buf[BUFLEN+1]; + istrstream Istr(Buf, BUFLEN+1); + + // get the first line + char *Sheetpos=NULL; + while (In.getline(Buf, BUFLEN, '\n').good() && (!strlen(Buf) || Buf[0]=='#')); + if (!In || NULL==(Sheetpos=strstr(Buf, "SHEET"))) + { + cerr<<"\n? >>Beta_: SHEET expected\n"; + In.clear(ios::failbit|In.rdstate()); + return(In); + } + + // try to get strictness if specified + Istr.seekg(Sheetpos-Buf+5); // pos after "SHEET" + int Rdstate=Istr.rdstate(); // save old state + float Str=1.0; // default + Istr>>Str; // try to read + if (!Istr) Istr.clear(Rdstate); // wasn't there, restore previous state + if (Str<=0.0) + { + cerr<<"\n? >>Beta_: Strictness "<1.0) Str=1.0; // set silently + + // get the description of the first strand + while (In.getline(Buf, BUFLEN, '\n').good() && (!strlen(Buf) || Buf[0]=='#')); + if (!In || strncmp(Buf, "STRAND", 6)) + { + cerr<<"\n? >>Beta_: STRAND expected in line:\n"<>B>>E; + if (!Istr || B<=0 || E<=0) + { + cerr<<"\n? >>Beta_: Invalid limits in first STRAND: "<>Beta_: STRAND expected in line:\n"<>B>>E; + if (!Istr || B<=0 || E<=0) + { + cerr<<"\n? >>Beta_: Invalid STRAND limits: "<>setw(5)>>Pa; + Sense=Strand_::NONE; + + if (!strncmp(Pa, "PAR", 3)) Sense=Strand_::PAR; + else if (!strncmp(Pa, "ANTI", 4)) Sense=Strand_::ANTI; + + if (!Istr || Sense==Strand_::NONE) + { + cerr<<"\n? >>Beta_: [PAR|ANTI] expected in line:\n"<>T>>O; + if (!Istr || T<=0 || O<=0) + { + cerr<<"\n? >>Beta_: Invalid this/other phase info: "<>Beta_: Invalid strand\n"; + In.clear(ios::failbit|In.rdstate()); + return(In); + } + } // while + + // single stranded sheets are disallowed + if (Btemp.strand_no()<=1) + { + cerr<<"\n? >>Beta_: Sheets must have at least two strands\n"; + In.clear(ios::failbit|In.rdstate()); + return(In); + } + + // check if the last line was "END". If not, warn but accept sheet + if (strncmp(Buf, "END", 3)) + cerr<<"\n? >>Beta_: please finish sheet description with \"END\" next time\n"; + + Beta=Btemp; // accept new sheet + return(In); +} +// END of >> + +// ---- Output ---- + +/* write_to(): lists the calling object to the output stream Out. + * The format is:- + * "SHEET [strict]\n" + * "STRAND \n" + * "STRAND [PAR|ANTI] \n" + * ..... + * "END\n" + * The residue position numbers are >=1. The optional strictness + * value [strict] is written only if it is different from 1.0. + * Does nothing if the sheet is empty. Protected + */ +void Beta_::write_to(ostream& Out) const +{ + unsigned int Sno=strand_no(); + if (!Sno) return; // empty + + if (Strict==1.0) + Out<<"SHEET\n"; + else + Out<<"SHEET "<=0) + break; + } + Out<=2 strands. + * Derived from Sheet_ and Sstrbase_ . Can represent intramolecular sheets only + * and cannot handle bulges, irregularities etc. + */ +class Beta_ : public Sheet_, public Sstrbase_ +{ + // data + protected: + + /* Beta-sheets have phasings "up" or "down" and it cannot be known + * in advance whether a given residue will be "above" or "below" the + * sheet surface. Ideal sheets with both phasings are generated + * and stored in Idup and Iddown. + */ + Points_ Idup, Iddown; + + /* The ideal distances will be stored in a matrix: based on "Idup" */ + Trimat_ Dist; + + // methods + public: + + // constructors + /* The ctors call the corresponding Sheet_ ctors and adjust + * the length of the ideal structure arrays etc. + */ + Beta_() : Sheet_(), Idup(1, 3), Iddown(1, 3), Dist(1) {} + Beta_(const Strand_& Str1) + : Sheet_(Str1), Idup(Str1.len(), 3), + Iddown(Str1.len(), 3), Dist(Str1.len()) {} + Beta_(const Sheet_& Sh); + + // "virtual constructor" + void operator()(Sstrbase_*&) const; + + // dynamic type identification + bool is_helix() const { return(false); } + bool is_beta() const { return(true); } + + // H-bond topology + /* hbond_prev(), hbond_next(): return the no. of the previous + * or the next residue H-bonded to Res or -1 if there's no partner + * (at sheet edges) or -2 if Res is not a member of the sheet. + * A warning is also printed in this case. + */ + int hbond_prev(unsigned int Res) const; + int hbond_next(unsigned int Res) const; + + // ideal geometry + + /* make_idstruct(): generates two ideal beta-sheets ("up" and "down" + * phasing) if Changed (inherited from Segmbase_) is true, and puts + * the 3D coordinates into Idup and Iddown. Returns no. of residues or + * 0 if something went wrong. + */ + unsigned int make_idstruct(); + + /* ideal_dist(): puts the ideal beta-sheet UNsquared distances into + * a distance matrix Dmat in the right position. Does nothing if + * the sheet does not fit in the matrix. Prints a warning if Changed==true, + * since this indicates that the size was changed without updating the + * ideal structure and therefore what is returned may be incorrect. + * (The situation will be dealt with elegantly when the "mutable" + * keyword finds its way into the compiler.) The ideal distances + * will be applied at strictness Strict (from Sstrbase_) into Strimat. + */ + void ideal_dist(Trimat_& Dmat, Trimat_& Strimat) const; + + /* ideal_struct(): applies the ideal sheet coordinates stored + * inside onto the point set Model. Model must be large enough to contain + * the sheet and when masked with the sheet's mask, the active region + * must be 3-dimensional. If this is the case, then the ideal structure + * will be RMS fitted onto Model's active region, the original segment + * replaced by the rotated/transposed ideal, and the RMS value returned. + * The phasing will be chosen so that the ideal sheet with a better RMS + * will be fitted (no knowledge of the phasing is necessary). + * -1.0 is returned on error. Model's original activation pattern is + * always retained. Prints a warning if an update is needed. + */ + double ideal_struct(Points_& Model) const; + + // Handedness + /* check_torsion(): walks over each strand in 3D in Model and calculates all + * the (i+1, i, k, m) torsion angles where k is i's partner in the next + * strand, and m is i+1's partner. The angle should be negative. + * Good and Bad will be set to the no. of correct + * and incorrect torsion angles. + * Return value: 1 if Good>=Bad, -1 if Good>: reads in a sheet description from the input stream In. + * The format is:- + * "SHEET [strict]\n" + * "STRAND \n" + * "STRAND [PAR|ANTI] \n" + * ..... + * "END\n" + * The residue position numbers are >=1. The optional [strict] + * parameter (a floating-point number between 0.0 and 1.0) controls + * the strictness at which the ideal beta-structure should be + * applied. If missing, this strictness is 1.0. + * Will not update the Beta_ object Beta if errors are detected. + * The "fail" bit is set on error. + */ + friend istream& operator>>(istream& In, Beta_& Beta); + + // hidden methods + protected: + + void make_ths(); + void write_to(ostream& Out) const; + +}; +// END OF CLASS Beta_ + +// ==== END OF HEADER Beta.h ==== +#endif /* BETA_CLASS */ diff --git a/src++/Clip.c++ b/src++/Clip.c++ new file mode 100644 index 0000000..c87b4aa --- /dev/null +++ b/src++/Clip.c++ @@ -0,0 +1,234 @@ +// ==== PROJECT DRAGON: METHODS Clip.c++ ==== + +/* The command-line interpreter. */ + +// SGI C++ 6.2 (o32) , IRIX 6.2, 21. Aug. 1996. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include +#include // for isatty() and std fildes nos +#include +#include +#include +#include + +// ---- MODULE HEADER ---- + +#include "Clip.h" + +// ---- DEFINITIONS ---- + +/* The standard I/O file descriptors should be defined in + * "unistd.h". If not, then we give them here + */ +#ifndef STDIN_FILENO +#define STDIN_FILENO 0 +#endif +#ifndef STDOUT_FILENO +#define STDOUT_FILENO 1 +#endif + +// ==== Clip_ METHODS ==== + +/* put_prompt(): writes the prompt string to cout. + * Appends Cmdlevel '>' characters after the prompt string. + */ +void Clip_::put_prompt() const +{ + cout<<'\n'<'); + cout<<' '<0 is returned. + * run_func() takes an unsigned int specifying the number of cycles to + * be executed. It is supposed to return 0 at the end of a + * successful run or the value of a signal caught inside. + * Must catch SIGINT (Ctrl-C) for run interrupts. + * If "q[uit]" has been seen then -1 is returned, meaning "finish up everything". + * If a script was processed and the end has been reached then + * get_command() returns with 0. + */ +int Clip_::get_command(const char *Cmdfnm, Runfnc_ run_func) +{ + static const unsigned int LINELEN=132, CMDLEN=20, MAX_CMDLEVEL=16; + static const int RET_OK=0, RET_QUIT=-1; // return values: OK and quit + + static char Line[LINELEN], Fname[LINELEN], Cmd[CMDLEN]; + static istrstream Instr(Line, LINELEN); + + ifstream In; + char *Shell; + int Interact=0, Cycno=1, Retval=RET_OK; + + Cmdlevel++; // new level of recursion + + // open the command file Cmdfnm or read from cin + if (Cmdfnm!=NULL && strlen(Cmdfnm)) + { + In.open(Cmdfnm); // open for input + if (!In) + { + cerr<<"\n? Clip_::get_command(): Cannot open command file \""<fd()) && isatty(STDOUT_FILENO); + if (Interact) cout<<"Interactive mode (press \'h\' for help)\n"; + In.tie(&cout); // output flushed before input + + while (Retval==RET_OK && (put_prompt(), memset(Line, '\0', LINELEN), + In.getline(Line, LINELEN, '\n').good())) + { + if (!strlen(Line) || Line[0]=='#') // skip empty and comment + continue; + + Instr.seekg(0); Instr.clear(); // attempt interpretation + Instr>>setw(CMDLEN)>>Cmd; + if (Instr.bad() || Instr.fail()) + { + cerr<<"\n? Clip_::get_command(): Cannot read\n"; + continue; + } + + // parameter names start with uppercase + if (isupper(Cmd[0])) + { + Instr.seekg(0); Instr.clear(); // set good bit again,13-Apr-1998 + Instr>>Params; // send for parameter input + continue; + } + + // only the first char of the command is significant + switch(Cmd[0]) + { + case 'c': // c[ommand] + + if (Cmdlevel>=MAX_CMDLEVEL) // nested calls too deep + { + cerr<<"\n? Clip_::get_command(): Only "<>setw(LINELEN)>>Fname; + if (Interact && (Fname==NULL || !strlen(Fname))) + break; + + // from now on, process Fname (recursive) + Retval=get_command(Fname, run_func); + if (Retval<0) Retval=RET_OK; // low-level 'q' is swallowed + break; + + case 'd': // default values + Params.reset_default(); + cout<<"Parameters reset to default\n"; + break; + + case 'h': // h[elp] + cout<<"c[ommand] : execute commands in \n"; + cout<<"d[efault]: reset all parameters to default\n"; + cout<<"h[elp]: print this help\n"; + cout<<"l[ist]: list all parameters to stdout\n"; + cout<<"l[ist] : list parameter to stdout\n"; + cout<<"o[s]: OS shell\n"; + cout<<"p[aram] : read parameters from \n"; + cout<<"q[uit]: quit\n"; + cout<<"r[un] : run "<: save parameters to \n"; + cout<<" : set parameter to \n"; + break; + + case 'l': // l[ist] a parameter + Instr>>setw(LINELEN)>>Fname; + if (Fname[0]=='\0') // no param name + cout< + Instr>>setw(LINELEN)>>Fname; + if (Fname[0]=='\0') // no file + cerr<<"\n? Please specify parameter file\n"; + else + Params.read_file(Fname); // try to read from Fname + break; + + case 'q': // quit + if (Interact) + { + cout<<"Do you really wish to exit "< + Instr>>Cycno; // try to get no. of cycles + if (!Cycno || !Instr) Cycno=1; + Cycno=abs(Cycno); + cout<<"\nRun "<=0 + + if (Retval==SIGINT) + Retval=RET_OK; // Ctrl-C caught, pretend OK status + break; + + case 's': // s[ave] parameters to file + Instr>>setw(LINELEN)>>Fname; + if (Fname[0]=='\0') // no output file name + cout<fd()!=STDIN_FILENO) In.close(); // close cmd file if not cin + In.tie(NULL); // undo tie + Cmdlevel--; // return to previous command level + return(Retval); // end of commands +} +// END of get_command() + +// ==== END OF METHODS Clip.c++ ==== diff --git a/src++/Clip.h b/src++/Clip.h new file mode 100644 index 0000000..b81cac0 --- /dev/null +++ b/src++/Clip.h @@ -0,0 +1,86 @@ +#ifndef CLIP_CLASS +#define CLIP_CLASS + +// ==== PROJECT DRAGON: HEADER Clip.h ==== + +/* The command-line interpreter. */ + +// SGI C++ 6.2 (o32), IRIX 6.2, 21. Aug. 1996. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include + +// ---- MODULE HEADERS ---- + +#include "Params.h" +#include "String.h" + +// ---- TYPEDEFS ---- + +/* Runfnc_: a function ptr type that points to a function + * that executes a run for a number of times + * and returns 0 if OK or a signal value + * caught within. The function is supposed to catch SIGINT (Ctrl-C) + * for interrupted runs. + * Currently the function to be run by Clip_ is the dragon_run() + * simulation routine (see Dragon.c++). + */ +typedef unsigned int (*Runfnc_)(unsigned int); + +// ==== CLASSES ==== + +/* Class Clip_: a rudimentary command-line interpreter for DRAGON + * which accepts commands from stdin (the default) or a script file. + * All commands start with lowercase letters to distinguish them + * from parameters (start with uppercase) which will be passed + * to a Params_ object for interpretation. + */ +class Clip_ +{ + // data + private: + + Params_& Params; // a ref to the parameters + String_ Prompt; // the prompt in interactive mode + int Cmdlevel; // recursion depth (when a cmd file calls another) + + // methods + public: + + // constructors + /* Inits Clip so that it will be associated with + * the parameter object Pars (not modifiable). + * The prompt string is in Pr. + */ + Clip_(Params_& Pars, const String_& Pr): Params(Pars), Prompt(Pr), Cmdlevel(0) {} + + /* get_command(): tries to obtain the next command from the file + * named Cmd (cin if Cmd==NULL). Most commands + * can be dealt with internally. If a "r[un] x" + * command is seen which means "run run_func() x times + * with the current parameters" then x>0 is returned. + * run_func() takes an unsigned int specifying the number of cycles to + * be executed. It is supposed to return 0 at the end of a + * successful run or the value of a signal caught inside. + * If "q[uit]" is seen then -1 is returned, meaning "finish up everything". + * If a script was processed and the end has been reached then + * get_command() returns with 0. + */ + int get_command(const char *Cmd, Runfnc_ run_func); + + // private methods + private: + void put_prompt() const; + + // "forbidden methods" + private: + Clip_(const Clip_&); + Clip_& operator=(const Clip_&); + +}; +// END OF CLASS Clip_ + +// ==== END OF HEADER Clip.h ==== +#endif /* CLIP_CLASS */ diff --git a/src++/Density.c++ b/src++/Density.c++ new file mode 100644 index 0000000..152ab18 --- /dev/null +++ b/src++/Density.c++ @@ -0,0 +1,236 @@ +// ==== PROJECT DRAGON: FUNCTIONS Density.c++ ==== + +/* Adjusts molecular density. */ + +// SGI C++ 4.0, IRIX 5.3, 4. July 1995. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include +#include +#include + +// ---- MODULE HEADER ---- + +#include "Density.h" + +// ---- UTILITY HEADERS ---- + +#include "Sqmat.h" +#include "Ql.h" + +// ---- PROTOTYPES ---- + +static void update_coords(double Densfact, const Pieces_& Pieces, + Points_& Xyz); +static int dbl_cmp(const void *X, const void *Y); + +// ==== FUNCTIONS ==== + +// ---- Distance-based adjustments ---- + +/* scale_distdens(): uses Willie's "moment scaling" to adjust the + * density of the distance matrix to the density expected for a + * 3D spherical protein. He has calculated the first and second moments + * of the distance distribution between any pairs of points within + * a solid sphere of radius Rmax. Here the moments are found and a + * scale factor is calculated as the average of the ratios of the + * expected moments to the observed ones. + * Return value: the scaling factor. + */ +double scale_distdens(Trimat_& Dist, double Rmax) +{ + register double Dij, Davg, Davg2, Dexp, Dexp2; + double Densfactor; + register unsigned int i, j, d, No, Ptno=Dist.rno(); + + // init + No=(Ptno*(Ptno-1))/2; // excludes the main diagonal + if (!No) return(1.0); // chain too short + + Dexp=36.0*Rmax/35.0; Dexp2=1.2*Rmax*Rmax; // avg and SD + Davg=Davg2=0.0; + + /* average distances and squared distances: because Dist[][] + * contains the squared values, the square root is taken for + * the distance average. Main diag skipped + */ + for (d=1; d0.0)? 1: ((Temp<0.0)? -1: 0)); +} +/* END of dbl_cmp() */ + +// ==== END OF FUNCTIONS Density.c++ ==== + + diff --git a/src++/Density.h b/src++/Density.h new file mode 100644 index 0000000..0707b86 --- /dev/null +++ b/src++/Density.h @@ -0,0 +1,60 @@ +#ifndef __DENSITY_HEADER__ +#define __DENSITY_HEADER__ + +// ==== PROJECT DRAGON: HEADER Density.h ==== + +/* Adjusts molecular density. */ + +// SGI C++ 4.0, IRIX 5.3, 4. July 1995. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include + +// ---- MODULE HEADERS ---- + +#include "Points.h" +#include "Pieces.h" + +// ---- UTILITY HEADERS ---- + +#include "Trimat.h" + +// ---- PROTOTYPES ---- + +/* scale_distdens(): uses Willie's "moment scaling" to adjust the + * density of the distance matrix to the density expected for a + * 3D spherical protein. He has calculated the first and second moments + * of the distance distribution between any pairs of points within + * a solid sphere of radius Rmax. Here the moments are found and a + * scale factor is calculated as the average of the ratios of the + * expected moments to the observed ones. + * Return value: the scaling factor. + */ +double scale_distdens(Trimat_& Dist, double Rmax); + +/* proj_dens(): projection generally shrinks the coordinates. Here + * a new distance matrix is computed from the Xyz[][] coords, and + * compared to the old Dist[][]. The adjustment factor Fact is + * chosen so that SUM(Dist[i][j]-Fact*Newdist[i][j])^2 be minimal + * (very simple linear regression). + * If the point set is composed of multiple clusters, then the + * clusters are moved away from each other as rigid bodies: + * otherwise the whole assembly is "blown up". The distance + * matrix is not changed. + * Return value: sqrt(Fact). + */ +double proj_dens(const Trimat_& Dist, const Pieces_& Pieces, Points_& Xyz); + +/* ellips_dens(): adjusts the density of the 3D Euclidean point set Xyz + * to match the expected density Expdens. Fits an ellipsoid to the points + * so that it contains 90% of them, works out an adjustment factor and + * updates the points. Single-cluster point sets are isotropically adjusted, + * multicluster sets are updated by moving the clusters as rigid bodies. + * Return value: the adjustment factor. If the dimension is not 3D, + * then no action is taken and 0.0 is returned. + */ +double ellips_dens(double Expdens, const Pieces_& Pieces, Points_& Xyz); + +// ==== END OF HEADER Density.h ==== +#endif diff --git a/src++/Distpred.c++ b/src++/Distpred.c++ new file mode 100644 index 0000000..ddc41b9 --- /dev/null +++ b/src++/Distpred.c++ @@ -0,0 +1,276 @@ +// ==== PROJECT DRAGON: METHODS Distpred.c++ ==== + +/* Interresidue distance prediction based on the conserved + * hydrophobicity score. + */ + +// SGI C++ 4.0, IRIX 5.3, 12. May 1995. Andras Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include + +// ---- CLASS HEADER ---- + +#include "Distpred.h" + +// ---- UTILITY HEADERS ---- + +#include "Pmest.h" + +// ---- DEFINITIONS ---- + +#define DIST_BINNO 100 +#define PARAMNO 3 +#define MIN_DIST (0.0) +#define MAX_DIST (60.0) + +// ---- STATIC INITIALISATION ---- + +Spl_ Distpred_::Idspl=Distpred_::init_idspl(); + +// ==== Distpred_ METHODS ==== + +// ---- Initialisation ---- + +/* init_idspl(): fills up the ideal C-alpha distance CDF spline with + * the observed C-alpha distance distribution of a bunch of monomeric + * proteins between 100 and 200 residues. See Aszodi & Taylor, J. Math. Chem. + * for details. + */ +Spl_ Distpred_::init_idspl() +{ + Spl_ Ids(DIST_BINNO); + + /* In DRAGON 3.x, the ideal distribution was in a parameter + * file. From 4.0 on, the values are hard-wired as they never + * changed in 3.x. + */ + Ids.x(0)=0.000000e+00; Ids.y(0)=0.000000e+00; + Ids.x(1)=6.060606e-01; Ids.y(1)=0.000000e+00; + Ids.x(2)=1.212121e+00; Ids.y(2)=0.000000e+00; + Ids.x(3)=1.818182e+00; Ids.y(3)=0.000000e+00; + Ids.x(4)=2.424242e+00; Ids.y(4)=0.000000e+00; + Ids.x(5)=3.030303e+00; Ids.y(5)=0.000000e+00; + Ids.x(6)=3.636364e+00; Ids.y(6)=2.291029e-05; + Ids.x(7)=4.242424e+00; Ids.y(7)=3.751561e-04; + Ids.x(8)=4.848485e+00; Ids.y(8)=2.557362e-03; + Ids.x(9)=5.454545e+00; Ids.y(9)=1.244602e-02; + Ids.x(10)=6.060606e+00; Ids.y(10)=2.441378e-02; + Ids.x(11)=6.666667e+00; Ids.y(11)=3.585175e-02; + Ids.x(12)=7.272727e+00; Ids.y(12)=4.471803e-02; + Ids.x(13)=7.878788e+00; Ids.y(13)=5.147943e-02; + Ids.x(14)=8.484848e+00; Ids.y(14)=6.139100e-02; + Ids.x(15)=9.090909e+00; Ids.y(15)=7.635428e-02; + Ids.x(16)=9.696970e+00; Ids.y(16)=9.321053e-02; + Ids.x(17)=1.030303e+01; Ids.y(17)=1.149209e-01; + Ids.x(18)=1.090909e+01; Ids.y(18)=1.366170e-01; + Ids.x(19)=1.151515e+01; Ids.y(19)=1.565546e-01; + Ids.x(20)=1.212121e+01; Ids.y(20)=1.781104e-01; + Ids.x(21)=1.272727e+01; Ids.y(21)=2.016049e-01; + Ids.x(22)=1.333333e+01; Ids.y(22)=2.262248e-01; + Ids.x(23)=1.393939e+01; Ids.y(23)=2.526175e-01; + Ids.x(24)=1.454545e+01; Ids.y(24)=2.804965e-01; + Ids.x(25)=1.515152e+01; Ids.y(25)=3.083869e-01; + Ids.x(26)=1.575758e+01; Ids.y(26)=3.363718e-01; + Ids.x(27)=1.636364e+01; Ids.y(27)=3.646030e-01; + Ids.x(28)=1.696970e+01; Ids.y(28)=3.930404e-01; + Ids.x(29)=1.757576e+01; Ids.y(29)=4.209967e-01; + Ids.x(30)=1.818182e+01; Ids.y(30)=4.490074e-01; + Ids.x(31)=1.878788e+01; Ids.y(31)=4.777570e-01; + Ids.x(32)=1.939394e+01; Ids.y(32)=5.066927e-01; + Ids.x(33)=2.000000e+01; Ids.y(33)=5.357429e-01; + Ids.x(34)=2.060606e+01; Ids.y(34)=5.638682e-01; + Ids.x(35)=2.121212e+01; Ids.y(35)=5.912059e-01; + Ids.x(36)=2.181818e+01; Ids.y(36)=6.183861e-01; + Ids.x(37)=2.242424e+01; Ids.y(37)=6.445439e-01; + Ids.x(38)=2.303030e+01; Ids.y(38)=6.698942e-01; + Ids.x(39)=2.363636e+01; Ids.y(39)=6.946573e-01; + Ids.x(40)=2.424242e+01; Ids.y(40)=7.183151e-01; + Ids.x(41)=2.484848e+01; Ids.y(41)=7.403891e-01; + Ids.x(42)=2.545455e+01; Ids.y(42)=7.615983e-01; + Ids.x(43)=2.606061e+01; Ids.y(43)=7.812726e-01; + Ids.x(44)=2.666667e+01; Ids.y(44)=8.003053e-01; + Ids.x(45)=2.727273e+01; Ids.y(45)=8.181438e-01; + Ids.x(46)=2.787879e+01; Ids.y(46)=8.341896e-01; + Ids.x(47)=2.848485e+01; Ids.y(47)=8.490899e-01; + Ids.x(48)=2.909091e+01; Ids.y(48)=8.635205e-01; + Ids.x(49)=2.969697e+01; Ids.y(49)=8.766281e-01; + Ids.x(50)=3.030303e+01; Ids.y(50)=8.887648e-01; + Ids.x(51)=3.090909e+01; Ids.y(51)=8.996873e-01; + Ids.x(52)=3.151515e+01; Ids.y(52)=9.091635e-01; + Ids.x(53)=3.212121e+01; Ids.y(53)=9.182561e-01; + Ids.x(54)=3.272727e+01; Ids.y(54)=9.263319e-01; + Ids.x(55)=3.333333e+01; Ids.y(55)=9.335372e-01; + Ids.x(56)=3.393939e+01; Ids.y(56)=9.400237e-01; + Ids.x(57)=3.454545e+01; Ids.y(57)=9.458802e-01; + Ids.x(58)=3.515152e+01; Ids.y(58)=9.509032e-01; + Ids.x(59)=3.575758e+01; Ids.y(59)=9.555025e-01; + Ids.x(60)=3.636364e+01; Ids.y(60)=9.595547e-01; + Ids.x(61)=3.696970e+01; Ids.y(61)=9.635125e-01; + Ids.x(62)=3.757576e+01; Ids.y(62)=9.667543e-01; + Ids.x(63)=3.818182e+01; Ids.y(63)=9.695866e-01; + Ids.x(64)=3.878788e+01; Ids.y(64)=9.722499e-01; + Ids.x(65)=3.939394e+01; Ids.y(65)=9.746727e-01; + Ids.x(66)=4.000000e+01; Ids.y(66)=9.766859e-01; + Ids.x(67)=4.060606e+01; Ids.y(67)=9.785875e-01; + Ids.x(68)=4.121212e+01; Ids.y(68)=9.803573e-01; + Ids.x(69)=4.181818e+01; Ids.y(69)=9.820526e-01; + Ids.x(70)=4.242424e+01; Ids.y(70)=9.835132e-01; + Ids.x(71)=4.303030e+01; Ids.y(71)=9.848678e-01; + Ids.x(72)=4.363636e+01; Ids.y(72)=9.860075e-01; + Ids.x(73)=4.424242e+01; Ids.y(73)=9.872332e-01; + Ids.x(74)=4.484848e+01; Ids.y(74)=9.883215e-01; + Ids.x(75)=4.545455e+01; Ids.y(75)=9.893582e-01; + Ids.x(76)=4.606061e+01; Ids.y(76)=9.902746e-01; + Ids.x(77)=4.666667e+01; Ids.y(77)=9.911910e-01; + Ids.x(78)=4.727273e+01; Ids.y(78)=9.920358e-01; + Ids.x(79)=4.787879e+01; Ids.y(79)=9.927861e-01; + Ids.x(80)=4.848485e+01; Ids.y(80)=9.934706e-01; + Ids.x(81)=4.909091e+01; Ids.y(81)=9.941350e-01; + Ids.x(82)=4.969697e+01; Ids.y(82)=9.946905e-01; + Ids.x(83)=5.030303e+01; Ids.y(83)=9.952461e-01; + Ids.x(84)=5.090909e+01; Ids.y(84)=9.958017e-01; + Ids.x(85)=5.151515e+01; Ids.y(85)=9.963344e-01; + Ids.x(86)=5.212121e+01; Ids.y(86)=9.967496e-01; + Ids.x(87)=5.272727e+01; Ids.y(87)=9.971563e-01; + Ids.x(88)=5.333333e+01; Ids.y(88)=9.975572e-01; + Ids.x(89)=5.393939e+01; Ids.y(89)=9.979066e-01; + Ids.x(90)=5.454545e+01; Ids.y(90)=9.982130e-01; + Ids.x(91)=5.515152e+01; Ids.y(91)=9.984965e-01; + Ids.x(92)=5.575758e+01; Ids.y(92)=9.987056e-01; + Ids.x(93)=5.636364e+01; Ids.y(93)=9.989490e-01; + Ids.x(94)=5.696970e+01; Ids.y(94)=9.991924e-01; + Ids.x(95)=5.757576e+01; Ids.y(95)=9.994559e-01; + Ids.x(96)=5.818182e+01; Ids.y(96)=9.996134e-01; + Ids.x(97)=5.878788e+01; Ids.y(97)=9.997652e-01; + Ids.x(98)=5.939394e+01; Ids.y(98)=9.998854e-01; + Ids.x(99)=6.000000e+01; Ids.y(99)=1.000000e+00; + // goes up to 60 A which is MAX_DIST + + Ids.fit_spl(); + return(Ids); +} +// END of init_idspl() + +/* init_par(): inits the parameter vector to the parameter + * values in the J. Math. Chem. paper. + */ +Vector_ Distpred_::init_par() +{ + Vector_ Par(PARAMNO); + Par[0]=30.3; Par[1]=0.26; Par[2]=50.0; + return(Par); +} +// END of init_par() + +// ---- Transform parameter estimation ---- + +/* estim_params(): estimates the parameters of the hydrophobic score + * transform function from the phobicity*conservation data in + * Consphob. If Consphob is empty then no action is taken. + */ +void Distpred_::estim_params(const Array_& Consphob) +{ + if (!Consphob.len()) + { + cerr<<"\n? Distpred_::estim_params(): No sequences, no action\n"; + return; + } + + Cdf_ Rawcdf=make_distr(Consphob); + + Vector_ W(DIST_BINNO), P(PARAMNO), Sd(PARAMNO); + Trimat_ Correl(PARAMNO); + float Q, Tstat95, Steplim=1e-6; + int Itmax=200; + + W.set_values(1.0); // uniform weight + P=init_par(); // initial guess + + // do the estimation + Q=nonlin11_reg(Rawcdf.x_vec(), Rawcdf.y_vec(), W, transform_hdist, + P, Sd, Correl, Tstat95, + Itmax, Steplim, NLIN_TALK); + cout<<"\nQ="<& Consphob) +{ + // set up a vector for the cons*phob products + unsigned int Rno=Consphob.len(); // already checked that >0 before this call + double *Rawhd=new double [Rno]; // put cons*phob here + double Hdmax=-1.0, Rhd; + register unsigned int i, j; + + // fill up the raw score array, get maximal score + for (i=0; iHdmax) Hdmax=Rhd; + Rawhd[i]=Rhd; + } + + Cdf_ Rawcdf(DIST_BINNO, 0.0, 2.0*fabs(Hdmax)); // set up CDF object + for (i=0; iMAX_DIST)? 0.0: Idspl.eval_spl(D); + return(1.0-Gd); +} +// END of transform_hdist() + +/* dist_phob(): returns the distance corresponding to the + * raw hydrophobic estimate H or 0.0 if H<=0.0. It is assumed + * that all P[i]>=0.0. + */ +double Distpred_::dist_phob(double H, const Vector_& P) +{ + if (H<0.0) return(0.0); + if (H + +// ---- UTILITY HEADERS ---- + +#include "Vector.h" +#include "Spl.h" +#include "Cdf.h" +#include "Array.h" + +// ==== CLASSES ==== + +/* Class Distpred_ : stores the ideal C-alpha distance distribution + * in a Spl_ (spline) object and can generate a transform function + * from the conserved hydrophobicity scores in the sequence. + * Can be queried for an estimated interresidue distance. + */ +class Distpred_ +{ + // data + static Spl_ Idspl; // ideal C-alpha CDF approximated by a spline + Vector_ Par; // transform function parameters + + // methods + public: + + // constructor + /* Inits the parameter vector to the default values. */ + Distpred_() { Par=init_par(); } + + // initialisation + /* init_idspl(): fills up the ideal C-alpha distance CDF spline with + * the observed C-alpha distance distribution of a bunch of monomeric + * proteins between 100 and 200 residues. See Aszodi & Taylor, J. Math. Chem. + * for details. + */ + static Spl_ init_idspl(); + + /* init_par(): inits the parameter vector to the parameter + * values in the J. Math. Chem. paper. + */ + static Vector_ init_par(); + + // transform function parameter estimation + /* estim_params(): estimates the parameters of the hydrophobic score + * transform function from the phobicity*conservation data in + * Consphob. If Consphob is empty then no action is taken. + */ + void estim_params(const Array_& Consphob); + + /* dist_phob(H,P): returns the distance corresponding to the + * raw hydrophobic estimate H or 0.0 if H<=0.0. It is assumed + * that all P[i]>=0.0. + * dist_phob(H): the non-static version simply calls the static + * version with Par as the parameter vector. + */ + static double dist_phob(double H, const Vector_& P); + double dist_phob(double H) { return(dist_phob(H, Par)); } + + // private methods + private: + + static Cdf_ make_distr(const Array_& Consphob); + static double transform_hdist(double H, const Vector_& P); + + // "forbidden methods" + Distpred_(const Distpred_&); + Distpred_& operator=(const Distpred_&); + +}; +// END OF CLASS Distpred_ + +// ==== END OF HEADER Distpred.h ==== +#endif /* DISTPRED_CLASS */ diff --git a/src++/Dragon.c++ b/src++/Dragon.c++ new file mode 100644 index 0000000..bad1730 --- /dev/null +++ b/src++/Dragon.c++ @@ -0,0 +1,1234 @@ +// ==== PROJECT DRAGON: Dragon.c++ ==== + +/* Fold prediction using hierarchic distance matrix projection. */ + +// 5-Aug-2000. Andras Aszodi + +/*******************************************/ +/* , , */ +/* Software by Andras Aszodi, PhD */ +/* All rights reserved. */ +/* Alle Rechte vorbehalten. */ +/* Minden jog fenntartva. */ +/* */ +/* Previous address: */ +/* Division of Mathematical Biology */ +/* National Institute for Medical Research */ +/* The Ridgeway, Mill Hill, London NW7 1AA */ +/* UNITED KINGDOM */ +/* e-mail: aaszodi@nimr.mrc.ac.uk */ +/* */ +/* Present address: */ +/* Novartis Forschungsinstitut GmbH */ +/* Brunnerstrasse 59, A-1235 Vienna */ +/* AUSTRIA */ +/* */ +/* Tel: (++43 1) 866 34, ext. 9052 */ +/* Fax: (++43 1) 866 34 727 */ +/* Andras.Aszodi@pharma.novartis.com */ +/* */ +/*******************************************/ + +// ---- VERSION HISTORY ---- + +// 4.0: 6-Jun-95 +// 4.1: 20-Jun-95 +// 4.2: 23-Jun-95 +// 4.3: 3-Jul-95 +// 4.4: 4-Jul-95 +// 4.5: 7-Jul-95 +// 4.6: 11-Aug-95 +// 4.7: 20-Oct-95 +// 4.8: 27-Nov-95 +// 4.9: 18-Dec-95 +// 4.10: 4-Jan-96 +// 4.11: 15-Jan-96 +// 4.12: 26-Feb-96 +// 4.13: 7-May-96 +// 4.14: 15-May-96 +// 4.15: 21-May-96 +// 4.16: 10-July-96 +// 4.17: 16-Jan-97 +// 4.18: March 1998 (?) + +// ---- STANDARD HEADERS ---- + +#include +#include +#include +#include +#include +#include +#include +#include + +// ---- C++ MODULE HEADERS ---- + +#include "Access.h" +#include "Clip.h" +#include "Density.h" +#include "Restr.h" +#include "Hmom.h" +#include "Homodel.h" +#include "Iproj.h" +#include "Params.h" +#ifdef USE_PVM + #include "Pvmtask.h" +#endif +#include "Pieces.h" +#include "Polymer.h" +#include "Output.h" +#include "Score.h" +#include "Sigproc.h" +#include "Score.h" +#include "Steric.h" +#include "Sterchem.h" +#include "Tangles.h" +#include "Viol.h" + +#ifdef USE_OPENGL_GRAPHICS + #include "Graphics.h" +#endif + +// ---- C MODULE HEADERS ---- + +#include "version.h" + +// ---- C++ UTILITY HEADERS ---- + +#include "String.h" + +// ---- C UTILITY HEADERS ---- + +#include "cmdopt.h" +#include "tstamp.h" + +// ---- GLOBAL VARIABLES ---- + +Sigproc_ Sigproc; // signal trapping and multiprocess management + +#ifdef USE_PVM +Pvmtask_ Pvmtask; // Parallel Virtual Machine support +#endif + +// ---- STATIC VARIABLES ---- + +static Params_ Params; +static Polymer_ Polymer; +static Restraints_ Restraints; +static Homodel_ Homodel(Polymer); // bind to Polymer +static Access_ Access; +static Steric_ Steric; + +static unsigned int Rno=10; // just a non-0 value +static Pieces_ Pieces(Rno); // must have a ctor + +// ---- PROTOTYPES ---- + +#ifdef USE_PVM +unsigned int master_pvmrun(unsigned int Jobno=1); +static void init_pvmslave(); +#endif + +unsigned int dragon_run(unsigned int Runno=1); +static void init_dragon(); +static void merge_distmat(const Trimat_& Bestdist, Trimat_& Dist); + +// ==== MAIN ==== + +int main(int argc, char *argv[]) +{ + /* The program understands the following switches:- + * -p param_file: reads the parameters from param_file (3.x behaviour) + * and runs only once + * -p param_file -r run_no: like above but runs run_no times + * -c command_file: interprets commands from command_file + * Neither -p nor -c: interactive mode (cf. "Clip" module) + * -h: prints a short help + * -m procno: spawns procno processes for parallel runs (min. 2) + * -M: spawns a slave task on every node in the PVM if available + * -A: give The Answer and exit + * The options are processed by the "cmdopt" module. + */ + parse_optstr("hA c%s m%d M p%s r%d"); + if (get_options(argc, argv)<0 || optval_bool('h')) + { + char *Help=opt_helpstr(); // generate help string + cerr<: execute commands from \n"; + cerr<<"-h: print this help and exit\n"; + cerr<<"-m : spawn processes (>=2) for parallel runs\n"; +#ifdef USE_PVM + cerr<<"-M: spawn a slave on every node in the PVM\n"; +#endif + cerr<<"-p : perform one run with parameters in \n"; + cerr<<"-p -r : perform runs with parameters in \n"; + cerr<<"-A: give The Answer and exit\n"; + free(Help); + return(EXIT_FAILURE); + } + + // greet the user + cout< option just reads the and + * then performs a single run or multiple runs if -r was specified. + * Overrides -c, -m, -M + */ + if (optval_str('p', &Parfnm)) + { + cout<<"# Reading parameters from file \""<0 && Dretval!=SIGINT)? Dretval: EXIT_SUCCESS); +} + +// ==== FUNCTIONS ==== + +// ---- PVM support ---- + +#ifdef USE_PVM +/* master_pvmrun(): sends the parameter values to the PVM slaves + * and requests Jobno simulations to be done. + * Catches signals and passes them to the slaves via + * the Sigproc mechanism. Used by Clip_ in place of dragon_run(). + * Return value: 0 upon normal termination. + */ +unsigned int master_pvmrun(unsigned int Jobno) +{ + int Signal=0; + + Pvmtask.spawn_slaves(); // start up slaves + Sigproc.set_signal((SIG_PF)signal_pvm); // set the PVM master signal trap + + // send parameters and do the runs + if (Pvmtask.send_params(Params)>=0) + Signal=Pvmtask.send_jobs(Params, Jobno); + else Jobno=0; + + Sigproc.set_signal(SIG_DFL); // unset the trap + cout<>Restraints; + Restraints.convert_restraints(Polymer); + Fstr=Pvmtask.recv_filestr(Pvmtask_::HOM); + int Kstr=Homodel.str_readknown(Fstr); + if (Kstr>0) + Restraints.add_restrs(Homodel.make_restrs(Params.f_value("Maxdist"), Params.i_value("Minsepar"))); + else + cout<<"\n"; + Params.reset_changed("Restrfnm"); + Params.reset_changed("Homfnm"); + Params.reset_changed("Maxdist"); + Params.reset_changed("Minsepar"); + } + cout<<"\n=== DISTANCE LIMITS ===\n\n"<>Access; + Params.reset_changed("Accfnm"); + } + cout<<"\n=== KNOWN ACCESSIBILITIES ===\n\n"<>Pieces; + Params.reset_changed("Sstrfnm"); + Chainchg=false; + } + else if (Params.changed("Sstrfnm")) + { + Fstr=Pvmtask.recv_filestr(Pvmtask_::SSTR); + istrstream Ifs(Fstr); Ifs>>Pieces; + Params.reset_changed("Sstrfnm"); + } + Restraints.setup_restr(Pieces, Polymer); + Steric.setup(Rno); + + cout<<"\n=== SECONDARY STRUCTURE ===\n\n"<0) + Restraints.add_restrs(Homodel.make_restrs(Params.f_value("Maxdist"), Params.i_value("Minsepar"))); + else + cout<<"\n"; + } + + // do not list more than 200 restraints to a terminal + cout<<"\n=== DISTANCE LIMITS ===\n\n"; + if (Restraints.restr_no()>200 && isatty(STDOUT_FILENO)) + cout<<"More than 200 restraints, listing suppressed\n"; + else cout<=2, then Mproc separate + * processes are spawned which execute in parallel. Each of these + * processes will run Runno/Mproc simulations sequentially. + * If Mproc==1, then a separate process will be launched for each + * of the Runno simulations. No process will be spawned if Runno==1. + * Return value: 0 if OK, otherwise the value of a signal caught inside. + * From Version 4.11 on, PVM support is also built in. The PVM status + * is read from the static global Pvmtask object. + */ +unsigned int dragon_run(unsigned int Runno) +{ + // ---- Initialisation ---- + +#ifdef USE_PVM + if(!Pvmtask.is_slave()) // task not under PVM +#endif + init_dragon(); // non-PVM cases + + // set up projection + Iproj_ Iproj(Rno+2); + Iproj.set_size(Rno+2); + Iproj.make_clusters(); + + // set up detangling + Tangles_ Tangles(Pieces); + static const double TADJ=0.5; // tangle adjustment scaling + unsigned int Tangviol=0, Tangiter=Params.i_value("Tangiter"); + + // set up the distance matrix and the coordinates: allow extra 2 points for N/C term + Trimat_ Dista(Rno+2), Distbest(Rno+2); + Fakebeta_ Fakebeta(Rno); // puts extra 2 points there automagically + Points_ Model(Rno+2, Rno), Best(Rno+2); + + // set up scores + Scores_ Distsco(Params.f_value("Minscore"), Params.f_value("Minchange")), + Euclsco(Params.f_value("Minscore"), Params.f_value("Minchange")), + Bestsco(Params.f_value("Minscore"), Params.f_value("Minchange")); + + // init graphics if enabled + int Graph=Params.i_value("Graph"); + #ifdef USE_OPENGL_GRAPHICS + Graphics_ Draw; + if (Graph) Draw.update_polymer(Polymer); + #endif + + // set the floating-point output for cout and cerr + long Coutf=cout.flags(), Cerrf=cerr.flags(); + int Oldoutprec=cout.precision(3), Olderrprec=cerr.precision(3); + cout.precision(3); cout.setf(ios::scientific, ios::floatfield); + cerr.precision(3); cerr.setf(ios::scientific, ios::floatfield); + + // ---- Main iteration cycle ---- + + // codes for various exit types + typedef enum {NOEXIT=0, EXIT_SIGNAL, EXIT_CTRLC, EXIT_SCOREOK, + EXIT_MAXITER, EXIT_REPROJ} Exitreason_ ; + Exitreason_ Exreason=NOEXIT; + + unsigned int Itno=0, It3dno=0, Dim=Rno+2, Oldim=Rno+2, + Bestfound=0, Reprojmax, Repriter, Reprojno, + Speciter=Params.i_value("Speciter"); + float Stress=0.0, Rmss=0.0, Densfact=0.0, Speceps=Params.f_value("Speceps"); + int Signal=0, Handflip=1, Logfd, Workdone=0, Noconv=0; + String_ Outname, Logname; + + // set 3D reprojections + Reprojmax=Params.i_value("Maxiter")/10+1; + if (Reprojmax<3) Reprojmax=3; + + // init the scoring system + Steric.reset_viol(Restraints, Rno+2, Distsco); + Steric.reset_viol(Restraints, Rno+2, Euclsco); + Steric.reset_viol(Restraints, Rno+2, Bestsco); + + /* Set up multiple process spawns. DRAGON can run in parallel + * either if a -m flag requested that several copies be spawned + * using fork() (cf. "Sigproc" module) on the same machine, + * or if a -M flag requested PVM support (no forking, copies + * run on different machines). Under PVM, Sigproc.is_single() + * is "true". If PVM wasn't linked in or no PVM run was requested, + * then Pvmtask.no_pvm() is "true". + */ + +#ifdef USE_PVM + if (Pvmtask.is_slave()) Graph=0; // no graphics in PVM runs + else + { +#endif + Sigproc.spawn_children(Runno); + if (!Sigproc.is_single()) Graph=0; // no graphics in multiprocess runs +#ifdef USE_PVM + } +#endif + + // will be true only if no PVM run was requested + if (Sigproc.is_parent()) + Signal=Sigproc.wait_4children(); // sit here until children finish + else // not parent + { + /* Run the simulations: either as children of a parent, + * or a simple serial run (w/o the "-m" option) or + * a multiple run which could not spawn children + * or a PVM slave + */ + int Rcyc, Rcyclo, Rcychi; + +#ifdef USE_PVM + /* for PVM runs, interpret Runno as the simulation limits */ + if (Pvmtask.is_slave()) + Rcyclo=Rcychi=Runno; + else +#endif + Sigproc.get_runlimits(Runno, Rcyclo, Rcychi); + + cout<<"RUN from "<1) // "random" start (always w/ multiples) + { + Randseed=time(NULL); + #ifdef USE_PVM + if (Pvmtask.is_slave()) + Randseed+=Pvmtask.tid(); + #endif + if (Sigproc.is_child()) + Randseed+=1024*getpid(); // give it a "large" perturbation + } + cout<<"# Randseed="<3 || Repriter==Reprojmax) + { + // in 3D, count how many reprojections were done + if (Dim==3) Reprojno++; + + // make distance matrix from previous coords + if (Itno) Model.dist_mat2(Dista); + + // adjust density + Densfact=scale_distdens(Dista, + Restraints.exp_rad(Rno, Params.f_value("Density"))); + + // "blend in" previous best distmat + if (Dim==3 && Bestfound) + merge_distmat(Distbest, Dista); + + // ideal distances + Fakebeta.update(Dista, Polymer); // get C:beta-related distances + Steric.ideal_dist(Dista, Fakebeta, Restraints, Polymer, + Pieces, Steric_::ALL | Steric_::RESTR | Steric_::SPECGRAD); + Steric.adjust_dist(Dista, Pieces, Steric_::ALL); + + // display new distance matrix + #ifdef USE_OPENGL_GRAPHICS + if (Graph) Draw.display_dist(Dista); + #endif + + /* perform full projection: in 3.x compatibility mode + * the overall projection will automatically be used + * (cf. above the Iproj.set_size() call) + */ + Dim=Iproj.full_project(Dista, Params.f_value("Evfract"), Oldim, Model); + + // post-projection refinement + Densfact=proj_dens(Dista, Pieces, Model); + Noconv=0; + Stress=Steric.adjust_xyz(Model, Speciter, Speceps, Noconv); // uses the pre-projection dists + if (Noconv || Stress<0.0) // on error or no convergence + { + Model.dist_mat2(Dista); + Steric.adjust_xyz(Dista, Model, Pieces, Steric_::ALL); + } + + /* See if the BOND distance scores improved compared to + * the previous embedding: if yes, then employ + * a bolder dim reduction strategy + */ + Model.dist_mat2(Dista); + Fakebeta.update(Dista, Polymer); // get C:beta-related distances + Steric.ideal_dist(Dista, Fakebeta, Restraints, Polymer, + Pieces, Steric_::ALL | Steric_::RESTR | Steric_::SCORE, &Distsco); + if (Distsco[Scores_::BOND].change()<0) + Oldim=(Dim>4)? (2*(Dim-3))/3+3: 4; + else + Oldim=(Dim>3)? Dim: 4; + + /* 3D-specific things: overall handedness adjustment, + * reset 3D reproj counter + */ + if (Dim==3) + { + // get correct enantiomer from comparison to known homol. struct + if (Homodel.known_no()>0) + Handflip=Homodel.hand_check(Model); + else // we are on our own (check is based on secstr hands) + Handflip=hand_check(Pieces, Model); + Repriter=0; + } + + // get accessibility score and list + Distsco[Scores_::ACCESS].score(Access.score_dist(Polymer, Dista)); + cout<<"DIST: "<1) + { + Tangiter=Params.i_value("Tangiter"); // reset + Tangviol=Tangles.tangle_elim(Pieces, Model, TADJ, Tangiter); + cout<<"TNGL: "<1) + { + + // WITHIN-external + Model.dist_mat2(Dista); + Fakebeta.update(Dista, Polymer); + Steric.ideal_dist(Dista, Fakebeta, Restraints, Polymer, + Pieces, Steric_::WITHIN | Steric_::REXT); + Steric.adjust_xyz(Dista, Model, Pieces, Steric_::WITHIN); + + Model.dist_mat2(Dista); + Fakebeta.update(Dista, Polymer); + Steric.ideal_dist(Dista, Fakebeta, Restraints, Polymer, + Pieces, Steric_::WITHIN | Steric_::REXT | Steric_::SPECGRAD); + Stress=Steric.adjust_xyz(Model, Speciter, Speceps, Noconv); + if (Noconv || Stress<0.0) + Steric.adjust_xyz(Dista, Model, Pieces, Steric_::WITHIN); + + // WITHIN-all + Model.dist_mat2(Dista); + Fakebeta.update(Dista, Polymer); + Steric.ideal_dist(Dista, Fakebeta, Restraints, Polymer, + Pieces, Steric_::WITHIN | Steric_::RESTR); + Steric.adjust_xyz(Dista, Model, Pieces, Steric_::WITHIN); + + Model.dist_mat2(Dista); + Fakebeta.update(Dista, Polymer); + Steric.ideal_dist(Dista, Fakebeta, Restraints, Polymer, + Pieces, Steric_::WITHIN | Steric_::RESTR | Steric_::SPECGRAD); + Stress=Steric.adjust_xyz(Model, Speciter, Speceps, Noconv); + if (Noconv || Stress<0.0) // on error or no convergence + { + Steric.adjust_xyz(Dista, Model, Pieces, Steric_::WITHIN); + cout<<"IN=???"; + } + else cout<<"IN="<1? 1: 3); i++) + { + // ALL-external + Model.dist_mat2(Dista); + Fakebeta.update(Dista, Polymer); + Steric.ideal_dist(Dista, Fakebeta, Restraints, Polymer, + Pieces, Steric_::ALL | Steric_::REXT); + Steric.adjust_xyz(Dista, Model, Pieces, Steric_::ALL); + + Model.dist_mat2(Dista); + Fakebeta.update(Dista, Polymer); + Steric.ideal_dist(Dista, Fakebeta, Restraints, Polymer, + Pieces, Steric_::ALL | Steric_::REXT | Steric_::SPECGRAD); + Stress=Steric.adjust_xyz(Model, Speciter, Speceps, Noconv); + if (Noconv || Stress<0.0) + Steric.adjust_xyz(Dista, Model, Pieces, Steric_::ALL); + + // secondary structure adjustment (in 3D only!) + if (Dim==3) + { + Rmss=apply_secstruct(Pieces, Model); // fit ideal secstr in 3D + cout<<" 2oSTR="<=Params.i_value("Maxiter")) Exreason=EXIT_MAXITER; + if (Reprojno==2) Exreason=EXIT_REPROJ; + cout<<"EUCL: "<1) + { + Tangiter=2*Params.i_value("Tangiter"); // reset to generous value + Tangviol=Tangles.tangle_elim(Pieces, Model, TADJ, Tangiter); + cout<<"TNGL: "<GSTEP) // "global" distances + { + for (i=d; i +#include + +// ---- CLASS HEADER ---- + +#include "Fakebeta.h" + +// ---- FLOAT/DOUBLE ISSUES ---- + +/* NOTE: SGI provides single-precision floating point functions + * such as sqrtf() etc. Some machines (SUNs in particular) don't + * know about this. Get around by the following macro + */ +#ifdef NO_MATHFLOATFUNC +#define sqrtf sqrt +#define fabsf fabs +#endif + +// ==== Fakebeta_ METHODS ==== + +// ---- Inline auxiliaries ---- + +/* get_dist: all distances in this scheme can be calculated + * from three other distances (D1..D3) and L (a Lambda). + * That's all what this tiny function does. If L==1.0 then + * the corresponding C-alpha and C-beta are at the same place; + * in this case, D1 is returned. Static private + */ +inline +float Fakebeta_::get_dist(float D1, float D2, float D3, float L) +{ + float L1=1.0-L; + return((L1==0.0)? D1: (D1-L*D2+L*L1*D3)/L1); +} +// END of get_dist() + +// ---- Distance update ---- + +/* update(): updates the CA:CB and CB:CB distance matrices using the + * CA:CA matrix Dista and the prescribed CA(i):CB(i) distances from + * Polymer_ . The matrices within may be resized if necessary. + * Return value: the new size. + */ +unsigned int Fakebeta_::update(const Trimat_& Dista, const Polymer_& Polymer) +{ + if (Dista.rno()!=Polymer.len()+2) + { + cerr<<"\n? Fakebeta_::update(): Dista:Polymer size mismatch\n"; + return(Lambda.len()); // unchanged size + } + + register unsigned int Rno=Dista.rno(); + Distab.set_size(Rno); Distb.set_size(Rno); // resize + Lambda.len(Rno); Dhj.len(Rno); + + /* NOTE: Rno held the actual size of Dista which is the number of + * residues + 2 for the N/C -termini. Now adjust Rno so that is + * is the number of residues + */ + Rno-=2; + + register unsigned int i, j; + register float Daf, Dbf, Dcf, Defgh, Dij; + + // calc the Lambda[] and Dhj[] values + make_lambda(Dista, Polymer); + + /* alpha[i]:beta[j] distances: the underlying logic is the same as + * in DRAGON 3.x but the cycles are rearranged for efficiency. + * Note the special treatment of the N- and C-termini. + */ + + // N-terminus (i==0) + for (j=1; j<=Rno; j++) + { + Defgh=0.5F*((float)Dista[j-1][0]+(float)Dista[j+1][0])-0.25F*(float)Dista[j+1][j-1]; + Distab[0][j]=get_dist((float)Dista[j][0], Defgh, Dhj[j], Lambda[j]); + } + + // middle of the chain + for (i=1; i<=Rno; i++) + { + Distab[i][i]=Polymer.abdist(i-1); // just copy prescribed value + for (j=1; j<=Rno; j++) + { + if (i==j) continue; + + Daf=float((i>=j-1)? Dista[i][j-1]: Dista[j-1][i]); + Dcf=float((i>=j+1)? Dista[i][j+1]: Dista[j+1][i]); + Defgh=0.5F*(Daf+Dcf)-0.25F*(float)Dista[j+1][j-1]; + Dbf=float((i>=j)? Dista[i][j]: Dista[j][i]); + Distab[i][j]=get_dist(Dbf, Defgh, Dhj[j], Lambda[j]); + } + } + + // C-terminus (i==Rno+1 automatically here) + for (j=1; j<=Rno; j++) + { + Defgh=0.5F*((float)Dista[i][j-1]+(float)Dista[i][j+1])-0.25F*(float)Dista[j+1][j-1]; + Distab[i][j]=get_dist((float)Dista[i][j], Defgh, Dhj[j], Lambda[j]); + } + + // beta[i]:beta[j] distances + for (i=2; i<=Rno; i++) + for (j=1; jhj)? 1.0F :bj/hj; + Dhj[i]=hj*hj; + ab=bc; + } +} +// END of make_lambda() + +// ==== END OF METHODS Fakebeta.c++ ==== diff --git a/src++/Fakebeta.h b/src++/Fakebeta.h new file mode 100644 index 0000000..3f2f6f2 --- /dev/null +++ b/src++/Fakebeta.h @@ -0,0 +1,111 @@ +#ifndef FAKEBETA_CLASS +#define FAKEBETA_CLASS + +// ==== PROJECT DRAGON: HEADER Fakebeta.h ==== + +/* Distances between the C-alphas on the backbone and the + * fake C-beta atoms (representing the side-chains). + * The C-beta positions are determined by the backbone. + */ + +// SGI C++ 4.0, IRIX 5.3, 28. Nov. 1995. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include + +// ---- UTILITY HEADERS ---- + +#include "Array.h" +#include "Sqmat.h" +#include "Trimat.h" +#include "Points.h" + +// ---- INCLUDE FILES ---- + +#include "Polymer.h" + +// ==== CLASSES ==== + +/* Class Fakebeta_: stores two matrices, Distab and Distb. The former + * holds the squared distances between the i-th CA and the j-th + * CB; the latter holds the CB:CB squared distances. The CA:CA distance matrix + * is not stored here. + * The basic geometry is explained below (comment coming from + * DRAGON 3.x):- + * The chain is made up of a C-alpha backbone and is decorated + * by fake C-beta atoms which represent the centroids of the + * side chains. The monomers are 2D and therefore achiral in >=3D. + * The i-th fake beta atom sits on the line connecting + * the i-th C-alpha and the midpoint between the (i-1)th and + * (i+1)th C-alphas. The first [0] and last [Rno+1] points on the backbone + * correspond to the terminal NH3+ and COO-, respectively. + * When I derived the distance equations, I used letters to + * mark the atoms instead of indexing to make life easier. + * Here is the scheme: + * + * J <-- the i-th fake C-beta atom + * | + * | <-- Dbj, the prescribed alpha:beta distance (0 for Gly) + * | + * B <-- the i-th C-alpha atom + * / : \ + * / : \ + * A...H...C <-- the (i+1)th C-alpha atom + * ! ! + * ! ---------- the midpoint between A and C + * -------------- the (i-1)th C-alpha atom + * + * Of course AC is not orthogonal to BH if AB != BC, but BHJ + * are always collinear. If ABC are collinear, then BH==0, + * and then J is assumed to be equivalent to B (the C-beta + * "riding" on the C-alpha). + * The quantity Lambda is defined as BJ/HJ, 0...1, and B + * divides the JH segment as BJ:BH=Lambda:(1-Lambda). + * Lambdas can be const accessed (for the benefit of the steric routines). + */ +class Fakebeta_ +{ + // data + private: + + Sqmat_ Distab; // [i][j]==dist^2(CA(i),CB(j)) + Trimat_ Distb; // CB:CB distances + Array_ Lambda, Dhj; // auxiliary vectors (see comments above) + + // methods + public: + + // constructors + /* Init to hold Rno monomers plus the two terminals. */ + Fakebeta_(unsigned int Rno=1): + Distab(Rno+2), Distb(Rno+2), Lambda(Rno+2), Dhj(Rno+2) {} + + // access + double ab(unsigned int i, unsigned int j) const { return(Distab(i, j)); } + double bb(unsigned int i, unsigned int j) const { return(Distb(i, j)); } + const float& lambda(unsigned int i) const { return(Lambda[i]); } + + // distance update + /* update(): updates the CA:CB and CB:CB distance matrices using the + * CA:CA matrix Dista and the prescribed CA(i):CB(i) distances from + * Polymer_ . The matrices within may be resized if necessary. + * Return value: the new size. + */ + unsigned int update(const Trimat_& Dista, const Polymer_& Polymer); + + /* beta_xyz(): generates the fake C-beta coordinates from the C-alpha coordinates + * stored in Xyz and puts the result into Beta. + */ + static void beta_xyz(const Points_& Xyz, const Polymer_& P, Points_& Beta); + + // private methods + private: + + static float get_dist(float D1, float D2, float D3, float L); + void make_lambda(const Trimat_& Dista, const Polymer_& Polymer); +}; +// END OF CLASS Fakebeta_ + +// ==== END OF HEADER Fakebeta.h ==== +#endif /* FAKEBETA_CLASS */ diff --git a/src++/Graphics.c++ b/src++/Graphics.c++ new file mode 100644 index 0000000..9de965d --- /dev/null +++ b/src++/Graphics.c++ @@ -0,0 +1,212 @@ +#ifdef USE_OPENGL_GRAPHICS + +// ==== PROJECT DRAGON: METHODS Graphics.c++ ==== + +/* Graphics output routines which interface to the C/OpenGL routines + * in "cadraw" and "matplot". + */ + +// SGI C++ 7.1 + OpenGL, IRIX 6.2, 21-Oct-1997. Andris Aszodi + +// ---- MODULE HEADER ---- + +#include "Graphics.h" +#include +#include + +/* NOTE: SGI provides single-precision floating point functions + * such as sqrtf() etc. Some machines (SUNs in particular) don't + * know about this. Get around by the following macro + */ +#ifdef NO_MATHFLOATFUNC +#define sqrtf sqrt +#define fabsf fabs +#endif + +// ---- STATIC INITIALISATION ---- + +const double Graphics_::MINDIST=3.5; +const double Graphics_::MAXDIST=15.0; + +const int Graphics_::DXORIG=100; +const int Graphics_::DYORIG=100; +const int Graphics_::EXORIG=320; +const int Graphics_::EYORIG=100; +const int Graphics_::MXORIG=100; +const int Graphics_::MYORIG=340; +const int Graphics_::MATSIZE=200; +const int Graphics_::MOVIESIZE=400; + +// ==== Graphics_ METHODS ==== + +// ---- Update and display ---- + +/* update_polymer(): updates the calling object so that it can + * display a structure specified by Polymer (as regards length + * and actual phobicity info). + */ +void Graphics_::update_polymer(const Polymer_& Polymer) +{ + register unsigned int i, Ptno=Polymer.len()+2; // room for N/C termini + + // change sizes + if (Size!=Ptno) + { + // destroy old stuff + delete_drawmat(Dmat); Dmat=NULL; + delete_drawmat(Emat); Emat=NULL; + delete_drawchain(Movie); Movie=NULL; + Size=Ptno; + + // rebuild the matrices using the new Size + Dmat=create_drawmat(Size, Size, MAXDIST, MINDIST); + Emat=create_drawmat(Size, Size, MAXDIST, MINDIST); + + // construct the movie drawchain entry + Movie=create_drawchain(Size); + } + + // store colour information + float Phob, Minphob=1e10, Maxphob=-1e10; + for (i=0; iMaxphob) Maxphob=Phob; + } + + memcpy(Movie->Coords[0].Col, rainbow_ramp(Polymer.phob(0), Minphob, Maxphob), 3*sizeof(GLfloat)); + memcpy(Movie->Coords[Ptno-1].Col, rainbow_ramp(Polymer.phob(Ptno-3), Minphob, Maxphob), 3*sizeof(GLfloat)); + + // store ordinary C-alpha atom colour codes + for (i=1; iCoords[i].Col, rainbow_ramp(Polymer.phob(i-1), Minphob, Maxphob), 3*sizeof(GLfloat)); +} +// END of update_polymer() + +/* display_dist(), display_eucl(): draw the Distance Space or + * Euclidean Space distance matrices, respectively. The windows + * are opened if necessary. + */ +void Graphics_::display_dist(const Trimat_& Distmat) +{ + if (!DisplayOK) return; // do not even try + + // shall the window be opened? + if (Distwin.Dpy==NULL) + { + DisplayOK=create_glxwindow(&Distwin, DXORIG, DYORIG, MATSIZE, MATSIZE, "DRAGON:Dist"); + if (!DisplayOK) + { + cerr<<"\n? Graphics_::display_dist(): No graphics\n"; + return; + } + } + copy_mat(Distmat, Dmat); // copies square roots! + plot_mat(&Distwin, Dmat); +} +// END of display_dist() + +void Graphics_::display_eucl(const Trimat_& Distmat) +{ + if (!DisplayOK) return; // do not even try + + // shall the window be opened? + if (Euclwin.Dpy==NULL) + { + DisplayOK=create_glxwindow(&Euclwin, EXORIG, EYORIG, MATSIZE, MATSIZE, "DRAGON:Eucl"); + if (!DisplayOK) + { + cerr<<"\n? Graphics_::display_eucl(): No graphics\n"; + return; + } + } + copy_mat(Distmat, Emat); // copies square roots! + plot_mat(&Euclwin, Emat); +} +// END of display_eucl() + +/* display_coords(): copies the Xyz coordinates into Movie's + * appropriate array for display, provided Xyz is 3-dimensional. + * Opens a graphics window and draws the structure. + * If not in 3D, then no action is taken. + */ +void Graphics_::display_coords(const Points_& Xyz) +{ + // are we in 3D, was graphics OK so far? + if (Xyz.dim()!=3 || !DisplayOK) return; // no action + + register unsigned int i; + Coord_ *Coords=Movie->Coords; + float *Cx; + static GLenum Sizechanged=GL_FALSE; + + // copy coordinates + for (i=0; iCono; i++) + { + Cx=Coords[i].X; + Cx[0]=(float)Xyz[i][0]; + Cx[1]=(float)Xyz[i][1]; + Cx[2]=(float)Xyz[i][2]; + } + + // open the window + if (Moviewin.Dpy==NULL) + { + DisplayOK=create_glxwindow(&Moviewin, MXORIG, MYORIG, MOVIESIZE, MOVIESIZE, "DRAGON:Movie"); + if (!DisplayOK) + { + cerr<<"\n? Graphics_::display_coords(): No graphics\n"; + return; + } + init_cadraw(&Moviewin, 3); // linewidth etc. + calc_drawlimits(Movie); // prepare for perspective + Sizechanged=GL_TRUE; // make a note to set perspective + } + + // has the size changed? + if (Sizechanged || + (read_events(&Moviewin) && Moviewin.Event.type==ConfigureNotify)) + { + set_perspective(&Moviewin, Movie, 20.0); // 20 deg window + Sizechanged=GL_FALSE; + } + + draw_chain(&Moviewin, Movie); // draw the structure +} +// END of display_coords() + +/* close_window(): closes the windows if they were open. */ +void Graphics_::close_window() +{ + if (!DisplayOK) return; + destroy_glxwindow(&Distwin); + destroy_glxwindow(&Euclwin); + destroy_glxwindow(&Moviewin); +} + +// ---- Old matrix handling ---- + +void Graphics_::copy_mat(const Trimat_& Newmat, Drawmatrix_ *Oldmat) const +{ + if (Newmat.rno()!=Oldmat->Row || Newmat.rno()!=Oldmat->Col) + { + cerr<<"\n? Graphics_::copy_mat(): Dim mismatch: Oldmat=[" + <Row<<","<Col<<"], Newmat=[" + <Mat[i][i]=sqrtf(fabsf(Newmat[i][i])); + for (j=0; jMat[i][j]=Oldmat->Mat[j][i]=sqrtf(fabsf(Newmat[i][j])); + } +} +// END of copy_mat() + +// ==== END OF METHODS Graphics.c++ ==== + +#endif /* USE_GRAPHICS */ diff --git a/src++/Graphics.h b/src++/Graphics.h new file mode 100644 index 0000000..0a8e44e --- /dev/null +++ b/src++/Graphics.h @@ -0,0 +1,108 @@ +#ifdef USE_OPENGL_GRAPHICS + +#ifndef GRAPHICS_CLASS +#define GRAPHICS_CLASS + +// ==== PROJECT DRAGON: HEADER Graphics.h ==== + +/* Graphics output routines which interface to the C/OpenGL routines + * in "matplot" and "cadraw". + */ + +// SGI C++ 7.1 + OpenGL, IRIX 6.2, 17-May-1998. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include + +// ---- MODULE HEADERS ---- + +#include "Polymer.h" +#include "cadraw.h" +#include "matplot.h" + +// ---- UTILITY HEADERS ---- + +#include "Points.h" + +// ==== CLASSES ==== + +/* Class Graphics_: a very simple class that holds a ptr to a + * C struct called Drawchain_ (cf. "cadraw.h"). It can be asked to + * draw a 3D C-alpha structure on the screen of an SGI machine. + * It also plots distance matrices (cf. "matplot.h"). + */ +class Graphics_ +{ + // data + private: + + static const double MINDIST, MAXDIST; // colour distance limits + static const int DXORIG, DYORIG, EXORIG, EYORIG, + MXORIG, MYORIG, MATSIZE, MOVIESIZE; // win positions and sizes + + Drawmatrix_ *Dmat, *Emat; // "distance space" and "euclidean space" matrices + Drawchain_ *Movie; // the draw structure ptr + unsigned int Size; // residue no. + Windowinfo_ Distwin, Euclwin, Moviewin; // distmat and structure window IDs + bool DisplayOK; // false if one of the windows could not be opened + + // methods + public: + + // constructors + /* Init to empty (default). Copy and assignment are disabled. */ + Graphics_(): Dmat(NULL), Emat(NULL), Movie(NULL), + Size(0), DisplayOK(true) + { + Distwin.Dpy=Euclwin.Dpy=Moviewin.Dpy=NULL; // no windows yet + } + + // destructor + ~Graphics_() + { + close_window(); + delete_drawmat(Dmat); Dmat=NULL; + delete_drawmat(Emat); Emat=NULL; + delete_drawchain(Movie); Movie=NULL; + } + + // update and display + /* update_polymer(): updates the calling object so that it can + * display a structure specified by Polymer (as regards length + * and phobicity info). + */ + void update_polymer(const Polymer_& Polymer); + + /* display_dist(), display_eucl(): draw the Distance Space or + * Euclidean Space distance matrices, respectively. The windows + * are opened if necessary. + */ + void display_dist(const Trimat_& Distmat); + void display_eucl(const Trimat_& Distmat); + + /* display_coords(): copies the Xyz coordinates into Movie's + * appropriate array for display, provided Xyz is 3-dimensional. + * Opens a graphics window and draws the structure. + * If not in 3D, then no action is taken. + */ + void display_coords(const Points_& Xyz); + + /* close_window(): closes the windows if they were open. */ + void close_window(); + + // Old-style matrix routines + private: + void copy_mat(const Trimat_& Newmat, Drawmatrix_ *Oldmat) const; + + // "forbidden methods" + private: + Graphics_(const Graphics_&); + Graphics_& operator=(const Graphics_&); +}; +// END OF CLASS Graphics_ + +// ==== END OF HEADER Graphics.h ==== + +#endif /* GRAPHICS_CLASS */ +#endif /* USE_OPENGL_GRAPHICS */ diff --git a/src++/Helix.c++ b/src++/Helix.c++ new file mode 100644 index 0000000..80772dc --- /dev/null +++ b/src++/Helix.c++ @@ -0,0 +1,528 @@ +// ==== PROJECT DRAGON: METHODS Helix.c++ ==== + +/* Alpha-helix topology and geometry class. Cf. "Segment.h" + * and "Sstrbase.h" for base class information. + */ + +// SGI C++, IRIX 6.2, 14. Aug. 1996. (C) Andras Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include + +// ---- UTILITY HEADERS ---- + +#include "Vector.h" +#include "Sqmat.h" +#include "Hirot.h" + +// ---- MODULE HEADER ---- + +#include "Helix.h" + +// ---- DEFINITIONS ---- + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +// ==== Helix_ METHODS ==== + +// ---- Static data member initialisation ---- + +const int Helix_::HX310_DIAG=2; // 3/10-helix H-bond (i,i+2) +const int Helix_::ALPHA_DIAG=3; // alpha-helix H-bond (i,i+3) +const int Helix_::HXPI_DIAG=4; // pi-helix H-bond (i,i+4) + +// The helical params are from the Schulz/Schirmer book (1979) +const double Helix_::RADIUS_310=1.9, + Helix_::PITCH_310=2.0, + Helix_::TURN_310=2.09; +const double Helix_::RADIUS_ALPHA=2.3, + Helix_::PITCH_ALPHA=1.5, + Helix_::TURN_ALPHA=1.75; +const double Helix_::RADIUS_PI=2.8, + Helix_::PITCH_PI=1.1, + Helix_::TURN_PI=1.46; + +Array_ Helix_::Dist310(0); // zero length +Array_ Helix_::Distalpha(0); +Array_ Helix_::Distpi(0); + +// ---- Constructors ---- + +/* set_diag(): sets the diagonal phase of the helix according to the + * type stored in the Htype member. Protected + */ +inline +void Helix_::set_diag() +{ + switch (Htype) + { + case HX310: Diag=HX310_DIAG; break; + case HXPI: Diag=HXPI_DIAG; break; + case ALPHA: + default: Diag=ALPHA_DIAG; break; + } +} +// END of set_diag() + +/* Inits the helix to begin at Start and end at Stop to have type Ht + * (the default is ALPHA). + * Stop>=Start but the Linsegm_ base class ctor takes care of this. + * Will be set to store 2 tetrahedral point sets. + */ +Helix_::Helix_(unsigned int Start, unsigned int Stop, Helixtype_ Ht): + Linsegm_(Start, Stop), Sstrbase_(2), Htype(Ht) +{ + set_diag(); + if (!Beg) + { + // cerr<<"\n? Helix_("<=Beg+Diag)? int(Res)-Diag: -1); +} + +int Helix_::hbond_next(unsigned int Res) const +{ + if (!member(Res)) + { + cerr<<"? Helix_::hbond_next(): Residue "<=7 + Thedra.len(2); + Thedra[0].P1=beg(); Thedra[1].P1=beg()+1; + Thedra[0].P2=beg()+2; Thedra[1].P2=beg()+3; + Thedra[0].P3=end()-3; Thedra[1].P3=end()-2; + Thedra[0].P4=end()-1; Thedra[1].P4=end(); + break; + } +} +// END of make_ths() + +// ---- Ideal geometry ---- + +/* Updates the ideal distance array which is one of three static + * members, one for each type of helix. If the calling object contains + * a helix longer than the corresponding dist array, then the missing + * values are calculated and put onto the end. Protected + */ +inline +void Helix_::update_iddist(Array_& Dist) const +{ + register unsigned int Oldlen, i; + if ((Oldlen=Dist.len())& Dist) const +{ + register unsigned int d, i, j; + + for (d=0; d=Bad, -1 if GoodTors) + { + cerr<<"\n? Helix_::check_torsion(): collinearity\n"; + continue; + } + if (Tors<0.0) ++Bad; else ++Good; + } + + Model.mask(Oldmask); + return((Good>=Bad)? 1: -1); +} +// END of check_torsion() + +// ---- Input ---- + +/* >>: reads in a helix from the stream In. Expects the following + * format:- + * " [strict]\n" + * where the spaces represent one or more + * whitespaces, and are positive integers. + * is one of the following strings: "HX310" for a 3/10 helix, + * "ALPHA" or "HELIX" for an alpha-helix, "HXPI" for a pi-helix. + * [strict] is an optional floating-point number between 0.0 and 1.0, + * which, if specified, tells the system to what extent to apply the ideal + * helical structure in the model. + * Input stops after or [strict] and the newline is not consumed. + * On error, the "fail" bit is set and the Helix_ object will not + * be modified. + */ +istream& operator>>(istream& In, Helix_& H) +{ + if (!In) return(In); // don't bother with unreadable streams + + char Hbuf[6]; + Helix_::Helixtype_ Ht; + In>>setw(6)>>Hbuf; + if (!In) + { + cerr<<"\n? >>Helix_: string (\"HX310\", \"ALPHA\", \"HELIX\" or \"HXPI\") expected\n"; + In.clear(ios::failbit|In.rdstate()); + return(In); + } + + if (!strcmp(Hbuf, "HX310")) Ht=Helix_::HX310; + else if (!strcmp(Hbuf, "ALPHA") || !strcmp(Hbuf, "HELIX")) Ht=Helix_::ALPHA; + else if (!strcmp(Hbuf, "HXPI")) Ht=Helix_::HXPI; + else + { + cerr<<"\n? >>Helix_: Invalid helix type \""<>B>>E; + if (!In || B<=0 || E<=0) + { + cerr<<"\n? >>Helix_: Invalid limits: "<>Str; + if (!In) // was not there: restore previous state + In.clear(Rdstate); + + if (Str<=0.0) + { + cerr<<"\n? >>Helix_: Strictness "<1.0) Str=1.0; // adjust silently + + // OK, update the helix + if (B>E) + { + int T=B; B=E; E=T; // swap + } + H.limits(B, E); // keep [1..Rno] range V4.8.1 + H.Strict=Str; // store strictness + H.Htype=Ht; // store type first + H.set_diag(); // and then adjust the diagonal phase + return(In); +} +// END of >> + +// ---- Output ---- + +/* write_to(): writes the calling object to the stream Out. + * The format is: " [strict]\n" where the residue + * numbers start with 1 and is "HX310", "ALPHA" or "HXPI". + * [strict] is printed only if it is not 1.0. + */ +void Helix_::write_to(ostream& Out) const +{ + switch(Htype) + { + case HX310: Out<<"HX310 "; break; + case HXPI: Out<<"HXPI "; break; + case ALPHA: + default: Out<<"ALPHA "; break; + } + Out<=V4.8.1) + */ +class Helix_ : public Linsegm_ , public Sstrbase_ +{ + // helix type + public: + enum Helixtype_ {HX310, ALPHA, HXPI}; + + // data + private: + + // constants + static const int HX310_DIAG; // 3/10-helix H-bond (i,i+2) + static const int ALPHA_DIAG; // alpha-helix H-bond (i,i+3) + static const int HXPI_DIAG; // pi-helix H-bond (i,i+4) + + static const double RADIUS_310, PITCH_310, TURN_310; // helical params + static const double RADIUS_ALPHA, PITCH_ALPHA, TURN_ALPHA; + static const double RADIUS_PI, PITCH_PI, TURN_PI; + + static Array_ Dist310; // ideal distances + static Array_ Distalpha; + static Array_ Distpi; + + Points_ Id; // the ideal conformation + Helixtype_ Htype; // the helix type + int Diag; // H-bond phase + + // methods + public: + + // constructors + /* Inits the helix to begin at Start and end at Stop to have type Ht + * (the default is ALPHA). + * Stop>=Start but the Linsegm_ base class ctor takes care of this. + * Will be set to store 2 tetrahedral point sets. + */ + Helix_(unsigned int Start=1, unsigned int Stop=ALPHA_DIAG, Helixtype_ Ht=ALPHA); + + /* Inits the helix with a Linsegm_ object with type Ht (default ALPHA). */ + Helix_(const Linsegm_& Ls, Helixtype_ Ht=ALPHA); + + // "virtual constructors" + void operator()(Sstrbase_*&) const; + + // dynamic type identification + bool is_helix() const { return(true); } + bool is_beta() const { return(false); } + int helix_type() const { return(Htype); } + + // H-bond topology + /* hbond_prev(), hbond_next(): return the no. of the previous + * or the next residue H-bonded to Res or -1 if there's no partner + * (at helix ends) or -2 if Res is not a member of the helix. + * A warning is also printed in this case. + */ + int hbond_prev(unsigned int Res) const; + int hbond_next(unsigned int Res) const; + + // ideal geometry + /* make_idstruct(): generates the 3D ideal right-handed alpha-helix + * in Id if the sentinel Changed (inherited from Segmbase_) is true. + * Returns length or 0 if something fails. + */ + unsigned int make_idstruct(); + + /* ideal_dist(): puts the ideal alpha-helical UNsquared distances into + * a distance matrix Dmat in the right position. Does nothing if + * the helix does not fit in the matrix. Prints a warning if Changed==true, + * since this indicates that the size was changed without updating the + * ideal structure and therefore what is returned may be incorrect. + * (The situation will be dealt with elegantly when the "mutable" + * keyword finds its way into the compiler.) The adjustment is + * applied with a variable strictness (Strict is in Sstrbase_ ). + * Also sets the corresponding strictness entries in Strimat. + */ + void ideal_dist(Trimat_& Dmat, Trimat_& Strimat) const; + + /* ideal_struct(): applies the ideal alpha-helical coordinates stored + * inside onto the point set Model. Model must be large enough to contain + * the helix and when masked with the helix's mask, the active region + * must be 3-dimensional. If this is the case, then the ideal structure + * will be RMS fitted onto Model's active region, the original segment + * replaced by the rotated/transposed ideal, and the RMS value returned. + * -1.0 is returned on error. Model's original activation pattern is + * always retained. Prints a warning if an update is needed. + */ + double ideal_struct(Points_& Model) const; + + // handedness + /* check_torsion(): walks over the helix in 3D in Model and calculates all + * (i, i+3) torsion angles. For right-handed helices these should + * be all positive. Good and Bad will be set to the no. of correct + * and incorrect torsion angles. + * Return value: 1 if Good>=Bad, -1 if Good>: reads in a helix from the stream In. Expects the following + * format:- + * " [strict]\n" + * where the spaces represent one or more + * whitespaces, and are positive integers. + * is one of the following strings: "HX310" for a 3/10 helix, + * "ALPHA" or "HELIX" for an alpha-helix, "HXPI" for a pi-helix. + * [strict] is an optional floating-point number between 0.0 and 1.0, + * which, if specified, tells the system to what extent to apply the ideal + * helical structure in the model. + * Input stops after or [strict] and the newline is not consumed. + * On error, the "fail" bit is set and the Helix_ object will not + * be modified. + */ + friend istream& operator>>(istream& In, Helix_& H); + + // hidden methods + protected: + + void set_diag(); + void update_iddist(Array_& Dist) const; + void copy_iddist(Trimat_& Dmat, Trimat_& Strimat, const Array_& Dist) const; + void make_ths(); + void write_to(ostream& Out) const; + +}; +// END OF CLASS Helix_ + +// ==== END OF HEADER Helix.h ==== +#endif /* HELIX_CLASS */ diff --git a/src++/Hmom.c++ b/src++/Hmom.c++ new file mode 100644 index 0000000..891b02c --- /dev/null +++ b/src++/Hmom.c++ @@ -0,0 +1,295 @@ +// ==== PROJECT DRAGON: FUNCTIONS Hmom.c++ ==== + +/* Calculates the hydrophobic moments of clusters and + * rotates them in Euclidean space so that the moments point + * towards the common centroid. + */ + +// SGI C++ 7.1, IRIX 6.2, 9. May 1998. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include +#include +#include + +// ---- UTILITY HEADERS ---- + +#include "Vector.h" +#include "Sqmat.h" +#include "Svd.h" + +// ---- MODULE HEADERS ---- + +#include "Hmom.h" +#include "Fakebeta.h" + +// ---- DEFINITIONS ---- + +#ifdef M_PI +#define TWO_PI (2.0*M_PI) +#else +#define TWO_PI 6.2831853 +#endif + +// ---- PROTOTYPES ---- + +static int rot_ndim(const Vector_& P, const Vector_& Q, Sqmat_& R); + +// ==== FUNCTIONS ==== + +/* hmom_clurot(): rotates all clusters in Pieces so that their + * hydrophobic moments point towards the overall centroid. + * The phobicity info is in Polymer, the Euclidean coordinates + * are in Xyz. No action is taken for single-cluster sets. + */ +void hmom_clurot(const Pieces_& Pieces, const Polymer_& Polymer, + Points_& Xyz) +{ + static Points_ Beta; // fake beta positions + static Vector_ Ctr, Ab, Hmom; + static Sqmat_ Rot; + + unsigned int Ptno=Xyz.len(), Cluno=Pieces.clu_no(); + if (Cluno<=1) return; + + Bits_ Oldmask=Xyz.mask(true); // switch all points on + unsigned int Dim=Xyz.dim(); + + if (!Dim) + { + cerr<<"\n? hmom_clurot(): Dim mismatch within coords\n"; + return; + } + + // get fake beta positions + Beta.len_dim(Ptno, Dim); + Fakebeta_::beta_xyz(Xyz, Polymer, Beta); + + // store moment vectors in Beta + Ab.dim(Dim); + register unsigned int i; + + for (i=0; i="<="<>>> */ + + double Sinfi=sqrt(1.0-Cosfi*Cosfi); + + /* get the overall matrix: R=U*R2*U' where R2 is a unit matrix + * except for the lower right corner which is an "angle Phi + * 2D rotation block", i. e. + * [ cos(Phi) -sin(Phi)] + * [ sin(Phi) cos(Phi) ] + * The multiplication is expanded for speed (?) and obfuscation. + */ + register unsigned int m, n, p; + register double Temp; + register double *Um, *Un; // U row ptrs (m-th and n-th) for speed + for (m=0; m +#include +#include /* for unlink() */ +#include /* for sprintf() */ +#include /* for FLT_MAX */ + +// ---- MODULE HEADERS ---- + +#include "Homodel.h" +#ifdef USE_PVM +#include "Pvmtask.h" +#endif + +// ---- DEFINITIONS ---- + +#ifndef FLT_MAX +#define FLT_MAX (1e+20) +#endif + +/* NOTE: SGI provides single-precision floating point functions + * such as sqrtf() etc. Some machines (SUNs in particular) don't + * know about this: Define NO_MATHFLOATFUNC on the command line + */ +#ifdef NO_MATHFLOATFUNC +#define sqrtf sqrt +#endif + +// ==== Homodel_ METHODS ==== + +// ---- Modification ---- + +/* read_knownstr(): reads the known structure(s) from a PDB file Pdbf. + * More than one structure may be specified in the file as separate + * chains. The sequences of them are extracted and compared to the + * sequences already in the alignment: chains which were not found in + * the alignment are skipped. The C-alpha coordinates are then stored. + * Nothing is done and a negative integer is returned on error + * (inaccessible or unreadable PDB file), otherwise the number of + * structures successfully identified is returned. 0 is returned + * if NULL or "" was specified as an input PDB file. + */ +int Homodel_::read_knownstr(const char *Pdbf) +{ + // don't do anything if no file was specified + if (Pdbf==NULL || !strlen(Pdbf)) + { + Knownno=0; return(0); + } + + // get the PDB information: all atoms although only the C-alphas are used + Pdbentry_ *Pdb=get_pdb(Pdbf, ALLATOMS, STRICT); + if (Pdb==NULL) + { + cerr<<"\n? Homodel_::read_knownstr(\""<Chainno]; + Bestknown=NULL; Knownno=0; + + // process all chains in turn + unsigned int Chno; + Chain_ *Chain; + float Sim=0.0; + const Align_& Aln=Pol.align(); // get ref to the alignment + + for (Chain=Pdb->Chains, Chno=0; ChnoChainno; Chain++, Chno++) + { + if (Chain->Type=='X') continue; // not protein, skip + + // find out if the sequence is in the alignment + char *Alnseq=NULL; // this is just a buffer + unsigned int k; + cout<<"# Sequence of known structure "<<(Chno+1)<Seq); q++) + { + cout<Seq[q]; + if ((q+1) % 60 ==0) cout<Seq, Alnseq)) break; // OK, matches + } + if (k>=Aln.seq_no()) + { + delete [] Alnseq; + continue; // struct not found in alignment + } + + // store this structure + Knownstructs[Knownno].Seq=Alnseq; // store sequence + Knownstructs[Knownno].Seqidx=k; // store sequence index in alignment + get_ca(Chain, Knownstructs[Knownno].Cas); // extract CA coordinates + Knownstructs[Knownno].Sim=Sim= + Pol.seq_simil((int)Pol.master()-1, k); // similarity to target + + // save struct most similar to target so far + if (Bestknown==NULL || Bestknown->SimSeqidx+1) + <<". sequence in the alignment is the most similar to the target\n"; + } + else + cerr<<"\n? Homodel_::read_knownstr(): Cannot find most similar chain\n"; + + // cleanup + free_pdb(Pdb); + return(Knownno); +} +// END of read_knownstr() + +/* NOTE: the following method is used for PVM runs only */ +#ifdef USE_PVM + +/* str_readknown(): reads the PDB structure from the string Pdbstr. + * This is a horrible kludge: the string is written to a temporary + * file which is then processed by read_knownstr(). The reason is + * that the PDB reader is in C, and it wouldn't be easy to convert + * all those scanf()-s to sscanf()-s. This method is provided + * for the PVM inter-process message passing. + * Return values are exactly the same as in read_knownstr(). + */ +int Homodel_::str_readknown(const char *Pdbstr) +{ + // don't do anything if Pdbstr is empty + if (Pdbstr==NULL || !strlen(Pdbstr)) + { + cerr<<"\n? Homodel_::str_readknown(): PDB string is empty\n"; + Knownno=0; return(0); + } + + extern Pvmtask_ Pvmtask; + if (!Pvmtask.is_slave()) + { + cerr<<"\n? Homodel_::str_readknown(): Not running as a PVM slave\n"; + return(-4); + } + + /* Set up a name for the tempfile: the PVM task ID string is used + * for this purpose (which must be unique). + */ + char Pdbtemp[256]; + ofstream Tmpf; + + sprintf(Pdbtemp, "D4pdbtemp_%s", Pvmtask.id_str()); + cout<<"# Homodel tempfile name:"<Aano, 3); + + Atom_ *Cur; + int i, j; + + /* trundle along the chain: the C-alpha always comes + * before the corresponding side chain (we hope) + */ + for (Cur=Chain->Atoms, i=j=0; iAtomno; i++, Cur++) + { + // skip all atoms except C-alphas + if (strcmp(Cur->Id, "CA") || !(Cur->Alt==' ' || Cur->Alt=='A')) + continue; + + // store C-alpha coords + Cas[j][0]=Cur->X; Cas[j][1]=Cur->Y; Cas[j][2]=Cur->Z; + j++; + } +} +// END of get_ca() + +// ---- Restraint generation ---- + +/* make_restrs(): builds a list of CA distance restraints + * for all residue pairs in the known structure(s) which participate + * in the alignment and are closer than the Maxdist (not squared). + * The lower bound is the shortest distance found + * in the known structures, the upper bound is the largest. + * The residue pairs must be separated by Minsepar residues in + * the sequence (Minsepar==2 is the minimum, allowing for + * (i, i+2) pairs). 2 is also the default. + * From V4.11.2 on, also prepares for RMS checks between model + * structure and the best known structure (to get the right enantiomer). + */ +List1_ Homodel_::make_restrs(float Maxdist, int Minsepar) +{ + List1_ Rlist; + if (!Knownno) + { + cerr<<"\n? Homodel_::make_restrs(): No known structure\n"; + return(Rlist); // returns empty list + } + + /* Prepare for the RMS comparison between the best known structure + * and the model. While looking for the close pairs, + * equivalence masks are also constructed. Two residues in + * the best scaffold and the model are considered equivalent if + * they are in the same alignment position. The comparison + * weights come from the conservation values at these positions. + */ + + /* Set weight array and mask lengths. Note that + * the model has 2 more "pseudo-C-alphas" at both + * ends of the chain (NH3+, COO-) + */ + unsigned int Len=Pol.len(); // master seq length + Weight.dim(Len); + Knownmask.len(Bestknown->Cas.len()); // use most homologous + Knownmask.set_values(false); + Modelmask.len(Len+2); // 2 added for N/C termini + Modelmask.set_values(false); + + register unsigned int k, w; + register int ai, aj, mi, mj; // alignment and master idx + int Bestidx=Bestknown-Knownstructs; // index of best known structure + register float Ci, Cj, D2, D2low, D2hi; + Restr_ R; + const Align_& Aln=Pol.align(); + int *Si=new int [Knownno]; // seq position array for known structs + int *Sj=new int [Knownno]; + + // use the squared maximal distance + cout<<"# Maximal distance for homology-derived restraints: "<=0) cout<<'\t'<=0) + { + // found equiv. res. in best known for mi:th in master + Knownmask.set_bit(Si[Bestidx]); + Modelmask.set_bit(mi+1); // shift: [0]th pos is NH3+ + Weight[w++]=Ci; // comparison weight for Si[..]:[mi] pair + } + + // same for the other half of the restraint pairs + for (mj=mi+Minsepar; mjMaxdist) + continue; // not close enough + + if (D2D2hi) D2hi=D2; + } + + if (D2low==FLT_MAX || D2hi==-FLT_MAX) + continue; // all known structs had gaps here or not close enough + + // widen the range by +/- 5 % + D2low*=0.9025; D2hi*=1.1025; + + R.low2(D2low); R.up2(D2hi); // store restraints at last + Rlist+=R; + + // update separation categories (not terribly elegant) + Sep=abs(int(mj)-int(mi)); + if (Sep<=VERY_CLOSE) Separs[0]++; + else if (Sep<=CLOSE) Separs[1]++; + else if (Sep<=MEDIUM) Separs[2]++; + else if (Sep<=DISTANT) Separs[3]++; + else Separs[4]++; + + } // for mj + } // for mi + + // list separation "statistics" + cout<<"# Restraint distribution by sequential separation\n"; + cout<<"2.."<Cas; // coords of the most homologous structure + + // set the equivalence masks + Bits_ Oldmodelmask=Model.mask(Modelmask); + Cas.mask(Knownmask); + + // center the masked structures (inactive points stay the same!!!) + Vector_ Modctr=Model.centroid(Weight); Model-=Modctr; + Vector_ Casctr=Cas.centroid(Weight); Cas-=Casctr; + + // do the unflipped match + if (!Hr.best_rot(Cas, Model, Weight)) + { + cerr<<"\n? Homodel_::hand_check(): Rank deficiency in unflipped rotation\n"; + Model+=Modctr; Model.mask(Oldmodelmask); + Cas+=Casctr; Cas.mask(true); + return(0); + } + double Rms=Hr.get_rms(Cas, Model, Weight); + if (Rms<0.0) + { + cerr<<"\n? Homodel_::hand_check(): Cannot get RMS in unflipped rotation\n"; + Model+=Modctr; Model.mask(Oldmodelmask); + Cas+=Casctr; Cas.mask(true); + return(0); + } + + // now do the flipped match + Model+=Modctr; Model.mask(true); // switch all points on: Model moved back + Points_ Flipmodel(Model); + Flipmodel*=-1.0; // invert the model (all coords) + Flipmodel.mask(Modelmask); // apply equivalence mask + Modctr=Flipmodel.centroid(Weight); Flipmodel-=Modctr; // centre active flipped + + Model.mask(Oldmodelmask); // on error, the original Model is retained + + if (!Hr.best_rot(Cas, Flipmodel, Weight)) + { + cerr<<"\n? Homodel_::hand_check(): Rank deficiency in flipped rotation\n"; + Cas+=Casctr; Cas.mask(true); return(0); + } + double Rmsflip=Hr.get_rms(Cas, Flipmodel, Weight); + if (Rmsflip<0.0) + { + cerr<<"\n? Homodel_::hand_check(): Cannot get RMS in flipped rotation\n"; + Cas+=Casctr; Cas.mask(true); return(0); + } + Cas+=Casctr; Cas.mask(true); // reset Calphas of known + + // choose the enantiomer with the lower RMS value + cout<<"HAND: (homol) RMS="< make_restrs(float Maxdist, int Minsepar=2); + + /* hand_check(): compares the model C-alpha coordinates in Model to + * the C-alpha coordinates of the scaffold structure most homologous to the model. + * Returns 1 if Model is more similar to the scaffold than its mirror image, + * -1 if a flip was needed (which is done inside) and 0 on error + * or if Model was not 3D. Cf. the hand_check() fn in "Sterchem". + */ + int hand_check(Points_& Model); + + // hidden methods + private: + + static void get_ca(const Chain_ *Chain, Points_& Cas); + + // forbidden methods + Homodel_(); + Homodel_(const Homodel_&); + Homodel_& operator=(const Homodel_&); + +}; +// END OF CLASS Homodel_ + +// ==== END OF HEADER Homodel.h ==== +#endif diff --git a/src++/Iproj.c++ b/src++/Iproj.c++ new file mode 100644 index 0000000..11aa8ea --- /dev/null +++ b/src++/Iproj.c++ @@ -0,0 +1,1253 @@ +// ==== PROJECT DRAGON: METHODS Iproj.c++ ==== + +/* The Hierarchic Inertial Projection. */ + +// SGI C++, IRIX 6.2, 14. Aug. 1996. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include +#include +#include + +// ---- MODULE HEADER ---- + +#include "Iproj.h" + +// ---- UTILITY HEADERS ---- + +#include "Ql.h" +#include "Rsmdiag.h" +#include "Hirot.h" + +// ---- TYPEDEFS AND PROTOTYPES ---- + +/* The following C-style constructs are necessary for a qsort() call. */ +// struct for storing the distance quality for each cluster +typedef struct +{ + unsigned int ci, a0; // cluster index,ctr pos. + bool Flip; // true if the cluster has been flipped + int Detsign; // sign of the rot matrix determinant + float Q; // dist quality +} +Rs_; + +extern "C" int descend_rs(const void *P1, const void *P2); + +// ==== METHODS ==== + +// ---- Constructors ---- + +/* Inits to perform projections on a point set made up of Resno points */ +Iproj_::Iproj_(unsigned int Resno): + Rno(Resno), Cluno(0), + Locals(Resno), Locdist(Resno), Clusters(NULL), + Ptclu(NULL), Ptoffs(NULL), Cluoffs(NULL), + Maxlocdim(0), Sksize(0), Diagshf(0.0) +{ + if (!Rno) + { + cerr<<"Iproj_("<& Clus) +{ + /* Various health checks: Clus must be non-empty, + * all bitvectors must have the same length (Rno), their + * union must be fully activated, pairwise intersection + * must be empty. If any of the checks fails, the clusters + * will be generated internally by make_clusters() above. + * The 3 Bits_ objects are init'd at the beginning because + * SGI C++ 6.2 didn't like the bypassed initialisations + */ + Bits_ Union(Rno), Overlap(Rno), Smalls(Rno); + + if (!Clus.len()) + { + cerr<<"\n? Iproj_::make_clusters(Clus): No clusters"; + goto BADCLUS; + } + + register unsigned int i, j; + Union.set_values(false); + for (i=0; i5)? Clus.len()-Smallno+1: Clus.len()-Smallno; + + // store external clusters + if (Clusters!=NULL) delete [] Clusters; + Clusters=new Bits_ [Cluno]; + if (Clusters==NULL) + { + cerr<<"\n! Iproj_::make_clusters(Clus): Out of memory\n"; + Cluno=0; + return(0); + } + + for (i=j=0; i5) Clusters[j]=Smalls; // last cluster is the joint small + else Clusters[0]|=Smalls; // merge smalls with first + + Imoms.len_dim(Cluno, Rno); + make_offsets(); + return(Cluno); + + /* End of normal execution. If any of the cluster checks failed, + * an ugly "goto" brings us here where the default clusters + * are constructed (and also the error messages are finished). + */ + BADCLUS: + make_clusters(); + cerr<<" ("<Maxlocdim) Maxlocdim=D; // get max. local dimension + } + apply_locdist(Dist); + Sksize+=Cluno; // the final skeleton size +} +// END of cluster_project() + +/* skel_project(): Performs the skeleton projection. The "skeleton" is made up + * of the centroids of the clusters plus "inertial points" sitting on + * the inertial axes of the clusters, a moment of inertia away from + * the local centroid. The method assumes that the local coordinates + * of the clusters have been determined beforehand by cluster_project(). + * Dm contains a distance matrix which + * has modified inter-cluster entries but the intra-cluster distances + * correspond to the previous local projections done in full_project(). + * The modified dist matrix is then first converted into a metric + * matrix and then the skeleton projection is performed. Xyz will + * contain the full Euclidean embedding on return. + * Return value: the embedding dimension. + */ +unsigned int Iproj_::skel_project(Trimat_& Dm, + double Evfract, unsigned int Oldim, Points_& Xyz) +{ + if (Cluno<=1) return(Oldim); // don't do anything in 1-cluster case + + static Trimat_ Metric; + dist_metric(Dm, Metric); + + // fill up the skeleton metric matrix + Skmet.set_size(Sksize); + + make_skmet(Metric); + + // embed the skeleton + Skxyz.len_dim(Sksize, Oldim); + unsigned int Dim; + + // disallow flat skeletons + Dim=metric_project(Skmet, Evfract, + (Maxlocdim>=3)? Maxlocdim: 3, Oldim, Skxyz); + + // put the local flesh onto the skeleton + flesh_skel(Dm, Xyz); + + return(Dim); + +} +// END of skel_project() + +// ---- Reconstruction ---- + +/* flesh_skel(): puts the local structures in Locals onto the + * Euclidean skeleton Skxyz so that the final structure is + * returned in Xyz. Private + */ +void Iproj_::flesh_skel(const Trimat_& Dist, Points_& Xyz) +{ + register unsigned int ci, wi, a0, Da, p, i, Dim=Skxyz.dim(), Fno; + Matrix_ R; + Vector_ Iv(Dim); + + static Hirot_ Hr; + static Array_ Distorts, Ideals; // for each clu + static Points_ W; // weights + Rs_ *Rss=new Rs_ [Cluno]; // RMS values for the cluster fits + + Xyz.len_dim(Rno, Dim); // activate all Xyz + Distorts.len(Cluno); Ideals.len(Cluno); + W.len(Cluno); W.mask(true); + + const double HALFVAL=0.1; + double Lendiff; + int Detsign; + + Xyz.len_dim(Rno, Dim); // activate all Xyz + for (ci=wi=a0=0; ciglobal transform to points in local cluster + for (i=0; i0) + Ideals[ci][Da-1][Da-1]*=(-1.0); + + // "pure" rotation onto distorted + Hr.best_rot(Ideals[ci], Distorts[ci], W[ci]); + + for (p=0; p0) + Ideals[ci][Da-1][Da-1]*=(-1.0); // flip back if necessary + } + } + Xyz.mask(true); + if (Flipno) Xyz=Xyzflip; // was modified, put back + } + while (Flipno); + delete [] Rss; +} +// END of flesh_skel() + +/* clu_qual(): given a set of points Xyz (assumed to be fully active) + * and a target distance matrix Dist, check how different the distances + * between the members of the cluster Clu are. Returns a quality + * value (0.0 for perfect agreement). The sizes of Xyz and Dist + * are assumed to be compatible. Static private + */ +float Iproj_::clu_qual(const Bits_& Clu, const Points_& Xyz, const Trimat_& Dist) +{ + register float Q=0.0, D; + register unsigned int i, j, Pno=0, Size=Dist.rno(); + + for (i=0; iQ>Wp1->Q) return(1); + else if (Wp2->QQ) return(-1); + else return(0); +} +// END of descend_rs() + +// ---- Private projections ---- + +/* metric_project(): projects the metric matrix Metric into Euclidean space + * with less than Oldim dimensions. Only the Evfract-th fraction of the + * positive eigenvalues are used. However, the embedding dimension will not + * be less than Mindim. 0Xyz.active_len()) // paranoia + { + cerr<<"? metric_project(): free point no. " + <Size) Oldim=Size; + if (!Mindim) Mindim=1; + if (Mindim>=Oldim) Mindim=Oldim-1; + + /* Diagonalisation: if the old dimension is less than fourth + * of Size, then the Rsm object is used which generates all + * eigenvalues and a chosen set of eigenvectors. Otherwise, + * all eigenvectors are made: this is faster, say the books. + */ + Rsmdiag_ Rsm; + bool Somevec=bool(4*Oldim<=Size); + + if (Somevec) Rsm.get_evals(Metric, Eval); // all eigenvalues + else eigen_ql(Metric, Eval, Evec); // total diagonalisation + + // subtract Diagshf from the eigenvalues + for (i=0; i0 && Eval[Firstpos-1] Momscal; // moment scaling + + Abprods.set_size(Cluno, Rno+Cluno); + Momscal.len(Sksize); + ctr_prod(Metric, Abprods); // get centroid scalar products + + register unsigned int ci, cj, ix, a0, b0, Da, Db, Pa, Pb, Na, Nb, p, q, ap, aq, bq; + register double AA, AB, Spa0; + Matrix_ Loca, Aibj, Sptq; // temp matrices for mixed inertial scalprods + Matrix_ *Locds=new Matrix_ [Cluno]; // local coords extracted for speed + + for (ci=a0=Pa=0; ci + Locals.mask(Clusters[ci]); + Na=Clusters[ci].on_no(); // dim and no. of pts in [ci] + Da=(Na==1)? 0: Locals.dim(); // 1-member clusters are 0-dimensional + + for (p=0, ap=a0+1; p: norm s'p to sqrt of inert. mom. + Momscal[ap]=1.0/Imoms[ci][p]; + Spa0=Skmet[ap][a0]=iv_ctrprod(Abprods, ci, Pa, p)*Momscal[ap]; + + // + Skmet[ap][ap]=Imoms[ci][p]*Imoms[ci][p]+2.0*Spa0+AA; + // + for (aq=a0+1; aq + Skmet[ap][a0]+=AA; // AA added here before the [ap][aq] ^ there + } + + // extract the local coords of [ci]-th cluster if not 0-dim + if (Da) + { + Locds[ci].set_size(Na, Da); + for (ix=0; ix + Locals.mask(Clusters[cj]); + Nb=Clusters[cj].on_no(); // dim and no. of pts in [cj] + Db=(Nb==1)? 0: Locals.dim(); // 1-point clusters are 0-dimensional + + // fill up the row with : uses cj-th mask + for (q=0, bq=b0+1; q column with : needs ci-th mask + Locals.mask(Clusters[ci]); + for (p=0, ap=a0+1; p rectangular region + Locals.mask(true); // access will be via get_bit() from now on + Aibj.set_size(Na, Nb); // + + // prepare for products if Da and Db both >0 + if (Da>0 && Db>0) + { + aibj_prod(Metric, Abprods, ci, cj, Pa, Pb, Aibj); + Sptq=Loca*(Aibj*Locds[cj]); // this is ,not norm + } + + // now calc global and adjust the column + for (p=0, ap=a0+1; p row + for (bq=b0+1; bq ... | ... | .... + * ... | ... | .... + * ... + * Input: the overall metric matrix Metric. + * Output: the Abprods matrix (size adjusted silently if necessary). Private + */ +void Iproj_::ctr_prod(const Trimat_& Metric, Matrix_& Abprods) const +{ + register unsigned int ci, cj, i, j, ki, kj, kci, kcj, Colno=Rno+Cluno; + register double Temp; + + Abprods.set_size(Cluno, Colno); // adjust size if necessary + Abprods.set_values(); // zero + + /* Fill up the Abprods matrix. Scan the metric matrix and + * sum the entries in the appropriate places. The three index + * arrays (Ptclu, Ptoffs, Cluoffs) will provide the necessary + * column indices. See make_offsets() + */ + for (i=0; i sum is in the ki-th column + kci=Cluoffs[ci]; + + Temp=Metric[i][i]; + Abprods[ci][kci]+=Temp; // + Abprods[ci][ki]+=Temp; // + + for (j=0; j + Abprods[cj][kci]+=Temp; // inefficient... + Abprods[ci][kj]+=Temp; // + Abprods[cj][ki]+=Temp; // + } + } + + // normalisation + for (ci=0; ci--+. + * comes from Metric (the overall metric matrix), the rest + * from Abprods. cluster A is the Aidx-th, + * cluster B is the Bidx-th. Aoffs and Boffs are the col idx offsets + * for the centroids of A and B in Abprods, respectively. Private + */ +void Iproj_::aibj_prod(const Trimat_& Metric, const Matrix_& Abprods, + unsigned int Aidx, unsigned int Bidx, + unsigned int Aoffs, unsigned int Boffs, + Matrix_& Aibj) const +{ + register unsigned int i, ic, j, jc; + register double Aib0, A0b0=Abprods[Aidx][Boffs]; + + for (i=ic=0; i- + + for (j=jc=0; jMAX_TSMCYC) Tsmcyc=MAX_TSMCYC; + + unsigned int Itno, Tviol, Cviol; + static Vector_ Cdist2; + + // construct Metric and smooth it until no violations are found + Metric.set_size(Dist.rno()); + Cdist2.dim(Dist.rno()); + Diagshf=0.0; + for (Itno=0; ItnoSqroots) + { + Viol++; + Metric[i][j]=ADJFACTOR*Sqroots; + } + } + return(Viol); +} +// END of trieq_bal() + +// ---- Metric matrix conversions ---- + +/* dist_metric(): calculates the metric matrix Metric from a + * matrix of squared interpoint distances Dist. The 2-parameter + * "standalone" version adjusts the size of Metric if necessary + * and calculates the squared distances from the centroid internally. + * The 3-parameter version (called by trineq_filter() only) does + * not perform dist checks and expects a prefabricated Cdist2 + * squared point-centroid distance vector as input. Private + */ +void Iproj_::dist_metric(const Trimat_& Dist, Trimat_& Metric) +{ + register unsigned int i,j; + unsigned int N=Dist.rno(); + Vector_ Cdist2(N); + + Metric.set_size(N); // adjust if necessary + centre_dist(Dist, Cdist2); // get distances from centroid + + Metric[0][0]=Cdist2[0]; // same as 3-parameter version from here on + for (i=1; i& Clus); + + // access + /* ### For debug only. */ + const Bits_& clusters(unsigned int ci) const { return(Clusters[ci]); } + unsigned int cluno() const { return(Cluno); } + + // projections + + /* full_project(): performs the Hierarchic Inertial Projection + * on a point set. Dist holds the squared interpoint distances. + * The projections will use an Evfract-th fraction of + * the sum of all positive eigenvalues and will project into a + * Dim +#include +#include +#include +#include +#include +#include +#include +#include + +// ---- UTILITY HEADERS ---- + +#include "List1.h" +#include "pdbprot.h" + +// ---- MODULE HEADERS ---- + +#include "Output.h" +#include "Pieces.h" +#include "Fakebeta.h" +#include "version.h" + +// ---- PROTOTYPES ---- + +static int prepare_basename(String_& Basename); +static int mkdir_p(const char *Path); + +static Pdbentry_ *make_pdbentry(const Points_& Xyz, const Polymer_& Model, + const Pieces_& Pieces); +static void make_secs(Chain_ *Chain, const Pieces_& Pieces); +static void make_atoms(Chain_ *Chain, const Points_& Xyz, const Polymer_& Model); + +// ==== FUNCTIONS ==== + +/* make_outname(): constructs an output filename of the form + * "Basename_X.Ext" where X is the run number Rcyc. + * If Basename contains a directory path, then this path + * will be created if necessary (permissions permitting). + * If path creation fails, then the dirpath is thrown away + * from Basename (will be used in the current directory). + */ +void make_outname(String_& Basename, int Rcyc, const String_& Ext) +{ + static String_ Numstr; + + prepare_basename(Basename); + Basename+="_"; + Numstr.long_str(Rcyc); + Basename+=Numstr; + Basename+="."; + Basename+=Ext; +} +// END of make_outname() + +/* prepare_basename(): if Basename consists of a directory + * path and a filename, then the path is created if necessary. + * If it cannot be created, then the path will be deleted + * from Basename. + */ +static int prepare_basename(String_& Basename) +{ + int Lastslash=Basename.strrchr('/'); + if (Lastslash<0) return(0); // no dirpath, OK + + Basename[Lastslash]='\0'; // dirpath only + int Retval=mkdir_p(Basename); // create dirpath + + if (Retval) // something went wrong, throw away dirpath + { + String_ Fileonly(((const char *)Basename)+Lastslash+1); + Basename=Fileonly; + } + else Basename[Lastslash]='/'; // join dirpath and filename again + return(Retval); +} + +/* mkdir_p(): creates the path Path with rwxrwxrwx permissions, + * spiced by the current umask of the process. Does the same + * job as the 'mkdir -p' UNIX command. + * Return value: 0 if OK, or the UNIX error number (errno) + * if something went wrong. + * NOTE: C strings are used, but C++ alloc and output. + */ +static int mkdir_p(const char *Path) +{ + static const mode_t DIR_MODE=S_IRWXU|S_IRWXG|S_IRWXO; /* mode 777 */ + char *P=NULL, *Cur=NULL, *C=NULL; + struct stat Statbuf; + int Plen; + + /* don't do anything if Path is empty */ + if (Path==NULL || !(Plen=strlen(Path))) return(0); + + /* make a working copy of Path, append a slash + * at the end if there is none + */ + if (Path[Plen-1]!='/') Plen++; + P=new char [Plen+1]; + strcpy(P, Path); + P[Plen-1]='/'; + + for(Cur=(*P=='/')? P+1:P; /* skip leading slash */ + NULL!=(C=strchr(Cur, '/')); Cur=C+1) + { + *C='\0'; /* truncating P up to C */ + errno=0; /* reset error code */ + + /* The idea is: if P (up to C) can be stat()-ed, + * then obviously the path is OK and we can continue. + * Otherwise, if the error was that P did not exist, + * then create it. + */ + if (stat(P, &Statbuf)<0) /* error during access */ + { + if (errno==ENOENT) /* does not exist --> create */ + { + errno=0; + if (mkdir(P, DIR_MODE)<0) /* create path component now */ + { + cerr<<"\n? mkdir_p(): Problem creating dir \""<Header, "PROTEIN MODEL"); + + time_t Now=time(NULL); // get current date + strftime(Entry->Date, 10, "%d-%b-%y", localtime(&Now)); + + strcpy(Entry->Pdbcode, "0DRG"); + Entry->Compound=(char *) calloc(61, sizeof(char)); + strcpy(Entry->Compound, "MODEL C-ALPHA:FAKE C-BETA CHAIN"); + Entry->Source=(char *) calloc(61, sizeof(char)); + strncpy(Entry->Source, version_string(), 60); // version string may be truncated + strcpy(Entry->Expdta, "THEORETICAL MODEL"); + Entry->Resol=-1.0; + Entry->Hbonds=NULL; Entry->Hbno=0; + Entry->Ssbs=NULL; Entry->Ssbno=0; + + // create the chain + Entry->Chainno=1; + Entry->Chains=(Chain_*) malloc(sizeof(Chain_)); + + // no H-bond and S-S bond list + Entry->Chains->Hbonds=NULL; Entry->Chains->Hbno=0; + Entry->Chains->Ssbs=NULL; Entry->Chains->Ssbno=0; + + // generate the amino acid sequence + int i, Rno=Model.len(); // ignore N/C-terminal pseudo-alphas + Entry->Chains->Aano=Rno; + Entry->Chains->Seq=(char *) calloc(Rno+1, sizeof(char)); + for (i=0; iChains->Seq[i]=Model.aa(i); + Entry->Chains->Seq[Rno]='\0'; // para... + + // set chain ID and chain type + Entry->Chains->Chid=' '; + Entry->Chains->Type='P'; // "protein" + + // convert the C++ secondary structure info into C + make_secs(Entry->Chains, Pieces); + + // store the C++ coordinates + make_atoms(Entry->Chains, Xyz, Model); + + // return the full C structure + return(Entry); +} +// END of make_pdbentry() + +/* make_secs(): stores the secstr information contained in Pieces in the + * C structure pointed to by Chain. Chain->Seq must contain the sequence + * of the model. + */ +static void make_secs(Chain_ *Chain, const Pieces_& Pieces) +{ + Clist1_ Slist=Pieces.secs(); + unsigned int Slen=Slist.len(); + if (!Slen) // no secondary structure, exit + { + Chain->Secs=NULL; Chain->Secsno=0; + return; + } + + /* There is one Secstr_ element for each helix and strand in the + * Secs array. Alloc it to the number of clusters in Pieces which is + * guaranteed to be >= than the strand+helix number. Should be revised + * if clusters don't coincide with secstr features. + */ + Secstr_ *S=(Secstr_*) calloc(Pieces.clu_no(), sizeof(Secstr_)); + + // process all secstr in Pieces + unsigned int i, j, k, Strno, Hc=0, Sc=0; + int T, O; + Strand_ St; + + for (Slist.begin(), i=k=0; istrand_no(); + if ((*Slist)->is_helix()) // assumed to be helical + { + S[k].Sectype=HELIX; + S[k].No=++Hc; + sprintf(S[k].Id, "H%d", Hc); + + S[k].Beg=((Helix_ *)&(*Slist))->beg(); // access as helix + S[k].End=((Helix_ *)&(*Slist))->end(); + + S[k].Chid=S[k].Begrid=S[k].Endrid=' '; + S[k].Begaa=Chain->Seq[S[k].Beg-1]; + S[k].Endaa=Chain->Seq[S[k].End-1]; + + // helix types: right-handed 3/10, alpha, pi + switch(((Helix_ *)&(*Slist))->helix_type()) + { + case Helix_::HX310: S[k].Type=5; break; // 3/10 + case Helix_::HXPI: S[k].Type=3; break; // pi + case Helix_::ALPHA: + default: S[k].Type=1; break; // alpha + } + k++; + } + else // assumed to be a beta-sheet + { + // cycle through the strands + for (j=0; jSeq[St.beg()-1]; + S[k].Endaa=Chain->Seq[St.end()-1]; + S[k].Type=St.sense(); // 0 for first, +1 for par, -1 for anti + + // beta-specific info + S[k].Strandno=Strno; + strcpy(S[k].Thisat, " CA "); + strcpy(S[k].Otherat, " CA "); + S[k].Thisrid=S[k].Otherid=S[k].Otherchid=' '; + + // phasing: only for 2nd, 3rd, ... + if (!j) continue; + + /* get the first residue which has a "previous" neighbour + * and use them as the "This" and "Other" residues + */ + for (T=St.beg(); T<=St.end() && (O=(*Slist)->hbond_prev(T))<0; T++); + S[k].This=T; S[k].Other=O; + S[k].Thisaa=Chain->Seq[T]; + S[k].Otheraa=Chain->Seq[O]; + } + Sc++; + } // helix? sheet? + } // for (Slist) + + // re-size the S array and set Chain + Chain->Secs=(Secstr_ *) realloc(S, k*sizeof(Secstr_)); + Chain->Secsno=k; +} +// END of make_secs() + +/* make_atoms(): constructs the coordinate array in Chain from the C-alpha coordinates + * in Xyz (should be fully unmasked, preferably 3D throughout). Fake C-beta + * coordinates are added to the C-alphas in the Chain->Atoms array. The + * sequence must already be present in Chain->Seq. + */ +static void make_atoms(Chain_ *Chain, const Points_& Xyz, const Polymer_& Model) +{ + // make the fake C-betas + unsigned int Rno=Xyz.len()-2; // + Points_ Beta(Rno+2, 3); + Fakebeta_::beta_xyz(Xyz, Model, Beta); + + // alloc the atom array + unsigned int i, k, Ano=2*Rno+2, Glyno=0; + Atom_ *A=(Atom_ *) calloc(Ano, sizeof(Atom_)); + + // 0th atom is the terminal N + A[0].Atno=1; + strcpy(A[0].Id, " N "); + A[0].Alt=A[0].Rid=' '; + A[0].Aa=Chain->Seq[0]; + A[0].Resno=1; + A[0].X=Xyz[0][0]; A[0].Y=Xyz[0][1]; A[0].Z=Xyz[0][2]; + A[0].Occu=Model.cons(0); A[0].Bfact=Model.phob(0); + + // scan the chain, store coords + for (i=k=1; i<=Rno; i++, k++) + { + // C-alpha + A[k].Atno=k+1; + strcpy(A[k].Id, " CA "); + A[k].Alt=A[k].Rid=' '; + A[k].Aa=Chain->Seq[i-1]; + A[k].Resno=i; + A[k].X=Xyz[i][0]; A[k].Y=Xyz[i][1]; A[k].Z=Xyz[i][2]; + A[k].Occu=Model.cons(i-1); A[k].Bfact=Model.phob(i-1); + + // fake C-beta (skip for Glys!) + if (A[k].Aa=='G') { Glyno++; continue; } + + k++; + A[k].Atno=k+1; + strcpy(A[k].Id, " CB "); + A[k].Alt=A[k].Rid=' '; + A[k].Aa=Chain->Seq[i-1]; + A[k].Resno=i; + A[k].X=Beta[i][0]; A[k].Y=Beta[i][1]; A[k].Z=Beta[i][2]; + A[k].Occu=Model.cons(i-1); A[k].Bfact=Model.phob(i-1); + } + + // last atom is the terminal C, i==Rno+1 automatically + A[k].Atno=k+1; + strcpy(A[k].Id, " C "); + A[k].Alt=A[k].Rid=' '; + A[k].Aa=Chain->Seq[i-2]; + A[k].Resno=Rno; + A[k].X=Xyz[i][0]; A[k].Y=Xyz[i][1]; A[k].Z=Xyz[i][2]; + A[k].Occu=Model.cons(Rno-1); A[k].Bfact=Model.phob(Rno-1); + + // correct for missing C-betas on Gly-s + Ano-=Glyno; + A=(Atom_ *) realloc(A, Ano*sizeof(Atom_)); + + Chain->Atoms=A; + Chain->Atomno=Ano; +} +// END of make_atoms() + +// ==== END OF FUNCTIONS Output.c++ ==== diff --git a/src++/Output.h b/src++/Output.h new file mode 100644 index 0000000..ff69475 --- /dev/null +++ b/src++/Output.h @@ -0,0 +1,48 @@ +#ifndef OUTPUT_HEADER +#define OUTPUT_HEADER + +// ==== PROJECT DRAGON: HEADER Output.h ==== + +/* Lists the simulation results to a file in PDB format. + * Converts the result first to the C structure Pdbentry_ + * and then uses the C module "pdbprot" for the actual output. + */ + +// SGI C++ 4.0, IRIX 5.3, 10. July 1996. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include + +// ---- UTILITY HEADERS ---- + +#include "String.h" + +// ---- MODULE HEADERS ---- + +#include "Polymer.h" +#include "Pieces.h" +#include "Score.h" + +// ---- PROTOTYPES ---- + +/* make_outname(): constructs an output filename of the form + * "Basename_X.Ext" where X is the run number Rcyc. + * If Basename contains a directory path, then this path + * will be created if necessary (permissions permitting). + * If path creation fails, then the dirpath is thrown away + * from Basename (will be used in the current directory). + */ +void make_outname(String_& Basename, int Rcyc, const String_& Ext); + +/* pdb_result(): saves the result of the simulation in a file Pdbf + * provided the coordinates in Xyz are 3-dimensional and there are + * no dimension mismatches. Returns 1 on success, 0 on error. + */ +int pdb_result(const char *Pdbf, const Points_& Xyz, + const Polymer_& Model, const Pieces_& Pieces, + const Scores_& Bestsco); + +// ==== END OF HEADER Output.h ==== + +#endif /* OUTPUT_HEADER */ diff --git a/src++/Parambase.h b/src++/Parambase.h new file mode 100644 index 0000000..4c26a87 --- /dev/null +++ b/src++/Parambase.h @@ -0,0 +1,121 @@ +#ifndef PARAMBASE_HEADER +#define PARAMBASE_HEADER + +// ==== PROJECT DRAGON: HEADER Parambase.h ==== + +/* Abstract base class for global parameter storage. + * There is no associated Parambase.c++ file. + */ + +// SGI C++ 7.1, IRIX 6.2, 7. Mar. 1997. Andris Aszodi + +// ---- STANDARD HEADERS ---- + +#include +#include +#include + +// ---- UTILITY HEADERS ---- + +#include "String.h" + +/* NOTE: The N32/N64 compilers recognise the built-in bool type + * and define the macro _BOOL. This workaround is provided for + * the O32 compiler. + */ +#if !(defined(_BOOL) || defined(HAS_SEEN_BOOL)) +#define HAS_SEEN_BOOL +typedef unsigned char bool; +static const bool false=0; +static const bool true=1; +#endif /* _BOOL */ + +// ==== CLASSES ==== + +/* NOTE: Parameters are stored in a little class hierarchy:- + * + * [ Parambase_ ] + * | + * +-----+-------+ + * | | + * V V + * Paramstr_ Paramlim_