[Debian-med-packaging] [SCM] The European Molecular Biology Open Software Suite. branch, master, updated. upstream/6.2.0-23-g7b66dee

Charles Plessy plessy at debian.org
Tue Jun 22 08:26:42 UTC 2010


The following commit has been merged in the master branch:
commit 74532119e054c9b1f400c60299323d583de93732
Author: Charles Plessy <plessy at debian.org>
Date:   Mon Jun 21 22:39:20 2010 +0900

    Updated to patch 1-19.

diff --git a/debian/patches/official-upstream-patch.patch b/debian/patches/official-upstream-patch.patch
index 669a673..6d11a0d 100644
--- a/debian/patches/official-upstream-patch.patch
+++ b/debian/patches/official-upstream-patch.patch
@@ -155,12 +155,20 @@ Description: Official upstream patch.
  Fix 18. EMBOSS-6.2.0/ajax/core/ajsys.c
  .
  02-Mar-2010: Add .exe extension when searching for CYGWIN executables
-Origin: ftp://emboss.open-bio.org/pub/EMBOSS/fixes/patches/patch-1-18.gz
+ .
+ .
+ Fix 19.EMBOSS-6.2.0/nucleus/embaln.h
+        EMBOSS-6.2.0/nucleus/embaln.c
+        EMBOSS-6.2.0/emboss/needle.c
+        EMBOSS-6.2.0/emboss/needleall.c
+ .
+ 15-June-2010: Fix needle traceback problem
+Origin: ftp://emboss.open-bio.org/pub/EMBOSS/fixes/patches/patch-1-19.gz
 Forwarded: not-needed
 
 diff -c -N --recursive -a EMBOSS-6.2.0old/ajax/core/ajfeat.c EMBOSS-6.2.0/ajax/core/ajfeat.c
 *** EMBOSS-6.2.0old/ajax/core/ajfeat.c	2010-01-12 20:18:26.000000000 +0000
---- EMBOSS-6.2.0/ajax/core/ajfeat.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/ajax/core/ajfeat.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 487,493 ****
   ** Input feature formats
@@ -1091,7 +1099,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/ajax/core/ajfeat.c EMBOSS-6.2.0/ajax/c
   ** @return [void]
 diff -c -N --recursive -a EMBOSS-6.2.0old/ajax/core/ajlist.c EMBOSS-6.2.0/ajax/core/ajlist.c
 *** EMBOSS-6.2.0old/ajax/core/ajlist.c	2009-07-09 10:21:44.000000000 +0100
---- EMBOSS-6.2.0/ajax/core/ajlist.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/ajax/core/ajlist.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 498,504 ****
   ** @nam3rule Sort Apply function to each node
@@ -1242,7 +1250,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/ajax/core/ajlist.c EMBOSS-6.2.0/ajax/c
   ** @nam4rule PeekNumber Pointer to numbered value
 diff -c -N --recursive -a EMBOSS-6.2.0old/ajax/core/ajlist.h EMBOSS-6.2.0/ajax/core/ajlist.h
 *** EMBOSS-6.2.0old/ajax/core/ajlist.h	2009-08-24 14:59:06.000000000 +0100
---- EMBOSS-6.2.0/ajax/core/ajlist.h	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/ajax/core/ajlist.h	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 150,155 ****
 --- 150,157 ----
@@ -1256,7 +1264,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/ajax/core/ajlist.h EMBOSS-6.2.0/ajax/c
   AjBool      ajListMapfind (const AjPList listhead,
 diff -c -N --recursive -a EMBOSS-6.2.0old/ajax/core/ajpat.c EMBOSS-6.2.0/ajax/core/ajpat.c
 *** EMBOSS-6.2.0old/ajax/core/ajpat.c	2009-12-01 14:34:10.000000000 +0000
---- EMBOSS-6.2.0/ajax/core/ajpat.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/ajax/core/ajpat.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 1228,1236 ****
 --- 1228,1240 ----
@@ -1359,7 +1367,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/ajax/core/ajpat.c EMBOSS-6.2.0/ajax/co
   		       ajPatternSeqGetPattern(pat));
 diff -c -N --recursive -a EMBOSS-6.2.0old/ajax/core/ajseqread.c EMBOSS-6.2.0/ajax/core/ajseqread.c
 *** EMBOSS-6.2.0old/ajax/core/ajseqread.c	2010-01-12 12:32:40.000000000 +0000
---- EMBOSS-6.2.0/ajax/core/ajseqread.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/ajax/core/ajseqread.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 582,588 ****
   static const AjPStr seqAppendWarn(AjPStr* seq, const AjPStr line);
@@ -2072,7 +2080,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/ajax/core/ajseqread.c EMBOSS-6.2.0/aja
       {
 diff -c -N --recursive -a EMBOSS-6.2.0old/ajax/core/ajseqwrite.c EMBOSS-6.2.0/ajax/core/ajseqwrite.c
 *** EMBOSS-6.2.0old/ajax/core/ajseqwrite.c	2009-12-29 16:42:41.000000000 +0000
---- EMBOSS-6.2.0/ajax/core/ajseqwrite.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/ajax/core/ajseqwrite.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 341,347 ****
   	 AJFALSE, AJFALSE, AJFALSE, AJTRUE,  AJFALSE,
@@ -2661,7 +2669,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/ajax/core/ajseqwrite.c EMBOSS-6.2.0/aj
   ** @param [r] format [const AjPStr] Output format required.
 diff -c -N --recursive -a EMBOSS-6.2.0old/ajax/core/ajsys.c EMBOSS-6.2.0/ajax/core/ajsys.c
 *** EMBOSS-6.2.0old/ajax/core/ajsys.c	2009-12-11 15:49:35.000000000 +0000
---- EMBOSS-6.2.0/ajax/core/ajsys.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/ajax/core/ajsys.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 259,265 ****
   ** Needed for very fussy compilers i.e. Digital C
@@ -2704,7 +2712,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/ajax/core/ajsys.c EMBOSS-6.2.0/ajax/co
   	    ajStrAssignS(Pfilename,sysFname);
 diff -c -N --recursive -a EMBOSS-6.2.0old/ajax/graphics/ajgraph.c EMBOSS-6.2.0/ajax/graphics/ajgraph.c
 *** EMBOSS-6.2.0old/ajax/graphics/ajgraph.c	2010-01-08 12:41:06.000000000 +0000
---- EMBOSS-6.2.0/ajax/graphics/ajgraph.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/ajax/graphics/ajgraph.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 302,308 ****
   #endif
@@ -3458,7 +3466,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/ajax/graphics/ajgraph.c EMBOSS-6.2.0/a
   **                           will be written (in deg).
 diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/density.2.density.gif EMBOSS-6.2.0/doc/programs/html/density.2.density.gif
 *** EMBOSS-6.2.0old/doc/programs/html/density.2.density.gif	1970-01-01 01:00:00.000000000 +0100
---- EMBOSS-6.2.0/doc/programs/html/density.2.density.gif	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/doc/programs/html/density.2.density.gif	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 0 ****
 --- 1,75 ----
@@ -3540,7 +3548,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/density.2.density.gi
 \ No newline at end of file
 diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/density.3.density.gif EMBOSS-6.2.0/doc/programs/html/density.3.density.gif
 *** EMBOSS-6.2.0old/doc/programs/html/density.3.density.gif	1970-01-01 01:00:00.000000000 +0100
---- EMBOSS-6.2.0/doc/programs/html/density.3.density.gif	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/doc/programs/html/density.3.density.gif	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 0 ****
 --- 1,38 ----
@@ -3585,7 +3593,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/density.3.density.gi
 \ No newline at end of file
 diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/extractfeat.html EMBOSS-6.2.0/doc/programs/html/extractfeat.html
 *** EMBOSS-6.2.0old/doc/programs/html/extractfeat.html	2010-01-08 12:51:28.000000000 +0000
---- EMBOSS-6.2.0/doc/programs/html/extractfeat.html	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/doc/programs/html/extractfeat.html	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 205,213 ****
      -type               string     [*] By default every feature in the feature
@@ -3688,7 +3696,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/extractfeat.html EMB
       History
 diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/Makefile EMBOSS-6.2.0/doc/programs/html/Makefile
 *** EMBOSS-6.2.0old/doc/programs/html/Makefile	2010-01-15 10:54:49.000000000 +0000
---- EMBOSS-6.2.0/doc/programs/html/Makefile	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/doc/programs/html/Makefile	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 224,230 ****
   pkgdata_DATA = abiview.1.abiview.gif \
@@ -3709,7 +3717,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/Makefile EMBOSS-6.2.
   	findkm.1.findkm.gif \
 diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/Makefile.am EMBOSS-6.2.0/doc/programs/html/Makefile.am
 *** EMBOSS-6.2.0old/doc/programs/html/Makefile.am	2010-01-12 17:32:32.000000000 +0000
---- EMBOSS-6.2.0/doc/programs/html/Makefile.am	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/doc/programs/html/Makefile.am	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 1,7 ****
   pkgdata_DATA =  abiview.1.abiview.gif \
@@ -3730,7 +3738,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/Makefile.am EMBOSS-6
   	findkm.1.findkm.gif \
 diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/Makefile.in EMBOSS-6.2.0/doc/programs/html/Makefile.in
 *** EMBOSS-6.2.0old/doc/programs/html/Makefile.in	2010-01-15 10:54:40.000000000 +0000
---- EMBOSS-6.2.0/doc/programs/html/Makefile.in	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/doc/programs/html/Makefile.in	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 224,230 ****
   pkgdata_DATA = abiview.1.abiview.gif \
@@ -3751,7 +3759,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/Makefile.in EMBOSS-6
   	findkm.1.findkm.gif \
 diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/maskfeat.html EMBOSS-6.2.0/doc/programs/html/maskfeat.html
 *** EMBOSS-6.2.0old/doc/programs/html/maskfeat.html	2010-01-08 12:51:29.000000000 +0000
---- EMBOSS-6.2.0/doc/programs/html/maskfeat.html	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/doc/programs/html/maskfeat.html	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 104,114 ****
                                     feature table with a type starting 'repeat'
@@ -3823,7 +3831,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/maskfeat.html EMBOSS
   <H2>
 diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/showfeat.html EMBOSS-6.2.0/doc/programs/html/showfeat.html
 *** EMBOSS-6.2.0old/doc/programs/html/showfeat.html	2010-01-08 12:51:29.000000000 +0000
---- EMBOSS-6.2.0/doc/programs/html/showfeat.html	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/doc/programs/html/showfeat.html	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 126,136 ****
      -typematch          string     [*] By default any feature type in the
@@ -4026,7 +4034,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/showfeat.html EMBOSS
   
 diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/showpep.html EMBOSS-6.2.0/doc/programs/html/showpep.html
 *** EMBOSS-6.2.0old/doc/programs/html/showpep.html	2010-01-08 12:51:29.000000000 +0000
---- EMBOSS-6.2.0/doc/programs/html/showpep.html	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/doc/programs/html/showpep.html	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 285,295 ****
      -typematch          string     [*] By default any feature type in the
@@ -4132,7 +4140,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/showpep.html EMBOSS-
   <H2>
 diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/showseq.html EMBOSS-6.2.0/doc/programs/html/showseq.html
 *** EMBOSS-6.2.0old/doc/programs/html/showseq.html	2010-01-08 12:51:29.000000000 +0000
---- EMBOSS-6.2.0/doc/programs/html/showseq.html	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/doc/programs/html/showseq.html	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 382,392 ****
      -typematch          string     [*] By default any feature type in the
@@ -4343,7 +4351,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/showseq.html EMBOSS-
   <H2>
 diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/twofeat.html EMBOSS-6.2.0/doc/programs/html/twofeat.html
 *** EMBOSS-6.2.0old/doc/programs/html/twofeat.html	2010-01-08 12:51:30.000000000 +0000
---- EMBOSS-6.2.0/doc/programs/html/twofeat.html	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/doc/programs/html/twofeat.html	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 127,137 ****
      -atype              string     [*] By default every feature in the feature
@@ -4522,7 +4530,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/html/twofeat.html EMBOSS-
       History
 diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/text/extractfeat.txt EMBOSS-6.2.0/doc/programs/text/extractfeat.txt
 *** EMBOSS-6.2.0old/doc/programs/text/extractfeat.txt	2010-01-08 12:51:31.000000000 +0000
---- EMBOSS-6.2.0/doc/programs/text/extractfeat.txt	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/doc/programs/text/extractfeat.txt	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 154,162 ****
      -type               string     [*] By default every feature in the feature
@@ -4590,7 +4598,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/text/extractfeat.txt EMBO
      Written (Dec 12 2001) - Gary Williams
 diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/text/maskfeat.txt EMBOSS-6.2.0/doc/programs/text/maskfeat.txt
 *** EMBOSS-6.2.0old/doc/programs/text/maskfeat.txt	2010-01-08 12:51:31.000000000 +0000
---- EMBOSS-6.2.0/doc/programs/text/maskfeat.txt	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/doc/programs/text/maskfeat.txt	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 68,78 ****
                                     feature table with a type starting 'repeat'
@@ -4644,7 +4652,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/text/maskfeat.txt EMBOSS-
      Written (2000) - Gary Williams
 diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/text/showfeat.txt EMBOSS-6.2.0/doc/programs/text/showfeat.txt
 *** EMBOSS-6.2.0old/doc/programs/text/showfeat.txt	2010-01-08 12:51:31.000000000 +0000
---- EMBOSS-6.2.0/doc/programs/text/showfeat.txt	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/doc/programs/text/showfeat.txt	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 87,97 ****
      -typematch          string     [*] By default any feature type in the
@@ -4823,7 +4831,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/text/showfeat.txt EMBOSS-
                       Written 1999 - Gary Williams
 diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/text/showpep.txt EMBOSS-6.2.0/doc/programs/text/showpep.txt
 *** EMBOSS-6.2.0old/doc/programs/text/showpep.txt	2010-01-08 12:51:31.000000000 +0000
---- EMBOSS-6.2.0/doc/programs/text/showpep.txt	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/doc/programs/text/showpep.txt	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 232,242 ****
      -typematch          string     [*] By default any feature type in the
@@ -4894,7 +4902,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/text/showpep.txt EMBOSS-6
   Target users
 diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/text/showseq.txt EMBOSS-6.2.0/doc/programs/text/showseq.txt
 *** EMBOSS-6.2.0old/doc/programs/text/showseq.txt	2010-01-08 12:51:31.000000000 +0000
---- EMBOSS-6.2.0/doc/programs/text/showseq.txt	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/doc/programs/text/showseq.txt	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 327,337 ****
      -typematch          string     [*] By default any feature type in the
@@ -5019,7 +5027,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/text/showseq.txt EMBOSS-6
      Written 1999 - GWW
 diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/text/twofeat.txt EMBOSS-6.2.0/doc/programs/text/twofeat.txt
 *** EMBOSS-6.2.0old/doc/programs/text/twofeat.txt	2010-01-08 12:51:31.000000000 +0000
---- EMBOSS-6.2.0/doc/programs/text/twofeat.txt	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/doc/programs/text/twofeat.txt	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 107,117 ****
      -atype              string     [*] By default every feature in the feature
@@ -5146,7 +5154,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/doc/programs/text/twofeat.txt EMBOSS-6
                       Written (2002) - Gary Williams
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/cirdna.acd EMBOSS-6.2.0/emboss/acd/cirdna.acd
 *** EMBOSS-6.2.0old/emboss/acd/cirdna.acd	2010-01-11 19:54:14.000000000 +0000
---- EMBOSS-6.2.0/emboss/acd/cirdna.acd	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/acd/cirdna.acd	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 13,19 ****
       parameter: "Y"
@@ -5166,7 +5174,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/cirdna.acd EMBOSS-6.2.0/emb
   
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/extractfeat.acd EMBOSS-6.2.0/emboss/acd/extractfeat.acd
 *** EMBOSS-6.2.0old/emboss/acd/extractfeat.acd	2010-01-14 21:51:23.000000000 +0000
---- EMBOSS-6.2.0/emboss/acd/extractfeat.acd	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/acd/extractfeat.acd	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 83,89 ****
       information: "Type of feature to extract"
@@ -5186,7 +5194,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/extractfeat.acd EMBOSS-6.2.
              for a list of the Uniprot feature types. \
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/jaspextract.acd EMBOSS-6.2.0/emboss/acd/jaspextract.acd
 *** EMBOSS-6.2.0old/emboss/acd/jaspextract.acd	2009-09-15 11:25:52.000000000 +0100
---- EMBOSS-6.2.0/emboss/acd/jaspextract.acd	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/acd/jaspextract.acd	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 15,23 ****
     directory: directory [
@@ -5209,7 +5217,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/jaspextract.acd EMBOSS-6.2.
     ]
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/jaspscan.acd EMBOSS-6.2.0/emboss/acd/jaspscan.acd
 *** EMBOSS-6.2.0old/emboss/acd/jaspscan.acd	2009-09-15 11:25:52.000000000 +0100
---- EMBOSS-6.2.0/emboss/acd/jaspscan.acd	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/acd/jaspscan.acd	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 21,27 ****
       default: "C"
@@ -5293,7 +5301,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/jaspscan.acd EMBOSS-6.2.0/e
     ]
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/knowntypes.standard EMBOSS-6.2.0/emboss/acd/knowntypes.standard
 *** EMBOSS-6.2.0old/emboss/acd/knowntypes.standard	2009-12-18 13:59:32.000000000 +0000
---- EMBOSS-6.2.0/emboss/acd/knowntypes.standard	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/acd/knowntypes.standard	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 20,25 ****
 --- 20,26 ----
@@ -5306,7 +5314,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/knowntypes.standard EMBOSS-
   codon_list                          | string         |  "EDAM: Codon string"                                   | Codon triplet(s)
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/maskfeat.acd EMBOSS-6.2.0/emboss/acd/maskfeat.acd
 *** EMBOSS-6.2.0old/emboss/acd/maskfeat.acd	2009-09-15 11:25:52.000000000 +0100
---- EMBOSS-6.2.0/emboss/acd/maskfeat.acd	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/acd/maskfeat.acd	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 31,39 ****
       help: "By default any feature in the feature table with a type
@@ -5330,7 +5338,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/maskfeat.acd EMBOSS-6.2.0/e
              If you wish to mask more than one type, separate their names with
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/remap.acd EMBOSS-6.2.0/emboss/acd/remap.acd
 *** EMBOSS-6.2.0old/emboss/acd/remap.acd	2010-01-14 21:51:23.000000000 +0000
---- EMBOSS-6.2.0/emboss/acd/remap.acd	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/acd/remap.acd	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 91,97 ****
     integer: maxcuts [
@@ -5343,7 +5351,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/remap.acd EMBOSS-6.2.0/embo
 --- 91,96 ----
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/restover.acd EMBOSS-6.2.0/emboss/acd/restover.acd
 *** EMBOSS-6.2.0old/emboss/acd/restover.acd	2009-10-12 15:42:43.000000000 +0100
---- EMBOSS-6.2.0/emboss/acd/restover.acd	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/acd/restover.acd	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 61,67 ****
   
@@ -5356,7 +5364,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/restover.acd EMBOSS-6.2.0/e
 --- 61,66 ----
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/restrict.acd EMBOSS-6.2.0/emboss/acd/restrict.acd
 *** EMBOSS-6.2.0old/emboss/acd/restrict.acd	2010-01-14 21:51:23.000000000 +0000
---- EMBOSS-6.2.0/emboss/acd/restrict.acd	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/acd/restrict.acd	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 97,103 ****
   
@@ -5369,7 +5377,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/restrict.acd EMBOSS-6.2.0/e
 --- 97,102 ----
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/showfeat.acd EMBOSS-6.2.0/emboss/acd/showfeat.acd
 *** EMBOSS-6.2.0old/emboss/acd/showfeat.acd	2010-01-14 21:51:23.000000000 +0000
---- EMBOSS-6.2.0/emboss/acd/showfeat.acd	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/acd/showfeat.acd	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 47,55 ****
       information: "Type of feature to display"
@@ -5393,7 +5401,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/showfeat.acd EMBOSS-6.2.0/e
              If you wish to show more than one type, separate their names with
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/showpep.acd EMBOSS-6.2.0/emboss/acd/showpep.acd
 *** EMBOSS-6.2.0old/emboss/acd/showpep.acd	2010-01-14 21:51:23.000000000 +0000
---- EMBOSS-6.2.0/emboss/acd/showpep.acd	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/acd/showpep.acd	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 152,161 ****
         help: "By default any feature type in the feature table is
@@ -5419,7 +5427,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/showpep.acd EMBOSS-6.2.0/em
                with the character '|', eg: \
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/showseq.acd EMBOSS-6.2.0/emboss/acd/showseq.acd
 *** EMBOSS-6.2.0old/emboss/acd/showseq.acd	2010-01-14 21:51:23.000000000 +0000
---- EMBOSS-6.2.0/emboss/acd/showseq.acd	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/acd/showseq.acd	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 249,258 ****
         help: "By default any feature type in the feature table is
@@ -5466,7 +5474,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/showseq.acd EMBOSS-6.2.0/em
 --- 389,394 ----
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/trimseq.acd EMBOSS-6.2.0/emboss/acd/trimseq.acd
 *** EMBOSS-6.2.0old/emboss/acd/trimseq.acd	2009-09-15 11:25:52.000000000 +0100
---- EMBOSS-6.2.0/emboss/acd/trimseq.acd	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/acd/trimseq.acd	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 26,31 ****
 --- 26,32 ----
@@ -5479,7 +5487,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/trimseq.acd EMBOSS-6.2.0/em
              when deciding whether the percentage of ambiguity is greater than
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/twofeat.acd EMBOSS-6.2.0/emboss/acd/twofeat.acd
 *** EMBOSS-6.2.0old/emboss/acd/twofeat.acd	2009-09-15 11:25:52.000000000 +0100
---- EMBOSS-6.2.0/emboss/acd/twofeat.acd	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/acd/twofeat.acd	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 45,54 ****
         information: "Type of first feature"
@@ -5549,7 +5557,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/acd/twofeat.acd EMBOSS-6.2.0/em
       knowntype: "feature key"
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/coderet.c EMBOSS-6.2.0/emboss/coderet.c
 *** EMBOSS-6.2.0old/emboss/coderet.c	2009-12-01 14:39:23.000000000 +0000
---- EMBOSS-6.2.0/emboss/coderet.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/coderet.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 121,188 ****
           imrna = 0;
@@ -5696,7 +5704,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/coderet.c EMBOSS-6.2.0/emboss/c
               ajFmtPrintF(logf, "%6d", icds);
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/emma.c EMBOSS-6.2.0/emboss/emma.c
 *** EMBOSS-6.2.0old/emboss/emma.c	2009-12-11 15:37:59.000000000 +0000
---- EMBOSS-6.2.0/emboss/emma.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/emma.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 390,406 ****
   
@@ -5732,7 +5740,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/emma.c EMBOSS-6.2.0/emboss/emma
       {
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/jaspextract.c EMBOSS-6.2.0/emboss/jaspextract.c
 *** EMBOSS-6.2.0old/emboss/jaspextract.c	2008-11-14 17:22:57.000000000 +0000
---- EMBOSS-6.2.0/emboss/jaspextract.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/jaspextract.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 22,70 ****
   
@@ -6466,7 +6474,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/jaspextract.c EMBOSS-6.2.0/embo
   }
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/jaspscan.c EMBOSS-6.2.0/emboss/jaspscan.c
 *** EMBOSS-6.2.0old/emboss/jaspscan.c	2009-10-09 12:26:35.000000000 +0100
---- EMBOSS-6.2.0/emboss/jaspscan.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/jaspscan.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 36,53 ****
   #define JASPTAB_GUESS 1000
@@ -6919,7 +6927,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/jaspscan.c EMBOSS-6.2.0/emboss/
       ajStrDel(&skey);
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/jembossctl.c EMBOSS-6.2.0/emboss/jembossctl.c
 *** EMBOSS-6.2.0old/emboss/jembossctl.c	2008-06-26 09:39:09.000000000 +0100
---- EMBOSS-6.2.0/emboss/jembossctl.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/jembossctl.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 1278,1284 ****
   	return ajFalse;
@@ -7150,7 +7158,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/jembossctl.c EMBOSS-6.2.0/embos
   }
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/matcher.c EMBOSS-6.2.0/emboss/matcher.c
 *** EMBOSS-6.2.0old/emboss/matcher.c	2010-01-08 12:43:41.000000000 +0000
---- EMBOSS-6.2.0/emboss/matcher.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/matcher.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 27,33 ****
   
@@ -7272,9 +7280,236 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/matcher.c EMBOSS-6.2.0/emboss/m
       *sp1 = '\0';
       *nident = nid;
 --- 1568,1573 ----
+diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/needleall.c EMBOSS-6.2.0/emboss/needleall.c
+*** EMBOSS-6.2.0old/emboss/needleall.c	2010-01-08 12:43:41.000000000 +0000
+--- EMBOSS-6.2.0/emboss/needleall.c	2010-06-15 09:58:18.000000000 +0100
+***************
+*** 46,53 ****
+      AjPStr ss;
+      AjPFile errorf;
+  
+!     ajuint lena;
+!     ajuint lenb;
+      ajuint k;
+  
+      const char *p;
+--- 46,53 ----
+      AjPStr ss;
+      AjPFile errorf;
+  
+!     ajint lena;
+!     ajint lenb;
+      ajuint k;
+  
+      const char *p;
+***************
+*** 56,62 ****
+      ajint start1 = 0;
+      ajint start2 = 0;
+  
+-     float *path;
+      ajint *compass;
+      float* ix;
+      float* iy;
+--- 56,61 ----
+***************
+*** 107,113 ****
+      gapopen = ajRoundFloat(gapopen, 8);
+      gapextend = ajRoundFloat(gapextend, 8);
+  
+-     AJCNEW(path, maxarr);
+      AJCNEW(compass, maxarr);
+      AJCNEW(m, maxarr);
+      AJCNEW(ix, maxarr);
+--- 106,111 ----
+***************
+*** 131,137 ****
+              lena = ajSeqGetLen(seqa);
+  
+  
+!             if(lenb > (ULONG_MAX/(ajulong)(lena+1)))
+                  ajFatal("Sequences too big.");
+  
+              len = lena*lenb;
+--- 129,135 ----
+              lena = ajSeqGetLen(seqa);
+  
+  
+!             if(lenb > (LONG_MAX/(ajlong)(lena+1)))
+                  ajFatal("Sequences too big.");
+  
+              len = lena*lenb;
+***************
+*** 139,150 ****
+              if(len>maxarr)
+              {
+                  stlen = (size_t) len;
+-                 AJCRESIZETRY(path,stlen);
+                  AJCRESIZETRY(compass,stlen);
+                  AJCRESIZETRY(m,stlen);
+                  AJCRESIZETRY(ix,stlen);
+                  AJCRESIZETRY(iy,stlen);
+!                 if(!path || !compass || !m || !ix || !iy)
+                      ajDie("Sequences too big.");
+                  maxarr=len;
+              }
+--- 137,147 ----
+              if(len>maxarr)
+              {
+                  stlen = (size_t) len;
+                  AJCRESIZETRY(compass,stlen);
+                  AJCRESIZETRY(m,stlen);
+                  AJCRESIZETRY(ix,stlen);
+                  AJCRESIZETRY(iy,stlen);
+!                 if(!compass || !m || !ix || !iy)
+                      ajDie("Sequences too big.");
+                  maxarr=len;
+              }
+***************
+*** 158,164 ****
+  
+              score = embAlignPathCalcWithEndGapPenalties(p, q, lena, lenb,
+                      gapopen, gapextend, endgapopen, endgapextend,
+!                     &start1, &start2, path, sub, cvt, m, ix, iy,
+                      compass, ajFalse, endweight);
+  
+              embAlignWalkNWMatrixUsingCompass(p, q, &alga, &algb,
+--- 155,161 ----
+  
+              score = embAlignPathCalcWithEndGapPenalties(p, q, lena, lenb,
+                      gapopen, gapextend, endgapopen, endgapextend,
+!                     &start1, &start2, sub, cvt, m, ix, iy,
+                      compass, ajFalse, endweight);
+  
+              embAlignWalkNWMatrixUsingCompass(p, q, &alga, &algb,
+***************
+*** 223,229 ****
+      ajSeqDel(&seqb);
+  
+      AJFREE(compass);
+-     AJFREE(path);
+      AJFREE(ix);
+      AJFREE(iy);
+      AJFREE(m);
+--- 220,225 ----
+diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/needle.c EMBOSS-6.2.0/emboss/needle.c
+*** EMBOSS-6.2.0old/emboss/needle.c	2010-01-08 12:43:41.000000000 +0000
+--- EMBOSS-6.2.0/emboss/needle.c	2010-06-15 09:58:12.000000000 +0100
+***************
+*** 40,47 ****
+      AjPStr algb;
+      AjPStr ss;
+  
+!     ajuint    lena;
+!     ajuint    lenb;
+  
+      const char   *p;
+      const char   *q;
+--- 40,47 ----
+      AjPStr algb;
+      AjPStr ss;
+  
+!     ajint    lena;
+!     ajint    lenb;
+  
+      const char   *p;
+      const char   *q;
+***************
+*** 49,55 ****
+      ajint start1 = 0;
+      ajint start2 = 0;
+  
+-     float *path;
+      ajint *compass;
+      float* ix;
+      float* iy;
+--- 49,54 ----
+***************
+*** 64,70 ****
+      float endgapopen;
+      float endgapextend;
+      ajulong maxarr = 1000; 	/* arbitrary. realloc'd if needed */
+!     ajulong len;			
+  
+      float score;
+  
+--- 63,69 ----
+      float endgapopen;
+      float endgapextend;
+      ajulong maxarr = 1000; 	/* arbitrary. realloc'd if needed */
+!     ajulong len;
+  
+      float score;
+  
+***************
+*** 98,104 ****
+      gapopen = ajRoundFloat(gapopen, 8);
+      gapextend = ajRoundFloat(gapextend, 8);
+  
+-     AJCNEW(path, maxarr);
+      AJCNEW(compass, maxarr);
+      AJCNEW(m, maxarr);
+      AJCNEW(ix, maxarr);
+--- 97,102 ----
+***************
+*** 118,124 ****
+  	ajSeqTrim(b);
+  	lenb = ajSeqGetLen(b);
+  
+! 	if(lenb > (ULONG_MAX/(ajulong)(lena+1)))
+  	   ajFatal("Sequences too big. Try 'stretcher' or 'supermatcher'");
+  
+  	len = lena*lenb;
+--- 116,122 ----
+  	ajSeqTrim(b);
+  	lenb = ajSeqGetLen(b);
+  
+! 	if(lenb > (LONG_MAX/(ajlong)(lena+1)))
+  	   ajFatal("Sequences too big. Try 'stretcher' or 'supermatcher'");
+  
+  	len = lena*lenb;
+***************
+*** 126,134 ****
+  	if(len>maxarr)
+  	{
+  	    stlen = (size_t) len;
+- 	    AJCRESIZETRY(path,stlen);
+- 	    if(!path)
+- 		ajDie("Sequences too big. Try 'stretcher'");
+  	    AJCRESIZETRY(compass,stlen);
+  	    if(!compass)
+  		ajDie("Sequences too big. Try 'stretcher'");
+--- 124,129 ----
+***************
+*** 153,159 ****
+  
+  	score = embAlignPathCalcWithEndGapPenalties(p, q, lena, lenb,
+  	        gapopen, gapextend, endgapopen, endgapextend,
+! 	        &start1, &start2, path, sub, cvt,
+  	        m, ix, iy, compass, ajTrue, endweight);
+  
+  
+--- 148,154 ----
+  
+  	score = embAlignPathCalcWithEndGapPenalties(p, q, lena, lenb,
+  	        gapopen, gapextend, endgapopen, endgapextend,
+! 	        &start1, &start2, sub, cvt,
+  	        m, ix, iy, compass, ajTrue, endweight);
+  
+  
+***************
+*** 195,201 ****
+      ajSeqDel(&b);
+  
+      AJFREE(compass);
+-     AJFREE(path);
+      AJFREE(ix);
+      AJFREE(iy);
+      AJFREE(m);
+--- 190,195 ----
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/prettyplot.c EMBOSS-6.2.0/emboss/prettyplot.c
 *** EMBOSS-6.2.0old/emboss/prettyplot.c	2010-01-08 12:43:41.000000000 +0000
---- EMBOSS-6.2.0/emboss/prettyplot.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/prettyplot.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 434,457 ****
   
@@ -7374,7 +7609,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/prettyplot.c EMBOSS-6.2.0/embos
   	    }
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/recoder.c EMBOSS-6.2.0/emboss/recoder.c
 *** EMBOSS-6.2.0old/emboss/recoder.c	2009-08-24 15:33:44.000000000 +0100
---- EMBOSS-6.2.0/emboss/recoder.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/recoder.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 33,44 ****
   
@@ -7742,7 +7977,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/recoder.c EMBOSS-6.2.0/emboss/r
       ajStrDel(&(*mut)->site);
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/remap.c EMBOSS-6.2.0/emboss/remap.c
 *** EMBOSS-6.2.0old/emboss/remap.c	2009-12-01 14:30:08.000000000 +0000
---- EMBOSS-6.2.0/emboss/remap.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/remap.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 777,784 ****
       /* push all enzyme names without the required criteria onto nocutlist */
@@ -7767,7 +8002,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/remap.c EMBOSS-6.2.0/emboss/rem
   	 ** this is one of that explicit list 
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/restrict.c EMBOSS-6.2.0/emboss/restrict.c
 *** EMBOSS-6.2.0old/emboss/restrict.c	2009-08-24 15:33:44.000000000 +0100
---- EMBOSS-6.2.0/emboss/restrict.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/restrict.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 951,958 ****
       
@@ -7792,7 +8027,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/restrict.c EMBOSS-6.2.0/emboss/
           ajStrFmtUpper(&key);
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/showfeat.c EMBOSS-6.2.0/emboss/showfeat.c
 *** EMBOSS-6.2.0old/emboss/showfeat.c	2009-08-24 15:33:44.000000000 +0100
---- EMBOSS-6.2.0/emboss/showfeat.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/showfeat.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 266,272 ****
   {
@@ -7973,7 +8208,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/showfeat.c EMBOSS-6.2.0/emboss/
   }
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/showpep.c EMBOSS-6.2.0/emboss/showpep.c
 *** EMBOSS-6.2.0old/emboss/showpep.c	2009-08-24 15:33:44.000000000 +0100
---- EMBOSS-6.2.0/emboss/showpep.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/showpep.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 238,244 ****
   	ajFmtPrintF(outfile, "\n");
@@ -7993,7 +8228,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/showpep.c EMBOSS-6.2.0/emboss/s
   
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/showseq.c EMBOSS-6.2.0/emboss/showseq.c
 *** EMBOSS-6.2.0old/emboss/showseq.c	2009-08-24 15:33:44.000000000 +0100
---- EMBOSS-6.2.0/emboss/showseq.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/showseq.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 380,386 ****
   	ajFmtPrintF(outfile, "\n");
@@ -8013,7 +8248,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/showseq.c EMBOSS-6.2.0/emboss/s
   
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/silent.c EMBOSS-6.2.0/emboss/silent.c
 *** EMBOSS-6.2.0old/emboss/silent.c	2009-08-24 15:33:44.000000000 +0100
---- EMBOSS-6.2.0/emboss/silent.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/silent.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 27,38 ****
   
@@ -8334,7 +8569,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/silent.c EMBOSS-6.2.0/emboss/si
   }
 diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/splitter.c EMBOSS-6.2.0/emboss/splitter.c
 *** EMBOSS-6.2.0old/emboss/splitter.c	2009-08-24 15:33:44.000000000 +0100
---- EMBOSS-6.2.0/emboss/splitter.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/emboss/splitter.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 102,111 ****
                   pos += size;
@@ -8605,7 +8840,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/emboss/splitter.c EMBOSS-6.2.0/emboss/
   }
 diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/lib/jemboss.jar EMBOSS-6.2.0/jemboss/lib/jemboss.jar
 *** EMBOSS-6.2.0old/jemboss/lib/jemboss.jar	2010-01-15 10:55:02.000000000 +0000
---- EMBOSS-6.2.0/jemboss/lib/jemboss.jar	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/jemboss/lib/jemboss.jar	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 1,41 ****
   PK
@@ -14668,7 +14903,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/lib/jemboss.jar EMBOSS-6.2.0/j
 \ No newline at end of file
 diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/gui/filetree/DragTree.java EMBOSS-6.2.0/jemboss/org/emboss/jemboss/gui/filetree/DragTree.java
 *** EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/gui/filetree/DragTree.java	2010-01-06 15:24:58.000000000 +0000
---- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/gui/filetree/DragTree.java	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/gui/filetree/DragTree.java	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 688,694 ****
     public static void showFilePane(String filename, JembossParams mysettings)
@@ -14695,7 +14930,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/gui/filetre
     }
 diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/gui/filetree/RemoteDragTree.java EMBOSS-6.2.0/jemboss/org/emboss/jemboss/gui/filetree/RemoteDragTree.java
 *** EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/gui/filetree/RemoteDragTree.java	2008-07-04 14:33:08.000000000 +0100
---- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/gui/filetree/RemoteDragTree.java	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/gui/filetree/RemoteDragTree.java	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 743,748 ****
 --- 743,754 ----
@@ -14713,7 +14948,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/gui/filetre
         else
 diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/gui/form/BuildJembossForm.java EMBOSS-6.2.0/jemboss/org/emboss/jemboss/gui/form/BuildJembossForm.java
 *** EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/gui/form/BuildJembossForm.java	2010-01-14 17:51:49.000000000 +0000
---- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/gui/form/BuildJembossForm.java	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/gui/form/BuildJembossForm.java	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 469,475 ****
           {
@@ -15058,7 +15293,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/gui/form/Bu
           }
 diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/gui/ShowResultSet.java EMBOSS-6.2.0/jemboss/org/emboss/jemboss/gui/ShowResultSet.java
 *** EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/gui/ShowResultSet.java	2009-10-26 13:31:54.000000000 +0000
---- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/gui/ShowResultSet.java	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/gui/ShowResultSet.java	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 189,194 ****
 --- 189,196 ----
@@ -15072,7 +15307,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/gui/ShowRes
           remove(toolbar);
 diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/JembossParams.java EMBOSS-6.2.0/jemboss/org/emboss/jemboss/JembossParams.java
 *** EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/JembossParams.java	2008-07-03 15:54:02.000000000 +0100
---- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/JembossParams.java	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/JembossParams.java	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 22,27 ****
 --- 22,28 ----
@@ -15104,7 +15339,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/JembossPara
       {
 diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/programs/RunEmbossApplication2.java EMBOSS-6.2.0/jemboss/org/emboss/jemboss/programs/RunEmbossApplication2.java
 *** EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/programs/RunEmbossApplication2.java	2009-07-06 14:49:20.000000000 +0100
---- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/programs/RunEmbossApplication2.java	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/programs/RunEmbossApplication2.java	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 141,150 ****
         while((nc = stderrRead.read(c,0,100)) != -1)
@@ -15131,7 +15366,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/programs/Ru
       {
 diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/server/JembossAuthServer.java EMBOSS-6.2.0/jemboss/org/emboss/jemboss/server/JembossAuthServer.java
 *** EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/server/JembossAuthServer.java	2010-01-06 11:55:24.000000000 +0000
---- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/server/JembossAuthServer.java	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/server/JembossAuthServer.java	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 45,53 ****
     /** Jemboss error log file */
@@ -15206,7 +15441,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/server/Jemb
     *
 diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/server/JembossServer.java EMBOSS-6.2.0/jemboss/org/emboss/jemboss/server/JembossServer.java
 *** EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/server/JembossServer.java	2010-01-06 15:11:44.000000000 +0000
---- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/server/JembossServer.java	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/server/JembossServer.java	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 73,79 ****
     /** user name */
@@ -15711,7 +15946,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/server/Jemb
 --- 1154,1158 ----
 diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/server/JembossThread.java EMBOSS-6.2.0/jemboss/org/emboss/jemboss/server/JembossThread.java
 *** EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/server/JembossThread.java	2004-02-29 20:47:22.000000000 +0000
---- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/server/JembossThread.java	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/server/JembossThread.java	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 55,62 ****
     { 
@@ -15781,7 +16016,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/server/Jemb
       {
 diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/soap/AuthPopup.java EMBOSS-6.2.0/jemboss/org/emboss/jemboss/soap/AuthPopup.java
 *** EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/soap/AuthPopup.java	2010-01-11 13:43:55.000000000 +0000
---- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/soap/AuthPopup.java	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/soap/AuthPopup.java	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 176,182 ****
   
@@ -15834,7 +16069,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/soap/AuthPo
 --- 334,339 ----
 diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/soap/JembossRun.java EMBOSS-6.2.0/jemboss/org/emboss/jemboss/soap/JembossRun.java
 *** EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/soap/JembossRun.java	2009-07-01 10:20:30.000000000 +0100
---- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/soap/JembossRun.java	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/soap/JembossRun.java	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 44,85 ****
     private Hashtable proganswer;
@@ -15958,7 +16193,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/soap/Jembos
       status = proganswer.get("status").toString();
 diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/soap/PrivateRequest.java EMBOSS-6.2.0/jemboss/org/emboss/jemboss/soap/PrivateRequest.java
 *** EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/soap/PrivateRequest.java	2008-05-21 12:14:41.000000000 +0100
---- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/soap/PrivateRequest.java	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/jemboss/org/emboss/jemboss/soap/PrivateRequest.java	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 85,91 ****
          org.apache.axis.client.Service serv =
@@ -16025,7 +16260,7 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/org/emboss/jemboss/soap/Privat
      }
 diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/utils/install-jemboss-server.sh EMBOSS-6.2.0/jemboss/utils/install-jemboss-server.sh
 *** EMBOSS-6.2.0old/jemboss/utils/install-jemboss-server.sh	2010-01-11 12:24:48.000000000 +0000
---- EMBOSS-6.2.0/jemboss/utils/install-jemboss-server.sh	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/jemboss/utils/install-jemboss-server.sh	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 173,179 ****
             ./configure --with-thread=$PLATFORM \
@@ -16090,9 +16325,709 @@ diff -c -N --recursive -a EMBOSS-6.2.0old/jemboss/utils/install-jemboss-server.s
   #
   # create resources.jar archive of the scoring matrix
 --- 1241,1246 ----
+diff -c -N --recursive -a EMBOSS-6.2.0old/nucleus/embaln.c EMBOSS-6.2.0/nucleus/embaln.c
+*** EMBOSS-6.2.0old/nucleus/embaln.c	2009-12-01 14:28:19.000000000 +0000
+--- EMBOSS-6.2.0/nucleus/embaln.c	2010-06-15 09:57:53.000000000 +0100
+***************
+*** 33,50 ****
+  #define LEFT 1
+  #define DOWN 2
+  
+  
+  
+  
+  static void printPathMatrix(const float* path, const ajint* compass,
+                              ajuint lena, ajuint lenb);
+  
+! static float embAlignGetScoreNWMatrix(const float *path, ajint lena,
+          ajint lenb, ajint *xpos, ajint *ypos, AjBool endweight);
+  
+  
+  
+- 
+  /* @func embAlignPathCalc *****************************************************
+  **
+  ** Create path matrix for Needleman-Wunsch
+--- 33,52 ----
+  #define LEFT 1
+  #define DOWN 2
+  
++ #define U_FEPS 1.192e-6F         /* 1.0F + E_FEPS != 1.0F */
++ #define E_FPEQ(a,b,e) (((b - e) < a) && (a < (b + e)))
+  
+  
+  
+  static void printPathMatrix(const float* path, const ajint* compass,
+                              ajuint lena, ajuint lenb);
+  
+! static float embAlignGetScoreNWMatrix(
+! 	const float *ix, const float *iy, const float *m, ajint lena,
+          ajint lenb, ajint *xpos, ajint *ypos, AjBool endweight);
+  
+  
+  
+  /* @func embAlignPathCalc *****************************************************
+  **
+  ** Create path matrix for Needleman-Wunsch
+***************
+*** 237,244 ****
+  **
+  ** @param [r] a [const char *] first sequence
+  ** @param [r] b [const char *] second sequence
+! ** @param [r] lena [ajuint] length of first sequence
+! ** @param [r] lenb [ajuint] length of second sequence
+  ** @param [r] gapopen [float] gap opening penalty
+  ** @param [r] gapextend [float] gap extension penalty
+  ** @param [r] endgapopen [float] end gap opening penalty
+--- 239,246 ----
+  **
+  ** @param [r] a [const char *] first sequence
+  ** @param [r] b [const char *] second sequence
+! ** @param [r] lena [ajint] length of first sequence
+! ** @param [r] lenb [ajint] length of second sequence
+  ** @param [r] gapopen [float] gap opening penalty
+  ** @param [r] gapextend [float] gap extension penalty
+  ** @param [r] endgapopen [float] end gap opening penalty
+***************
+*** 261,471 ****
+  ******************************************************************************/
+  
+  float embAlignPathCalcWithEndGapPenalties(const char *a, const char *b,
+!                        ajuint lena, ajuint lenb,
+                         float gapopen, float gapextend,
+                         float endgapopen, float endgapextend,
+                         ajint *start1, ajint *start2,
+!                        float *path, float * const *sub, const AjPSeqCvt cvt,
+                         float *m, float *ix, float *iy,
+                         ajint *compass, AjBool show,
+                         AjBool endweight)
+  {
+!     ajuint xpos;
+!     ajuint ypos;
+!     ajuint i;
+!     ajuint j;
+      ajint bconvcode;
+-     
+      float match;
+      float ixp;
+      float iyp;
+      float mp;
+      ajint cursor;
+      ajint cursorp;
+!     
+      float testog;
+      float testeg;
+-     float testdg;
+      float score;
+      
+      ajDebug("embAlignPathCalcWithEndGapPenalties\n");
+      
+      match = sub[ajSeqcvtGetCodeK(cvt, a[0])][ajSeqcvtGetCodeK(cvt, b[0])];
+-     compass[0] = 0;
+-     path[0] = (float) match;
+  
+!     if(endweight && -endgapopen > match)
+!         path[0] = endgapopen;
+  
+!     ix[0] = INT_MIN;
+!     iy[0] = INT_MIN;
+!     m[0] = path[0];
+  
+!     /* First initialise the first column and row */
+!     for (i = 1; i < lena; ++i)
+      {
+!         match = sub[ajSeqcvtGetCodeK(cvt, a[i])][ajSeqcvtGetCodeK(cvt, b[0])];
+  
+!         if(!endweight)
+!         {
+!             path[i * lenb] = (float) match;
+!             compass[i * lenb] = 0;
+!             m[i*lenb] = (float)match;
+!             ix[i*lenb] = INT_MIN;
+!             iy[i*lenb] = INT_MIN;
+!         }
+!         else
+!         {
+!             ypos=i;
+!             cursor = ypos * lenb;
+!             cursorp = (ypos-1) * lenb;
+!             testog = m[cursorp] - endgapopen;
+!             testeg = iy[cursorp] - endgapextend;
+  
+!             if(testog >= testeg)
+!                 iy[cursor] = testog;
+!             else
+!                 iy[cursor] = testeg;
+! 
+!             m[cursor] = match - (endgapopen + (i - 1) * endgapextend);
+!             ix[cursor] = INT_MIN;
+  
+!             if(m[cursor]>iy[cursor])
+!             {
+!                 path[cursor] = m[cursor];
+!                 compass[cursor] = 0;
+!             }
+!             else
+!             {
+!                 path[cursor] = iy[cursor];
+!                 compass[cursor] = 2;
+!             }
+!         }
+      }
+  
+!     for (j = 1; j < lenb; ++j)
+!     {
+!         match = sub[ajSeqcvtGetCodeK(cvt, a[0])][ajSeqcvtGetCodeK(cvt, b[j])];
+  
+!         if(!endweight)
+!         {
+!             path[j] = (float) match;
+!             compass[j] = 0;
+!             ix[j] = INT_MIN;
+!             iy[j] = INT_MIN;
+!             m[j] = (float) match;
+!         }
+!         else
+!         {
+!             xpos=j;
+!             cursor = xpos;
+!             cursorp = xpos -1;
+!             testog = m[cursorp] - endgapopen;
+!             testeg = iy[cursorp] - endgapextend;
+  
+!             if(testog >= testeg)
+!                 ix[cursor] = testog;
+!             else
+!                 ix[cursor] = testeg;
+  
+!             m[cursor] = match - (endgapopen + (j - 1) * endgapextend);
+!             iy[cursor] = INT_MIN;
+  
+!             if(m[cursor]>ix[cursor])
+!             {
+!                 path[cursor] = m[cursor];
+!                 compass[cursor] = 0;
+!             }
+!             else
+!             {
+!                 path[cursor] = ix[cursor];
+!                 compass[cursor] = 1;
+!             }
+!         }
+      }
+  
+!     /* xpos and ypos are the diagonal steps so start at 1 */
+      xpos = 1;
+  
+      while (xpos != lenb)
+      {
+          ypos = 1;
+          bconvcode = ajSeqcvtGetCodeK(cvt, *++b);
+  
+          while (ypos < lena)
+          {
+              /* get match for current xpos/ypos */
+!             match = sub[ajSeqcvtGetCodeK(cvt, a[ypos])][bconvcode];
+  
+!             /* coordinates of the cells being processed */
+!             cursorp = (ypos-1) * lenb + xpos-1;
+!             cursor = ypos * lenb + xpos;
+!             
+              mp = m[cursorp];
+              ixp = ix[cursorp];
+              iyp = iy[cursorp];
+  
+!             if(mp >= ixp && mp >= iyp)
+                  m[cursor] = mp+match;                     
+              else if(ixp > iyp)
+                  m[cursor] = ixp+match;
+              else
+                  m[cursor] = iyp+match;
+  
+!             testog = m[++cursorp] - gapopen;
+!             testeg = iy[cursorp] - gapextend;
+!             testdg = ix[cursorp] - gapopen;
+              
+!             if(testog >= testeg && testog >= testdg)
+                  iy[cursor] = testog;
+-             else if(testeg >testdg)
+-                 iy[cursor] = testeg;
+              else
+!                 iy[cursor] = testdg;
+  
+              cursorp += lenb;
+-             
+-             testog = m[--cursorp] - gapopen;
+-             testeg = ix[cursorp] - gapextend;
+-             testdg = iy[cursorp] - gapopen;
+-             
+-             if(testog >= testeg && testog >= testdg)
+-                 ix[cursor] = testog;
+-             else if(testeg >testdg)
+-                 ix[cursor] = testeg;
+-             else
+-                 ix[cursor] = testdg;
+  
+!             
+!             mp = m[cursor];
+!             
+!             if(mp >= ix[cursor] && mp>=iy[cursor])
+!             {
+!                 path[cursor] = mp;
+!                 compass[cursor] = 0;
+!             }
+!             else if(ix[cursor]>=iy[cursor])
+              {
+!                 path[cursor] = ix[cursor];
+!                 compass[cursor] = 1;
+              }
+              else
+              {
+!                 path[cursor] = iy[cursor];
+!                 compass[cursor] = 2;
+              }
+  
+-             ++ypos;
+          }
+  
+!         ++xpos;
+      }
+  
+      if(show)
+!         printPathMatrix(path, compass, lena, lenb);
+  
+-     score = embAlignGetScoreNWMatrix(path, lena, lenb,
+-             start1, start2, endweight);
+      
+      return score;
+  }
+--- 263,513 ----
+  ******************************************************************************/
+  
+  float embAlignPathCalcWithEndGapPenalties(const char *a, const char *b,
+!                        ajint lena, ajint lenb,
+                         float gapopen, float gapextend,
+                         float endgapopen, float endgapextend,
+                         ajint *start1, ajint *start2,
+!                        float * const *sub, const AjPSeqCvt cvt,
+                         float *m, float *ix, float *iy,
+                         ajint *compass, AjBool show,
+                         AjBool endweight)
+  {
+!     ajint xpos;
+!     ajint ypos;
+      ajint bconvcode;
+      float match;
+      float ixp;
+      float iyp;
+      float mp;
+      ajint cursor;
+      ajint cursorp;
+! 
+      float testog;
+      float testeg;
+      float score;
++ 
+      
+      ajDebug("embAlignPathCalcWithEndGapPenalties\n");
+      
++     if (!endweight)
++     {
++ 	endgapopen=0;
++ 	endgapextend=0;
++ 	endweight=ajTrue;
++     }
++ 
+      match = sub[ajSeqcvtGetCodeK(cvt, a[0])][ajSeqcvtGetCodeK(cvt, b[0])];
+  
+!     ix[0] = -endgapopen-gapopen;
+!     iy[0] = -endgapopen-gapopen;
+!     m[0] = match;
+  
+!     cursor =0;
+  
+!     /* First initialise the first column */
+!     for (ypos = 1; ypos < lena; ++ypos)
+      {
+! 	match = sub[ajSeqcvtGetCodeK(cvt,a[ypos])][ajSeqcvtGetCodeK(cvt,b[0])];
+! 	cursor = ypos * lenb;
+! 	cursorp = (ypos-1) * lenb;
+  
+! 	testog = m[cursorp] - gapopen;
+! 	testeg = iy[cursorp] - gapextend;
+  
+! 	if(testog >= testeg)
+! 	    iy[cursor] = testog;
+! 	else
+! 	    iy[cursor] = testeg;
+  
+! 	m[cursor] = match - (endgapopen + (ypos - 1) * endgapextend);
+! 	ix[cursor] = -endgapopen - ypos * endgapextend - gapopen;
+      }
+  
+!     ix[cursor] -= endgapopen;
+!     ix[cursor] += gapopen;
+  
+!     cursor=0;
+  
+!     /* Now initialise the first row */
+!     for (xpos = 1; xpos < lenb; ++xpos)
+!     {
+! 	match = sub[ajSeqcvtGetCodeK(cvt,a[0])][ajSeqcvtGetCodeK(cvt,b[xpos])];
+! 	cursor = xpos;
+! 	cursorp = xpos -1;
+  
+! 	testog = m[cursorp] - gapopen;
+!         testeg = ix[cursorp] - gapextend;
+  
+!         if(testog >= testeg)
+!             ix[cursor] = testog;
+!         else
+!             ix[cursor] = testeg;
+! 
+! 	m[cursor] = match - (endgapopen + (xpos - 1) * endgapextend);
+! 	iy[cursor] = -endgapopen - xpos * endgapextend -gapopen;
+      }
+  
+!     iy[cursor] -= endgapopen;
+!     iy[cursor] += gapopen;
+! 
+      xpos = 1;
+  
++     /* Now construct match, ix, and iy matrices */
+      while (xpos != lenb)
+      {
+          ypos = 1;
+          bconvcode = ajSeqcvtGetCodeK(cvt, *++b);
+  
++         /* coordinates of the cells being processed */
++         cursorp = xpos-1;
++         cursor = xpos++;
++ 
+          while (ypos < lena)
+          {
+              /* get match for current xpos/ypos */
+!             match = sub[ajSeqcvtGetCodeK(cvt, a[ypos++])][bconvcode];
+  
+!             cursor += lenb;
+! 
+!             /* match matrix calculations */
+              mp = m[cursorp];
+              ixp = ix[cursorp];
+              iyp = iy[cursorp];
+  
+!             if(mp > ixp && mp > iyp)
+                  m[cursor] = mp+match;                     
+              else if(ixp > iyp)
+                  m[cursor] = ixp+match;
+              else
+                  m[cursor] = iyp+match;
+  
+!             /* iy matrix calculations */
+!             if(xpos==lenb)
+!             {
+!         	testog = m[++cursorp] - endgapopen;
+!         	testeg = iy[cursorp] - endgapextend;
+!             }
+!             else
+!             {
+!         	testog = m[++cursorp];
+!         	
+!         	if (testog<ix[cursorp])
+!         	    testog = ix[cursorp];
+!         	
+!         	testog -= gapopen;
+!         	testeg = iy[cursorp] - gapextend;
+!             }
+              
+!             if(testog > testeg)
+                  iy[cursor] = testog;
+              else
+!         	iy[cursor] = testeg;
+  
+              cursorp += lenb;
+  
+!             /* ix matrix calculations */
+!             if(ypos==lena)
+              {
+!         	testog = m[--cursorp] - endgapopen;
+!         	testeg = ix[cursorp] - endgapextend;
+              }
+              else
+              {
+!         	testog = m[--cursorp];
+!         	
+!         	if (testog<iy[cursorp])
+!         	    testog = iy[cursorp];
+!         	
+!         	testog -= gapopen;
+!         	testeg = ix[cursorp] - gapextend;
+              }
++             
++             if(testog > testeg )
++                 ix[cursor] = testog;
++             else
++         	ix[cursor] = testeg;
+  
+          }
++     }
++ 
++     score = embAlignGetScoreNWMatrix(ix, iy, m, lena, lenb,
++             start1, start2, endweight);
++ 
++     xpos = *start2;
++     ypos = *start1;
++ 
++     /* In the following loop the three matrices (m, ix, iy) are traced back
++      * and path/alignment decision/selection is made.
++      * 0 means match: go up and left in the matrix
++      * 1 means: go left in the matrix, i.e. gap in the first sequence(seq a)
++      * 2 means: go up in the matrix, i.e. gap in the second sequence(seq b)
++      */
++     cursorp=0;
++     cursor=1;
++     
++     while (xpos>=0 && ypos>=0)
++     {
++ 	cursor = ypos*lenb+xpos;
++ 	mp = m[cursor];
++ 
++ 	if(cursorp == LEFT && E_FPEQ((ypos==0||(ypos==lena-1)?
++ 		endgapextend:gapextend), (ix[cursor]-ix[cursor+1]),U_FEPS))
++ 	{
++ 	    compass[cursor] = LEFT;
++ 	    xpos--;
++ 	}
++ 	else if(cursorp== DOWN && E_FPEQ((xpos==0||(xpos==lenb-1)?
++ 		endgapextend:gapextend), (iy[cursor]-iy[cursor+lenb]),U_FEPS))
++ 	{
++ 	    compass[cursor] = DOWN;
++ 	    ypos--;
++ 	}
++ 	else if(mp >= ix[cursor] && mp>= iy[cursor])
++ 	{
++ 
++ 	    if(cursorp == LEFT && E_FPEQ(mp,ix[cursor],U_FEPS))
++ 	    {
++ 		compass[cursor] = LEFT;
++ 		xpos--;
++ 	    }
++ 	    else if(cursorp == DOWN && E_FPEQ(mp,iy[cursor],U_FEPS))
++ 	    {
++ 		compass[cursor] = DOWN;
++ 		ypos--;
++ 	    }
++ 	    else
++ 	    {
++ 		compass[cursor] = 0;
++ 		ypos--;
++ 		xpos--;
++ 	    }
+  
+! 	}
+! 	else if(ix[cursor]>=iy[cursor] && xpos>-1)
+! 	{
+! 	    compass[cursor] = LEFT;
+! 	    xpos--;
+! 	}
+! 	else if(ypos>-1)
+! 	{
+! 	    compass[cursor] = DOWN;
+! 	    ypos--;
+! 	}
+! 	else
+! 	{
+! 	    ajErr("something is seriously wrong in the traceback algorithm");
+! 	    ajExitAbort();
+! 	}
+! 	cursorp = compass[cursor];
+      }
+  
+      if(show)
+!     {
+!         printPathMatrix(m, compass, lena, lenb);
+!         printPathMatrix(ix, compass, lena, lenb);
+!         printPathMatrix(iy, compass, lena, lenb);
+!     }
+  
+      
+      return score;
+  }
+***************
+*** 2844,2852 ****
+  ** Returns score of the optimal global or overlap alignment for
+  ** the specified path matrix for Needleman Wunsch
+  **
+! ** @param [r] path [const float*] path matrix
+! ** @param [r] lena [ajint] length of first sequence
+! ** @param [r] lenb [ajint] length of second sequence
+  ** @param [w] start1 [ajint *] start of alignment in first sequence
+  ** @param [w] start2 [ajint *] start of alignment in second sequence
+  ** @param [r] endweight [AjBool] whether the matrix was built for
+--- 2886,2902 ----
+  ** Returns score of the optimal global or overlap alignment for
+  ** the specified path matrix for Needleman Wunsch
+  **
+! ** @param [r] ix [const float*] Gap scores array, ix(i,j) is the best score
+! **                              given that a(i) is aligned to a gap
+! **                              (in an insertion with respect to b)
+! ** @param [r] iy [const float*] Gap scores array, iy(i,j) is the best score
+! **                              given that b(i) is in an insertion
+! **                              with respect to a
+! **
+! ** @param [r] m [const float*] Match scores array, m(i,j) is the best score
+! **                             up to (i,j) given that a(i) is aligned to b(j)
+! ** @param [r] lena [ajint] length of the first sequence
+! ** @param [r] lenb [ajint] length of the second sequence
+  ** @param [w] start1 [ajint *] start of alignment in first sequence
+  ** @param [w] start2 [ajint *] start of alignment in second sequence
+  ** @param [r] endweight [AjBool] whether the matrix was built for
+***************
+*** 2855,2867 ****
+  ** @return [float] optimal score
+  ******************************************************************************/
+  
+! static float embAlignGetScoreNWMatrix(const float *path,
+          ajint lena, ajint lenb,
+          ajint *start1, ajint *start2,
+          AjBool endweight)
+  {
+!     ajint i,j;
+!     float score = FLT_MIN;
+      *start1 = lena-1;
+      *start2 = lenb-1;
+      
+--- 2905,2918 ----
+  ** @return [float] optimal score
+  ******************************************************************************/
+  
+! static float embAlignGetScoreNWMatrix(
+! 	const float *ix, const float *iy, const float *m,
+          ajint lena, ajint lenb,
+          ajint *start1, ajint *start2,
+          AjBool endweight)
+  {
+!     ajint i,j, cursor;
+!     float score = INT_MIN;
+      *start1 = lena-1;
+      *start2 = lenb-1;
+      
+***************
+*** 2869,2892 ****
+      {
+          /* when using end gap penalties the score of the optimal global
+           * alignment is stored in the final cell of the path matrix */
+!         score = path[lena * lenb - 1];
+      }
+      else {
+  
+          for (i = 0; i < lenb; ++i)
+!             if(path[(lena - 1) * lenb + i] > score)
+              {
+!                 *start2 = i;
+!                 score = path[(lena - 1) * lenb + i];
+              }
+  
+          for (j = 0; j < lena; ++j)
+!             if(path[j * lenb + lenb - 1] > score)
+              {
+!                 *start1 = j;
+!                 *start2 = lenb-1;
+!                 score = path[j * lenb + lenb - 1];
+              }
+      }
+      return score;
+  }
+--- 2920,2977 ----
+      {
+          /* when using end gap penalties the score of the optimal global
+           * alignment is stored in the final cell of the path matrix */
+! 	cursor = lena * lenb - 1;
+! 	if(m[cursor]>ix[cursor]&&m[cursor]>iy[cursor])
+! 	    score = m[cursor];
+! 	else if(ix[cursor]>iy[cursor])
+! 	    score = ix[cursor];
+! 	else
+! 	    score = iy[cursor];
+      }
+      else {
+  
+          for (i = 0; i < lenb; ++i)
+!         {
+!             cursor = (lena - 1) * lenb + i;
+!             if(m[cursor]>score)
+!             {
+!         	*start2 = i;
+!         	score = m[cursor];
+!             }
+!             if(ix[cursor]>score)
+!             {
+!         	score = ix[cursor];
+!         	*start2 = i;
+!             }
+!             if(iy[cursor]>score)
+              {
+!         	score = iy[cursor];
+!         	*start2 = i;
+              }
++         }
+  
+          for (j = 0; j < lena; ++j)
+!         {
+!             cursor = j * lenb + lenb - 1;
+!             if(m[cursor]>score)
+!             {
+!         	*start1 = j;
+!         	*start2 = lenb-1;
+!         	score = m[cursor];
+!             }
+!             if(ix[cursor]>score)
+              {
+!         	score = ix[cursor];
+!         	*start1 = j;
+!         	*start2 = lenb-1;
+              }
++             if(iy[cursor]>score)
++             {
++         	score = iy[cursor];
++         	*start1 = j;
++         	*start2 = lenb-1;
++             }
++         }
+      }
+      return score;
+  }
+diff -c -N --recursive -a EMBOSS-6.2.0old/nucleus/embaln.h EMBOSS-6.2.0/nucleus/embaln.h
+*** EMBOSS-6.2.0old/nucleus/embaln.h	2009-11-25 14:02:23.000000000 +0000
+--- EMBOSS-6.2.0/nucleus/embaln.h	2010-06-15 09:57:58.000000000 +0100
+***************
+*** 28,38 ****
+                         ajint *compass, AjBool show);
+  
+  float embAlignPathCalcWithEndGapPenalties(const char *a, const char *b,
+!                        ajuint lena, ajuint lenb,
+                         float gapopen, float gapextend,
+                         float endgapopen, float endgapextend,
+                         ajint *start1, ajint *start2,
+!                        float *path, float * const *sub, const AjPSeqCvt cvt,
+                         float *m, float *ix, float *iy,
+                         ajint *compass, AjBool show,
+                         AjBool endweight);
+--- 28,38 ----
+                         ajint *compass, AjBool show);
+  
+  float embAlignPathCalcWithEndGapPenalties(const char *a, const char *b,
+!                        ajint lena, ajint lenb,
+                         float gapopen, float gapextend,
+                         float endgapopen, float endgapextend,
+                         ajint *start1, ajint *start2,
+!                        float * const *sub, const AjPSeqCvt cvt,
+                         float *m, float *ix, float *iy,
+                         ajint *compass, AjBool show,
+                         AjBool endweight);
 diff -c -N --recursive -a EMBOSS-6.2.0old/nucleus/embpat.c EMBOSS-6.2.0/nucleus/embpat.c
 *** EMBOSS-6.2.0old/nucleus/embpat.c	2009-10-02 12:27:00.000000000 +0100
---- EMBOSS-6.2.0/nucleus/embpat.c	2010-03-02 09:34:07.000000000 +0000
+--- EMBOSS-6.2.0/nucleus/embpat.c	2010-06-15 09:56:47.000000000 +0100
 ***************
 *** 800,807 ****
   

-- 
The European Molecular Biology Open Software Suite.



More information about the Debian-med-packaging mailing list