Index: /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/algorithms/NeedlemanWunsch.java
===================================================================
--- /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/algorithms/NeedlemanWunsch.java	(revision 1614)
+++ /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/algorithms/NeedlemanWunsch.java	(revision 1615)
@@ -154,5 +154,5 @@
 		LinkedList<Integer> aligned1 = new LinkedList<Integer>();
 		LinkedList<Integer> aligned2 = new LinkedList<Integer>();
-		do {
+		while (tmp.getPrevious() != null) {
 			
 			aligned1.add(new Integer(tmp.getXvalue()));
@@ -160,6 +160,5 @@
 
 			tmp = tmp.getPrevious();
-
-		} while (tmp != null);
+		} 
 		
 		// reverse order of the alignment
@@ -168,5 +167,5 @@
 
 		int count = 0;
-		for (Iterator<Integer> it = aligned1.descendingIterator(); it.hasNext();) {
+		for (Iterator<Integer> it = aligned1.iterator(); it.hasNext();) {
 			count++;
 			reversed1[reversed1.length - count] = it.next();
@@ -174,5 +173,5 @@
 		}
 		count = 0;
-		for (Iterator<Integer> it = aligned2.descendingIterator(); it.hasNext();) {
+		for (Iterator<Integer> it = aligned2.iterator(); it.hasNext();) {
 			count++;
 			reversed2[reversed2.length - count] = it.next();
Index: /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/ObjectDistanceSubstitionMatrix.java
===================================================================
--- /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/ObjectDistanceSubstitionMatrix.java	(revision 1614)
+++ /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/ObjectDistanceSubstitionMatrix.java	(revision 1615)
@@ -21,4 +21,5 @@
 	private SymbolMap<ITaskInstance, ITask> uniqueTasks;
 	private double gapPenalty; 
+	
 	private double positiveThreshold;
 	
@@ -29,14 +30,17 @@
 		idmapping = new HashMap<Integer, Integer>();
 		matrix = new TriangleMatrix(uniqueTasks.size()+1);
-		gapPenalty = -2;
+		gapPenalty = -3;
 		
 	}
 
-	@Override
+
 	public double getGapPenalty() {
 		return gapPenalty;
 	}
+	
+	public void setGapPenalty(double gapPenalty) {
+		this.gapPenalty = gapPenalty;
+	}
 
-	@Override
 	public void generate() {
 	
Index: /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java
===================================================================
--- /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java	(revision 1614)
+++ /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java	(revision 1615)
@@ -170,5 +170,8 @@
 			}
 		}
+		
 		AlignmentAlgorithmFactory.setDefaultAlgorithm("de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.NeedlemanWunsch");
+		
+		
 		PairwiseAlignmentStorage matchAlignments = PairwiseAlignmentGenerator.generate(numberseqs, submat);
 		UPGMAAligningTree guidetree = new UPGMAAligningTree(matchseqs,matchAlignments,submat);
