Ignore:
Timestamp:
06/23/14 00:05:33 (10 years ago)
Author:
rkrimmel
Message:

Added parts of the PAL library, implemented UPGMA Algoritm for Feng Doolittle guide tree

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/algorithms/SmithWatermanRepeated.java

    r1568 r1572  
    22 
    33import java.util.ArrayList; 
     4import java.util.Iterator; 
     5import java.util.LinkedList; 
    46import java.util.List; 
    57 
    6 import de.ugoe.cs.autoquest.tasktrees.alignment.substitution.SubstitutionMatrix; 
    7  
    8 public class SmithWatermanRepeated implements Alignment { 
     8import de.ugoe.cs.autoquest.tasktrees.alignment.matrix.SubstitutionMatrix; 
     9 
     10public class SmithWatermanRepeated { 
    911 
    1012        /** 
     
    2931        private MatrixEntry[][] matrix; 
    3032 
    31          
     33 
     34        private List<NumberSequence> alignment; 
    3235         
    3336        private float scoreThreshold; 
     
    5053                 
    5154                matrix = new MatrixEntry[length1+2][length2+1]; 
     55                alignment = new ArrayList<NumberSequence>(); 
    5256                 
    5357                for (int i = 0; i <= length1+1; i++) { 
     
    218222        } 
    219223         
    220         public List<Match> traceback() { 
     224         
     225        public void traceback() { 
     226                MatrixEntry tmp = matrix[length1+1][0]; 
     227                 
     228                int aligned1[] = new int[length1+length2]; 
     229                int aligned2[] = new int[length1+length2]; 
     230                int count = 0; 
     231                do 
     232                {        
     233                        if(count != 0) 
     234                        { 
     235                                aligned1[count] = tmp.getXvalue(); 
     236                                aligned2[count] = tmp.getYvalue(); 
     237                        } 
     238                         
     239                        tmp = tmp.getPrevious(); 
     240                        count++; 
     241                         
     242                } while(tmp != null); 
     243 
     244                //reverse order 
     245                int reversed1[] = new int[count]; 
     246                int reversed2[] = new int[count]; 
     247                 
     248                for(int i = count; count > 0; count ++) { 
     249                         
     250                } 
     251                 
     252                NumberSequence ns1 = new NumberSequence(reversed1.length); 
     253                NumberSequence ns2 = new NumberSequence(reversed2.length); 
     254                ns1.setSequence(reversed1); 
     255                ns2.setSequence(reversed2); 
     256                 
     257                alignment.add(ns1); 
     258                alignment.add(ns2); 
     259        } 
     260         
     261        public void printAlignment() { 
    221262                MatrixEntry tmp = matrix[length1+1][0]; 
    222263                String aligned1 = ""; 
     
    259300                System.out.println(aligned1); 
    260301                System.out.println(aligned2); 
    261                 return null; 
    262302        } 
    263303         
     
    321361                return matchList; 
    322362        } 
     363         
     364 
     365        public List<NumberSequence> getAlignment() { 
     366                return alignment; 
     367        } 
     368 
     369        public void setAlignment(List<NumberSequence> alignment) { 
     370                this.alignment = alignment; 
     371        } 
    323372 
    324373} 
Note: See TracChangeset for help on using the changeset viewer.