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

Location:
branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees
Files:
2 deleted
9 edited
1 copied
1 moved

Legend:

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

    r1557 r1572  
    11package de.ugoe.cs.autoquest.tasktrees.alignment.algorithms; 
    22 
    3 import de.ugoe.cs.autoquest.tasktrees.alignment.substitution.TriangleMatrix; 
     3import de.ugoe.cs.autoquest.tasktrees.alignment.matrix.TriangleMatrix; 
    44 
    55public class FengDoolittle { 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/algorithms/SmithWaterman.java

    r1558 r1572  
    44import java.util.List; 
    55 
    6 import de.ugoe.cs.autoquest.tasktrees.alignment.substitution.SubstitutionMatrix; 
    7  
    8 public class SmithWaterman implements Alignment { 
     6import de.ugoe.cs.autoquest.tasktrees.alignment.matrix.SubstitutionMatrix; 
     7 
     8public class SmithWaterman { 
    99 
    1010        /** 
  • 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} 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/DifferenceSubstitutionMatrix.java

    r1568 r1572  
    22 *  
    33 */ 
    4 package de.ugoe.cs.autoquest.tasktrees.alignment.substitution; 
     4package de.ugoe.cs.autoquest.tasktrees.alignment.matrix; 
    55 
    66import java.util.Collection; 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/NearbySubstitutionMatrix.java

    r1568 r1572  
    22 *  
    33 */ 
    4 package de.ugoe.cs.autoquest.tasktrees.alignment.substitution; 
     4package de.ugoe.cs.autoquest.tasktrees.alignment.matrix; 
    55 
    66import java.util.Collection; 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/ObjectDistanceSubstitionMatrix.java

    r1570 r1572  
    1 package de.ugoe.cs.autoquest.tasktrees.alignment.substitution; 
     1package de.ugoe.cs.autoquest.tasktrees.alignment.matrix; 
    22 
    33 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/SubstitutionMatrix.java

    r1570 r1572  
    1 package de.ugoe.cs.autoquest.tasktrees.alignment.substitution; 
     1package de.ugoe.cs.autoquest.tasktrees.alignment.matrix; 
    22 
    33 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/TriangleMatrix.java

    r1570 r1572  
    1 package de.ugoe.cs.autoquest.tasktrees.alignment.substitution; 
     1package de.ugoe.cs.autoquest.tasktrees.alignment.matrix; 
    22 
    33public class TriangleMatrix { 
    44         
    55        private double[] matrix; 
    6         private int size; 
     6        protected int size; 
    77         
    88         
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/UPGMAMatrix.java

    r1571 r1572  
    1 package de.ugoe.cs.autoquest.tasktrees.alignment.substitution; 
     1package de.ugoe.cs.autoquest.tasktrees.alignment.matrix; 
    22 
    3 public class FitchMargoliashMatrix extends TriangleMatrix { 
     3import de.ugoe.cs.autoquest.tasktrees.alignment.pal.misc.Identifier; 
    44 
    5         public FitchMargoliashMatrix(int size) { 
     5 
     6public class UPGMAMatrix extends TriangleMatrix { 
     7 
     8        public UPGMAMatrix(int size) { 
    69                super(size); 
    710        } 
    8          
    9          
     11 
     12        public int size() { 
     13                return size; 
     14        } 
     15 
     16        public String toString() { 
     17                String result = ""; 
     18                for (int i = 0; i < size; i++) { 
     19                        result = result + String.format("%8d", i); 
     20                } 
     21                result += "\n"; 
     22                 
     23                for (int i = 0; i < size; i++) { 
     24                        for(int j = 0; j< size; j++) { 
     25                                if(i<j) { 
     26                                        if(Double.isInfinite(this.get(i,j))) { 
     27                                                result = result + " -------"; 
     28                                        } 
     29                                        else { 
     30                                                result = result + String.format("%+8.2f",this.get(i,j)); 
     31                                        } 
     32                                } 
     33                                else { 
     34                                        result = result + ("        "); 
     35                                } 
     36                        } 
     37                        result = result + "   " + i + "\n"; 
     38                } 
     39                return result; 
     40        } 
     41 
    1042         
    1143 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java

    r1570 r1572  
    1515package de.ugoe.cs.autoquest.tasktrees.temporalrelation; 
    1616 
     17import java.io.File; 
     18import java.io.FileNotFoundException; 
     19import java.io.PrintWriter; 
    1720import java.util.ArrayList; 
    1821import java.util.HashMap; 
     
    2831import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.NumberSequence; 
    2932import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.SmithWatermanRepeated; 
    30 import de.ugoe.cs.autoquest.tasktrees.alignment.substitution.ObjectDistanceSubstitionMatrix; 
    31 import de.ugoe.cs.autoquest.tasktrees.alignment.substitution.TriangleMatrix; 
     33import de.ugoe.cs.autoquest.tasktrees.alignment.matrix.ObjectDistanceSubstitionMatrix; 
     34import de.ugoe.cs.autoquest.tasktrees.alignment.matrix.TriangleMatrix; 
     35import de.ugoe.cs.autoquest.tasktrees.alignment.matrix.UPGMAMatrix; 
     36import de.ugoe.cs.autoquest.tasktrees.alignment.pal.tree.UPGMATree; 
    3237import de.ugoe.cs.autoquest.tasktrees.taskequality.TaskEquality; 
    3338import de.ugoe.cs.autoquest.tasktrees.treeifc.IIteration; 
     
    161166                submat.generate(); 
    162167 
    163                 TriangleMatrix sequenceDistances = new TriangleMatrix(numberseqs.size()); 
     168                UPGMAMatrix sequenceDistances = new UPGMAMatrix(numberseqs.size()); 
    164169                sequenceDistances.initialize(Double.POSITIVE_INFINITY); 
    165170 
     
    186191                                        SmithWatermanRepeated randomSequence = new SmithWatermanRepeated( 
    187192                                                        ns1.shuffle().getSequence(),ns2.shuffle().getSequence(),submat,smithWatermanThreshold); 
    188                                         //randomSequence.printDPMatrix(); 
    189                                         //randomSequence.traceback(); 
    190193                                         
    191194                                        double score = twoSequences.getAlignmentScore(); 
     
    235238                } 
    236239                System.out.println(sequenceDistances.toString()); 
     240                UPGMATree guidetree = new UPGMATree(numberseqs, sequenceDistances); 
     241                System.out.println(guidetree.toString()); 
    237242                 
    238243                do { 
Note: See TracChangeset for help on using the changeset viewer.