debian/0000755000000000000000000000000012162602557007174 5ustar debian/control0000644000000000000000000000255012162602124010567 0ustar Source: theseus Maintainer: Debian Med Packaging Team Uploaders: Morten Kjeldgaard , Andreas Tille Section: science Priority: optional Build-Depends: debhelper (>= 9), libgsl0-dev Standards-Version: 3.9.4 Vcs-Browser: http://svn.debian.org/wsvn/debian-med/trunk/packages/theseus/trunk Vcs-Svn: svn://svn.debian.org/debian-med/trunk/packages/theseus/trunk/ Homepage: http://www.theseus3d.org Package: theseus Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, muscle Suggests: clustalw, mafft, t-coffee, kalign, dialign Description: superimpose macromolecules using maximum likelihood Theseus is a program that simultaneously superimposes multiple macromolecular structures. Theseus finds the optimal solution to the superposition problem using the method of maximum likelihood. By down-weighting variable regions of the superposition and by correcting for correlations among atoms, the ML superposition method produces very accurate structural alignments. . When macromolecules with different residue sequences are superimposed, other programs and algorithms discard residues that are aligned with gaps. Theseus, however, uses a novel superimposition algorithm that includes all of the data. debian/README.source0000644000000000000000000000026711246743457011367 0ustar This packages uses the quilt patch system. Please read /usr/share/doc/quilt/README.source for more information. -- Andreas Tille Mon, 31 Aug 2009 14:50:19 +0200 debian/rules0000755000000000000000000000073012162602532010245 0ustar #!/usr/bin/make -f # rules file using dh for theseus # Copyright (C) Andreas Tille # License: GPL pkg=theseus %: dh $@ override_dh_auto_install: # Fix wrong path used in upstream script. Fixing it here is safer than # changing the patch for any new upstream release sed -e 's?/usr/local/bin?/usr/bin?' \ -e 's?/usr/bin/sed?/bin/sed?' \ theseus_align > debian/$(pkg)/usr/bin/theseus_align override_dh_builddeb: dh_builddeb -- -Z xz debian/manpages0000644000000000000000000000004111246715152010703 0ustar theseus.1 debian/theseus_align.1 debian/examples0000644000000000000000000000003611246715202010726 0ustar examples/* debian/getexamples debian/watch0000644000000000000000000000011011110461334010201 0ustar version=3 http://www.theseus3d.org/index.html /src/theseus_(.*).tar.gz debian/upstream0000644000000000000000000000243111734263073010757 0ustar Name: Theseus Reference: - Author: Theobald, Douglas L. and Wuttke, Deborah S. Title: "THESEUS: maximum likelihood superpositioning and analysis of macromolecular structures" Journal: Bioinformatics Volume: 22 Number: 17 Pages: 2171-2172 DOI: 10.1093/bioinformatics/btl332 Year: 2006 URL: http://bioinformatics.oxfordjournals.org/cgi/content/abstract/22/17/2171 eprint: http://bioinformatics.oxfordjournals.org/cgi/reprint/22/17/2171.pdf - Author: Theobald, Douglas L. and Wuttke, Deborah S. Title: Empirical Bayes hierarchical models for regularizing maximum likelihood estimation in the matrix Gaussian Procrustes problem Journal: Proceedings of the National Academy of Sciences Volume: 103 Number: 49 Pages: 18521-18527 DOI: 10.1073/pnas.0508445103 Year: 2006 URL: http://www.pnas.org/content/103/49/18521.abstract eprint: http://www.pnas.org/content/103/49/18521.full.pdf+html - Author: Theobald, Douglas L. and Wuttke, Deborah S. Title: Accurate Structural Correlations from Maximum Likelihood Superpositions Journal: PLoS Comput Biol Publisher: Public Library of Science Year: 2008 Month: Feb Volume: 4 URL: http://dx.doi.org/10.1371%2Fjournal.pcbi.0040043 Pages: e43 Number: 2 DOI: 10.1371/journal.pcbi.0040043 debian/copyright0000644000000000000000000001112211733440730011120 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: Theseus Upstream-Contact: Douglas Theobald Source: http://www.theseus3d.org/index.html Files: * Copyright: © 2003-2012, Douglas L. Theobald License: GPL3+ Files: lbidltmath/ncbi_math.* Copyright: © 1991, Gish, Kans, Ostell and Schuler License: GPL-2+ Files: libdltmath/myrandom.c Copyright: © 2002, Takuji Nishimura and Makoto Matsumoto License: GPL-2+ Files: examples/* Copyright: PD License: PD ADVISORY NOTICE FOR USE OF THE PDB ARCHIVE . By using the materials available in this archive, the user agrees to abide by the following conditions: . * The archival data files in the PDB archive are made freely available to all users. Data files within the archive may be redistributed in original form without restriction. Redistribution of modified data files using the same file name as is on the FTP server is prohibited. The rules for file names are detailed at http://www.wwpdb.org/wwpdb_charter.html. . * Data files containing PDB content may incorporate the PDB 4-letter entry name (e.g. 1ABC) in standard PDB records only if they are exactly the same as what is residing in the PDB archive. This does not prevent databases from including PDB entry_id's as cross-references where it is clear that they refer to the PDB archive. PDB records refer to the standard PDB format. The distribution of modified PDB format data including the records: HEADER, CAVEAT, REVDAT, SPRSDE, DBREF, SEQADV, and MODRES are not allowed. . * The user assumes all responsibility for insuring that intellectual property claims associated with any data set deposited in the PDB archive are honored. It should be understood that the PDB data files do not contain any information on intellectual property claims with the exception in some cases of a reference for a patent involving the structure. . * Any opinion, findings, and conclusions expressed in the PDB archive by the authors/contributors do not necessarily reflect the views of the wwPDB. . * The data in the PDB archive are provided on an "as is" basis. The wwPDB nor its comprising institutions cannot be held liable to any party for direct, indirect, special, incidental, or consequential damages, including lost profits, arising from the use of PDB materials. . * Resources on this site are provided without warranty of any kind, either expressed or implied. This includes but is not limited to merchantability or fitness for a particular purpose. The institutions managing this site make no representation that these resources will not infringe any patent or other proprietary right. Comment: The files in examples/ are in the public domain, and can be copied and distributed with no restriction. It is scientific data from the Protein Data Bank (http://www.pdb.org) and the database ASTRAL (http://astral.berkeley.edu). Files: debian/* Copyright: © 2007-2008, Morten Kjeldgaard © 2008-2012, Andreas Tille License: GPL3+ License: GPL-2+ THESEUS is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA . On Debian systems, the complete text of the GNU General Public License version 2 can be found in `/usr/share/common-licenses/GPL-2'. License: GPL3+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . . On a Debian system, the GNU GPL license is distributed in the file ‘/usr/share/common-licenses/GPL’. debian/source/0000755000000000000000000000000012035570116010466 5ustar debian/source/format0000644000000000000000000000001411301174376011677 0ustar 3.0 (quilt) debian/README.Debian0000644000000000000000000000072411246746353011245 0ustar Theseus for Debian ================== The getexamples script ---------------------- The getexamples script, found in /usr/share/doc/theseus/examples/, illustrates how data can be retrieved from PDB and Astral services, for subsequent analysis with theseus. Note that some of the data files found in examples/, have a different SCOP-sid in the most recent release of the Astral database. -- Morten Kjeldgaard , Tue, 18 Nov 2008 23:14:32 +0100 debian/theseus.install0000644000000000000000000000002011517773024012235 0ustar theseus usr/bin debian/changelog0000644000000000000000000001507212162602557011053 0ustar theseus (2.0.6-1) unstable; urgency=low * New upstream version - Adapt patches - debian/patches/30_fix_gcc_options.patch: Enable build on Linux Closes: #713461 * debian/control: - Remove DM-Upload-Allowed - cme fix dpkg-control * debian/rules: use xz compression -- Andreas Tille Wed, 26 Jun 2013 16:34:53 +0200 theseus (2.0.1-1) experimental; urgency=low * New upstream version (most patches applied) * debian/control: - Fix typo: s/clustlaw/clustalw/ Closes: #682994 - Standards-Version: 3.9.4 (no changes needed) * removed debian/citation.bib because the very same information is now in debian/upstream -- Andreas Tille Thu, 11 Oct 2012 18:15:43 +0200 theseus (1.6.2-2) unstable; urgency=low * debian/upstream: Added missing space, fixed Name * debian/patches: Two patches from Simon Ruderich to enable hardening (thanks to Simon) Closes: #668120 -- Andreas Tille Fri, 08 Jun 2012 08:45:38 +0200 theseus (1.6.2-1) unstable; urgency=low * New upstream version (adapted patch) * debian/control: - Standards-Version: 3.9.3 (no changes needed) - Fixed Vcs fields * debian/{control,rules}: Do not mention quilt explicitly which is not needed with source version 3.0 (quilt) * debian/upstream: Use information from debian/citation.bib for References in upstream yaml format * debian/upstream: Use information from debian/citation.bib for References in upstream yaml format * debian/{control,compat}: debhelper 9 to enable hardening flags * debian/patches/20_hardening.patch: Enable building with hardening options * debian/patches/20_exclude_apple_options.patch: Prevent trying to link with Apple specific linker option and enable linking pthread * debian/copyright: Rewritten to match DEP5 and verified using cme fix dpkg-copyright -- Andreas Tille Sat, 24 Mar 2012 07:48:57 +0100 theseus (1.6.1-1) unstable; urgency=low * New upstream version * debian/patches: - 99-theseus_align.sh.patch: Replaced by sed script in debian/rules which works (hopefully) for future versions as well without manually changing the patch - use_muscle_instead_of_clustalw.patch: Removed because clustalw is no in main and we do not need to actively replace it by muscle - 00-makefile.patch: Removed because applied upstream - 200-make.inc.patch: Removed + One purpose was to replace not working libtool call by ar which was applied upstream + Other purpose was to enable liblapack (patch by Morten Kjeldgaard) which was discussed with upstream and seems to cause problems. So it was deactivated for now and might be tested later for enabling higher performance if needed. -- Andreas Tille Wed, 26 Jan 2011 11:39:36 +0100 theseus (1.5.5-1) unstable; urgency=low * New upstream version * Standards-Version: 3.9.1 (no changes needed) * Adapt debian/patches to new upstream version * Source format 3.0 (quilt) * debian/patches/use_muscle_instead_of_clustalw.patch: The script thesaus_align says it would use muscle as align program but it actually uses clustalw which is in non-free and thus we can not recommend it. The patch makes muscle really the default * Depends: muscle (instead of Suggests) * debian/theseus_align.1: Better wording for muscle preference -- Andreas Tille Wed, 24 Nov 2010 17:46:49 +0100 theseus (1.4.3-2) unstable; urgency=low * debian/patches/10_kbsd.patch: Correctly applied patch from Cyril (sorry for mixing this up) Closes: #542879 -- Andreas Tille Thu, 03 Sep 2009 08:49:22 +0200 theseus (1.4.3-1) unstable; urgency=low [Andreas Tille] * New upstream version Closes: #534630 * debian/control - Added myself to uploaders - debhelper 7 - Build-Depends: libtool - Standards-Version: 3.8.3 (no changes needed) * Switched to quilt (affects debian/patches/*, debian/control, debian/rules) * Added Suggests: clustlaw, mafft, t-coffee, kalign, dialign because these are called in theseus_align * Use debian/{docs,manpages, examples} instead of arguments of the debhelper installers to enable short rules file * Re-enabled patch for theseus_align and do not tweak upstream tarball just to s?usr/local/bin?usr/bin? * debian/patches/200-make.inc.patch: Use ar directly to to avoid problems with libtool, drop -arch command line options to gcc which let compilation fail * debian/README.Debian: Removed paragraph about theseus_align because this is now shipped in upstream tarball * debian/patches/10_kbsd.patch: fix the FTBFS problem reported by Cyril Brulebois (thanks to Cyril for the patch) Closes: #542879 [Morten Kjeldgaard] * Fix FTBFS on certain platforms that lack the Atlas libraries by using lapack-dev in Build-Depends. This will pull in Atlas on the relevant platforms, otherwise not. -- Andreas Tille Mon, 31 Aug 2009 14:50:19 +0200 theseus (1.3.9-1) unstable; urgency=low * New upstream release, first upload to Debian. -- Morten Kjeldgaard Sun, 16 Nov 2008 22:36:36 +0100 theseus (1.1.5-0ubuntu3) intrepid; urgency=low * gfortran transition for intrepid, atlas3-base -> libatlas3-base. -- Morten Kjeldgaard Thu, 04 Sep 2008 23:20:52 +0200 theseus (1.1.5-0ubuntu2) hardy; urgency=low * debian/rules: FTBFS on all archs but i386, due to missing binary-arch target (LP: #181359) * Removed redundant libraries. -- Morten Kjeldgaard Tue, 08 Jan 2008 22:35:42 +0100 theseus (1.1.5-0ubuntu1) hardy; urgency=low * Initial release (LP: #173506) * The upstream tarball has been versioned as 1.1.5 (not versioned upstream) The get-orig-source target in debian/rules can be used for this purpose once the changelog has been edited to contain the right version * Patch to theseus.1 and theseus_align.1 - fix incorrect .TH line in theseus.1 - fix multiple instances of hyphen (-) to minus (\-) * Patch on thesus_align.sh. The script is patched to find programs in /usr/bin. The script makes use of the multiple sequence alignment program muscle, which is available from universe. * Patch make.inc to provide correct compiler switches. * A script (getexamples) is provided to show the user how (s)he can download the data in examples/ -- Morten Kjeldgaard Sun, 02 Dec 2007 15:53:15 +0100 debian/patches/0000755000000000000000000000000012162601735010620 5ustar debian/patches/30_fix_gcc_options.patch0000644000000000000000000000312112162601735015315 0ustar Author: Andreas Tille Descriptions: Set options for Linux Default options seem to be addressing MacOS by default - just enable clean on Linux --- a/make.inc +++ b/make.inc @@ -49,7 +49,7 @@ RANLIB = ranlib # Mac OSX Universal # LOCALLIBDIR = /usr/local/lib -LIBS = -lgsl -lgslcblas -ldistfit -lmsa -ldssplite -ldltmath -lDLTutils -ltheseus +LIBS = -lgsl -ldistfit -lmsa -ldssplite -ldltmath -lDLTutils -ltheseus #SYSLIBS = -framework CoreServices SYSLIBS = -lpthread -lgsl -lgslcblas -lm -lc LIBDIR = -L./lib @@ -59,7 +59,7 @@ INSTALLDIR = /usr/local/bin OPT = -O3 -ffast-math -fstrict-aliasing -funroll-loops -fomit-frame-pointer #WARN = -Werror -Wno-error=unused-result -Wall -pedantic -std=c99 WARN = -Werror -Wall -pedantic -std=c99 # for APPLE MACOSX -CFLAGS += $(WARN) -force_cpusubtype_ALL -mmacosx-version-min=10.4 -arch x86_64 -arch i386 #-DNDEBUG +#CFLAGS += $(WARN) -force_cpusubtype_ALL -mmacosx-version-min=10.4 -arch x86_64 -arch i386 #-DNDEBUG #CFLAGS += $(WARN) # CPPFLAGS are ignored by the rest of the build system but necessary for hardening flags CFLAGS += $(CPPFLAGS) @@ -79,10 +79,10 @@ CC = /usr/bin/gcc # LIBDIR = -L./lib/ -L/usr/lib/ # INCDIR = -I/usr/local/include/ # INSTALLDIR = /usr/local/bin -# OPT = -O3 -ffast-math -fstrict-aliasing -funroll-loops -fomit-frame-pointer +OPT = -O3 -ffast-math -fstrict-aliasing -funroll-loops -fomit-frame-pointer # #OPT = -O0 -ggdb -# WARN = -Wall -pedantic -std=c99 -Wno-unused-result -# CFLAGS = $(WARN) -pthread +WARN = -Wall -pedantic -std=c99 -Wno-unused-result +CFLAGS += $(WARN) -pthread # CC = gcc debian/patches/20_hardening.patch0000644000000000000000000003036112162576047014113 0ustar Author: Andreas Tille Date: Sat, 24 Mar 2012 07:48:57 +0100 Description: Build with hardening flags When compiling with hardening flags variables that are set but not used [-Werror=unused-but-set-variable] all warnings being treated as errors --- a/libdistfit/gamma_dist.c +++ b/libdistfit/gamma_dist.c @@ -547,7 +547,7 @@ gamma_fit(const double *data, const int void gamma_fit_no_stats(const double *data, const int num, double *b, double *c) { - double ave, /* var, */logterm, logdata, fx, dfx, fxdfx, guess_b, guess_c; + double ave, /* var, */logterm, logdata, fx, dfx, fxdfx/*, guess_b, guess_c*/; int i, maxiter = 500; double tol = FLT_EPSILON; @@ -604,8 +604,8 @@ gamma_fit_no_stats(const double *data, c if (*c > FLT_MAX) *c = FLT_MAX; - guess_b = *b; - guess_c = *c; + /* guess_b = *b; */ + /* guess_c = *c; */ /* Maximum likelihood fit. */ /* Use Newton-Raphson to find ML estimate of c Based on _Statistical Distributions_ 3rd ed. Evans, Hastings, and Peacock, p 41. --- a/libdistfit/lognormal_dist.c +++ b/libdistfit/lognormal_dist.c @@ -128,7 +128,7 @@ lognormal_logL(const double zeta, const double lognormal_fit(const double *data, const int num, double *zeta, double *sigma, double *prob) { - double ave, avesqr, var, /* m, */ x, theta; + double ave, avesqr, var, /* m, */ x/*, theta*/; int i; ave = avesqr = 0.0; @@ -165,7 +165,7 @@ lognormal_fit(const double *data, const *zeta = ave; *sigma = sqrt(var); - theta = 0.5*(sqrt(1.0 + 4.0*avesqr) - 1.0); + /* theta = 0.5*(sqrt(1.0 + 4.0*avesqr) - 1.0); */ /* printf(" LogNormal theta: %f %e\n", theta, theta*theta + theta - avesqr); */ /* printf("\n LogNormal logL: %f", lognormal_logL(*zeta, *sigma)); */ --- a/libdssplite/dssplite.c +++ b/libdssplite/dssplite.c @@ -167,7 +167,7 @@ char int vlen) /* used to be that len = # of CA atoms, not full x vector length */ { DSSP *dssp = NULL; - int Hbonds, len; + int /*Hbonds, */len; char *summary; /* Setup DSSP structure */ @@ -184,7 +184,7 @@ char /* do the DSSP algorithm, Doug-style */ GetCONHCA(dssp); - Hbonds = FlagHBonds(dssp); + /*Hbonds =*/ FlagHBonds(dssp); FlagBends(dssp); FlagTurns(dssp); --- a/Embed.c +++ b/Embed.c @@ -856,7 +856,7 @@ int FastCalcRMSDAndRotation(double *rot, double oldg = 0.0; double b, a, delta, ms; double q1, q2, q3, q4, normq; - double d11, d12, d13, d14, d21, d22, d23, d24; + double /*d11, d12, */d13, d14, d21, d22, d23, d24; double d31, d32, d33, d34, d41, d42, d43, d44; double a2, x2, y2, z2; double xy, az, zx, ay, yz, ax; @@ -932,7 +932,7 @@ int FastCalcRMSDAndRotation(double *rot, } } - d11 = SxxpSyy + Szz-mxEigenV; d12 = SyzmSzy; d13 = - SxzmSzx; d14 = SxymSyx; + /*d11 = SxxpSyy + Szz-mxEigenV; d12 = SyzmSzy; */ d13 = - SxzmSzx; d14 = SxymSyx; d21 = SyzmSzy; d22 = SxxmSyy - Szz-mxEigenV; d23 = SxypSyx; d24= SxzpSzx; d31 = d13; d32 = d23; d33 = Syy-Sxx-Szz - mxEigenV; d34 = SyzpSzy; d41 = d14; d42 = d24; d43 = d34; d44 = Szz - SxxpSyy - mxEigenV; --- a/HierarchVars.c +++ b/HierarchVars.c @@ -650,7 +650,7 @@ InvGammaFitEvals(CdsArray *cdsA, int ite double **evecs = NULL; double precision = cdsA->algo->precision; const int vlen = cdsA->vlen, cnum = cdsA->cnum; - double nd, oldb, oldc, b, c, chi2 = DBL_MAX, logL, harmave, mode; + double nd, oldb, oldc, b, c, chi2 = DBL_MAX, logL, harmave/*, mode*/; int i, count, newlen; newvar = malloc(vlen * sizeof(double)); @@ -754,7 +754,7 @@ InvGammaFitEvals(CdsArray *cdsA, int ite newvar[i] = (nd*variance[i] + 2.0*b) / (nd + 2.0*(1.0 + c)); /* the mode of an inv gamma dist */ - mode = b / (c+1.0); + /* mode = b / (c+1.0); */ /* for (i = 0; i < vlen - newlen; ++i) */ /* newvar[i] = mode; */ @@ -820,7 +820,7 @@ InvGammaFitEvalsNoN(CdsArray *cdsA, int double **evecs = NULL; double precision = cdsA->algo->precision; const int vlen = cdsA->vlen, cnum = cdsA->cnum; - double nd, oldb, oldc, b, c, chi2 = DBL_MAX, logL, harmave, mode; + double nd, oldb, oldc, b, c, chi2 = DBL_MAX, logL, harmave/*, mode*/; int i, count, newlen; newvar = malloc(vlen * sizeof(double)); @@ -924,7 +924,7 @@ InvGammaFitEvalsNoN(CdsArray *cdsA, int newvar[i] = (nd*variance[i] + 2.0*b) / (nd + 2.0*(1.0 + c)); /* the mode of an inv gamma dist */ - mode = b / (c+1.0); + /* mode = b / (c+1.0); */ /* for (i = 0; i < vlen - newlen; ++i) */ /* newvar[i] = mode; */ @@ -1178,7 +1178,7 @@ InvGammaBayesFitEvals(CdsArray *cdsA, in double **evecs = NULL; double precision = cdsA->algo->precision; const int vlen = cdsA->vlen, cnum = cdsA->cnum; - double nd, oldb, oldc, b, c, chi2 = DBL_MAX, logL, harmave, mode; + double nd, oldb, oldc, b, c, chi2 = DBL_MAX, logL, harmave/*, mode*/; int i, count, newlen; newvar = malloc(vlen * sizeof(double)); @@ -1282,7 +1282,7 @@ InvGammaBayesFitEvals(CdsArray *cdsA, in newvar[i] = (nd*variance[i] + 2.0*b) / (nd + 2.0*(1.0 + c)); /* the mode of an inv gamma dist */ - mode = b / (c+1.0); + /* mode = b / (c+1.0); */ /* for (i = 0; i < vlen - newlen; ++i) */ /* newvar[i] = mode; */ @@ -3002,11 +3002,11 @@ InvGammaEMFixedC(CdsArray *cdsA, const d double *variance = NULL; double precision = FLT_EPSILON; // cdsA->algo->precision; const int vlen = cdsA->vlen, cnum = cdsA->cnum; - double nd, oldb, oldc, b = 0.0, chi2 = 0.0, logL; + double /* nd, */oldb, oldc, b = 0.0, chi2 = 0.0, logL; int count; newvar = malloc(vlen * sizeof(double)); - nd = 3.0 * cnum; + /* nd = 3.0 * cnum; */ oldb = oldc = DBL_MAX; if (cdsA->algo->varweight > 0) --- a/MultiPose.c +++ b/MultiPose.c @@ -1795,7 +1795,7 @@ MultiPose(CdsArray *baseA) /* FILE *fp; */ int i, round, innerround; int slxn; /* index of random coord to select as first */ - double frobnorm, sumdev, percent, lastpercent, logL, lastlogL, lastscale; + double frobnorm, sumdev, /* percent, lastpercent, */ logL, lastlogL, lastscale; double deviation_sum = 0.0; const int cnum = baseA->cnum; const int vlen = baseA->vlen; @@ -1944,7 +1944,7 @@ MultiPose(CdsArray *baseA) matrices and corresponding weight matrices, looping till convergence when using a dimensional/axial covariance matrix */ round = 0; - percent = lastpercent = 0.0; + /* percent = lastpercent = 0.0; */ logL = lastlogL = lastscale = -DBL_MAX; while(1) { @@ -2066,10 +2066,10 @@ MultiPose(CdsArray *baseA) CheckConvergenceOuter(scratchA, round, algo->precision) == 1) goto outsidetheloops; - if (stats->precision > 0.0) +/* if (stats->precision > 0.0) percent = 100.0 * log(fabs(stats->precision))/log(algo->precision); else - percent = 0.0; + percent = 0.0; */ // if (percent > lastpercent) // { --- a/MultiPoseMix.c +++ b/MultiPoseMix.c @@ -1388,7 +1388,7 @@ MultiPoseMix(CdsArray *baseA, const doub Statistics *stats = NULL; Cds **cds = NULL; Cds *avecds = NULL; - Cds *tcds = NULL; + /* Cds *tcds = NULL; */ CdsArray *scratchA = NULL; gsl_rng *r2 = NULL; @@ -1411,7 +1411,7 @@ MultiPoseMix(CdsArray *baseA, const doub stats = scratchA->stats; cds = scratchA->cds; avecds = scratchA->avecds; - tcds = scratchA->tcds; + /* tcds = scratchA->tcds; */ memcpy(scratchA->w, probs, vlen * sizeof(double)); memcpy(baseA->w, probs, vlen * sizeof(double)); --- a/PCAstats.c +++ b/PCAstats.c @@ -58,7 +58,7 @@ CalcPCA(CdsArray *cdsA) { int i, j; int vlen = (int) cdsA->vlen; - int upper, lower, pcanum; + int /*upper, lower, */ pcanum; double **CovMat = cdsA->CovMat; double sum, runsum; PDBCds *pdbave; @@ -101,8 +101,8 @@ CalcPCA(CdsArray *cdsA) for (i = 0; i < vlen; ++i) sum += CovMat[i][i]; - lower = vlen - pcanum + 1; /* careful -- inclusive indices */ - upper = vlen - 0; + /* lower = vlen - pcanum + 1; / * careful -- inclusive indices */ + /* upper = vlen - 0; */ //cdsA->pcamat = MatAlloc(pcanum, vlen); cdsA->pcamat = MatAlloc(vlen, vlen); cdsA->pcavals = malloc(vlen * sizeof(double)); @@ -237,7 +237,7 @@ Calc3NPCA(CdsArray *cdsA) int i, j; int vlen = (int) 3 * cdsA->vlen; double **mat = NULL; - int upper, lower, pcanum; + int /* upper, lower, */ pcanum; double **evecs = NULL, *evals = NULL; double sum, runsum; PDBCds *pdbave = NULL; @@ -273,8 +273,8 @@ Calc3NPCA(CdsArray *cdsA) for (i = 0; i < vlen; ++i) sum += mat[i][i]; - lower = vlen - pcanum + 1; /* careful -- inclusive indices */ - upper = vlen - 0; + /* lower = vlen - pcanum + 1; / * careful -- inclusive indices */ + /* upper = vlen - 0; */ evecs = MatAlloc(vlen, vlen); evals = malloc(vlen * sizeof(double)); --- a/pdbStats.c +++ b/pdbStats.c @@ -1596,7 +1596,7 @@ CalcHierarchLogL(CdsArray *cdsA) if (algo->varweight != 0) { double *newvar = malloc(vlen * sizeof(double)); - double b, c, xn1; + double b, c/*, xn1*/; b = stats->hierarch_p1; c = stats->hierarch_p2; @@ -1604,7 +1604,7 @@ CalcHierarchLogL(CdsArray *cdsA) memcpy(newvar, cdsA->var, vlen * sizeof(double)); qsort(newvar, vlen, sizeof(double), dblcmp_rev); /* qsort-dblcmp_rev sorts big to small */ - xn1 = newvar[vlen-4]; + /* xn1 = newvar[vlen-4]; */ logL = invgamma_logL(newvar, vlen-3, b, c); //- b * ExpInvXn(xn1, b, c) - (1+c)*ExpLogXn(xn1, b, c) @@ -1778,13 +1778,13 @@ CalcLogL(CdsArray *cdsA) if (algo->hierarch != 0) { double *newvar = malloc(vlen * sizeof(double)); - double xn1; + /* double xn1; */ memcpy(newvar, var, vlen * sizeof(double)); qsort(newvar, vlen, sizeof(double), dblcmp_rev); /* qsort-dblcmp_rev sorts big to small */ - xn1 = newvar[vlen - 4]; + /*xn1 = newvar[vlen - 4];*/ lndetrow = 0.0; for (i = 0; i < vlen-3; ++i) --- a/QuarticHornFrag.c +++ b/QuarticHornFrag.c @@ -318,11 +318,11 @@ CalcQuarticCoeffsPu2(const FragCds *frag lambdamax = QCProot(coeff, 0.5 * innerprod, precision); /* Now calculate the optimal rotation from one row of the cofactor matrix */ - double a11, a12, a13, a14, a21, a22, a23, a24; + double /* a11, a12, */ a13, a14, a21, a22, a23, a24; double a31, a32, a33, a34, a41, a42, a43, a44; - a11 = SxxpSyy + Szz - lambdamax; - a12 = SyzmSzy; + /* a11 = SxxpSyy + Szz - lambdamax; */ + /* a12 = SyzmSzy; */ a13 = -SxzmSzx; a14 = SxymSyx; a21 = SyzmSzy; @@ -652,7 +652,7 @@ FragDistPu(CdsArray *cdsA, int fraglen, double *coeff = NULL; double var; FILE *distfile = NULL, *distfile2 = NULL; - double biggest; + /* double biggest; */ double *array = NULL; double **Rmat = MatAlloc(3, 3); @@ -686,7 +686,7 @@ FragDistPu(CdsArray *cdsA, int fraglen, start_time = clock(); - biggest = 0.0; + /* biggest = 0.0; */ count = 0; for (coord1 = 0; coord1 < cdsA->cnum; ++coord1) { debian/patches/series0000644000000000000000000000005412162600617012032 0ustar 20_hardening.patch 30_fix_gcc_options.patch debian/getexamples0000644000000000000000000000305011110731011011407 0ustar #!/bin/sh # Get example input files for theseus # Copyright (C) 2007 Morten Kjeldgaard # # This script is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later # version. # # This script is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public # License along with this script; if not, write to the Free # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, # Boston, MA 02110-1301 USA set -e pdbs="1s40" astrals="d1ciha_ d1crja_ d1csua_ d1csxa_ d1kyow_ d1lfma_ d1m60a_ d1u74d_ d1yeba_ d2pcbb_" #astrals="d1cih__ d1cih__2 d1crj__ d1csu__ d1csx__ d1kyow_ d1lfma_ d1m60a_ d1u74d_ d1yeb__ d2pcbb_" # function to fetch entries from the pdb pdb_fetch () { for f in $* ; do wget -q -O $f.pdb.gz ftp://ftp.wwpdb.org:/pub/pdb/data/structures/all/pdb/pdb${f}.ent.gz gzip -d ${f}.pdb.gz echo fetched $f.pdb done } # function to fetch entries from astral astral_fetch() { for f in $* ; do wget -q -O ${f}.pdb http://astral.berkeley.edu/pdbstyle.cgi?id=${f}&output=text echo fetched $f.pdb done } savedir=$PWD cd /tmp echo Downloading to directory /tmp pdb_fetch $pdbs astral_fetch $astrals cd $savedir debian/compat0000644000000000000000000000000211733274171010372 0ustar 9 debian/dirs0000644000000000000000000000001011517775534010060 0ustar usr/bin debian/theseus_align.10000644000000000000000000000544511473277257012131 0ustar .\" Hey, EMACS: -*- nroff -*- .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) .TH THESEUS_ALIGN 1 "November, 2008" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH NAME theseus_align \- quick-and-dirty way to superimpose proteins .SH SYNOPSIS .B theseus_align .RI [ "theseus options" ] \-f \fIpdbfile1.pdb\fR \fIpdbfile2.pdb\fR ... .SH OPTIONS The options given to the script will be passed on to \fBtheseus\fR. For a complete description, see the man page for \fBtheseus\fR (1). .SH DESCRIPTION This manual page briefly documents briefly the script \fBtheseus_align\fR, designed for a quick-and-dirty way to ML superposition proteins with different sequences. It should work very well when the protein sequences are relatively similar, although the ML method will still give much better results than least-squares when the sequences are moderately divergent. Technically, this procedure gives a structure-based superposition of a sequence-based alignment. It \fIdoes not\fR perform a structure-based alignment. .P First, the script uses \fBtheseus\fR to create FASTA formatted sequence files corresponding to the exact protein sequences found in the pdb files that you supply. .P Second, these sequences are aligned using the multiple sequence alignment program of your choice. The script can easily be modified for CLUSTALW, T_COFFEE, KALIGN, DIALIGN2, or MAFFT. Any multiple sequence alignment program can be used, as long as it can generate clustal-formatted files. However, I highly recommend Bob Edgar's MUSCLE program for both its speed and accuracy. (For more info see http://www.drive5.com/muscle/ .) .P Third, \fBtheseus\fR performs a superposition of the structures using the sequence alignment as a guide. .P The installed version of \fBtheseus_align\fR uses \fBmuscle\fR (1) for doing the multiple sequence alignment. If you wish to use one of the other programs mentioned above, you'll have to copy the script to your own directory and edit it. .SH SEE ALSO \fBtheseus\fR (1), \fBmuscle\fR (1), \fBclustalw\fR (1), \fBt_coffee\fR (1), \fBkalign\fR (1), \fBdialign2\fR (1), \fBmafft\fR (1). All of these programs can be installed on Debian or Ubuntu systems using \fBapt-get\fR (8). .SH AUTHOR \fBtheseus_align\fR was written by Douglas L. Theobald, Department of Biochemistry, Brandeis University. .\"-----