Changeset 1578 for branches/ralph


Ignore:
Timestamp:
06/25/14 19:21:42 (10 years ago)
Author:
rkrimmel
Message:

Added Constants for the gap and unmatched symbol

Location:
branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees
Files:
1 added
7 edited

Legend:

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

    r1572 r1578  
    9797                // return (input1[i - 1] == input2[j - 1]) ? MATCH_SCORE : 
    9898                // MISMATCH_SCORE; 
    99                 return submat.getDistance(input1[i - 1], input2[j - 1]); 
     99                return submat.getScore(input1[i - 1], input2[j - 1]); 
    100100        } 
    101101 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/algorithms/SmithWatermanRepeated.java

    r1575 r1578  
    22 
    33import java.util.ArrayList; 
    4 import java.util.Iterator; 
    5 import java.util.LinkedList; 
    64import java.util.List; 
    75import java.util.logging.Level; 
    86 
    97import de.ugoe.cs.autoquest.tasktrees.alignment.matrix.SubstitutionMatrix; 
     8import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.Constants; 
    109import de.ugoe.cs.util.console.Console; 
    1110 
     
    7978         */ 
    8079        private double similarity(int i, int j) {  
    81                 return submat.getDistance(input1[i - 1], input2[j - 1]); 
     80                return submat.getScore(input1[i - 1], input2[j - 1]); 
    8281        } 
    8382 
     
    129128 
    130129                        } 
    131                          
    132130                                         
    133131                        tempMax -= scoreThreshold; 
     
    145143                        { 
    146144                                matrix[i][0].setXvalue(input1[i-1]); 
    147                                 matrix[i][0].setYvalue(-2); 
     145                                matrix[i][0].setYvalue(Constants.UNMATCHED_SYMBOL); 
    148146                        } 
    149147                        else {  
     
    161159 
    162160                                // find the directions that give the maximum scores. 
    163                                 // Multiple directions are ignored TODO 
     161                                // TODO: Multiple directions are ignored, we choose the first maximum score  
    164162                                //True if we had a match 
    165163                                if (diagScore == matrix[i][j].getScore()) { 
     
    171169                                if (leftScore == matrix[i][j].getScore()) { 
    172170                                        matrix[i][j].setXvalue(input1[i-1]); 
    173                                         matrix[i][j].setYvalue(-1); 
     171                                        matrix[i][j].setYvalue(Constants.GAP_SYMBOL); 
    174172                                        matrix[i][j].setPrevious(matrix[i-1][j]); 
    175173                                } 
    176174                                //true if we took an event from sequence y and not from x 
    177175                                if (upScore == matrix[i][j].getScore()) { 
    178                                         matrix[i][j].setXvalue(-1); 
     176                                        matrix[i][j].setXvalue(Constants.GAP_SYMBOL); 
    179177                                        matrix[i][j].setYvalue(input2[j-1]); 
    180178                                        matrix[i][j].setPrevious(matrix[i][j-1]); 
     
    184182                                        matrix[i][j].setPrevious(matrix[i][0]); 
    185183                                        matrix[i][j].setXvalue(input1[i-1]); 
    186                                         matrix[i][j].setYvalue(-2); 
     184                                        matrix[i][j].setYvalue(Constants.UNMATCHED_SYMBOL); 
    187185                                } 
    188186                        } 
     
    271269                        String append2=""; 
    272270                                         
    273                         if(tmp.getXvalue() == -1) { 
     271                        if(tmp.getXvalue() == Constants.GAP_SYMBOL) { 
    274272                                append1 = "  ___"; 
    275273                        } 
    276                         else if(tmp.getXvalue() == -2) { 
     274                        else if(tmp.getXvalue() == Constants.UNMATCHED_SYMBOL) { 
    277275                                append1 = "  ..."; 
    278276                        } 
     
    281279                        } 
    282280 
    283                         if(tmp.getYvalue() == -1) { 
     281                        if(tmp.getYvalue() == Constants.GAP_SYMBOL) { 
    284282                                append2 = "  ___"; 
    285283                        } 
    286                         else if(tmp.getYvalue() == -2) { 
     284                        else if(tmp.getYvalue() == Constants.UNMATCHED_SYMBOL) { 
    287285                                append2 = "  ..."; 
    288286                        } 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/DifferenceSubstitutionMatrix.java

    r1572 r1578  
    2929         * @see de.ugoe.cs.autoquest.plugin.alignment.SubstitutionMatrix#getDistance(int, int) 
    3030         */ 
    31         public double getDistance(int pos1, int pos2) { 
     31        public double getScore(int pos1, int pos2) { 
    3232                return maxValue - (input1[pos1] - input2[pos2]); 
    3333        } 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/NearbySubstitutionMatrix.java

    r1572 r1578  
    2929         * @see de.ugoe.cs.autoquest.plugin.alignment.SubstitutionMatrix#getDistance(int, int) 
    3030         */ 
    31         public double getDistance(int pos1, int pos2) { 
     31        public double getScore(int pos1, int pos2) { 
    3232                int difference = Math.abs(input1[pos1]-input2[pos2]);  
    3333                if(difference < range) { 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/ObjectDistanceSubstitionMatrix.java

    r1572 r1578  
    55import java.util.Iterator; 
    66 
    7  
    87import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElement; 
    98import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.AlignmentHelpers; 
     9import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.Constants; 
    1010import de.ugoe.cs.autoquest.tasktrees.treeifc.IEventTaskInstance; 
    1111import de.ugoe.cs.autoquest.tasktrees.treeifc.ITask; 
     
    4040        @Override 
    4141        public void generate() { 
     42         
    4243                int index = 0; 
    43                 //TODO We need to determine this parameter before generating the matrix.. 
    44                 //float meandistance = 18; 
    45                 //TODO We need to determine this parameter before generating the matrix.. 
     44                 
    4645                float maxDistance =34; 
    4746                for (Iterator<ITaskInstance> it = uniqueTasks.getSymbols().iterator(); it 
     
    5251                                eti1 = (IEventTaskInstance) obj1; 
    5352                        } 
    54                         //System.out.println(eti1.getTask().toString()); 
    5553                 
    5654                        for (Iterator<ITaskInstance> jt = uniqueTasks.getSymbols() 
     
    9795                                 
    9896                                matrix.set(tempindex1, tempindex2,distance); 
    99                                  
     97         
    10098                        } 
    10199                } 
    102                 //System.out.println("ObjectDistanceMatrix: MaxDistance: " + maxDistance); 
     100                 
    103101                //System.out.println(meandistance/(uniqueTasks.size()*uniqueTasks.size())); 
    104102                //System.out.println(idmapping.toString()); 
    105103                //System.out.println(matrix.toString()); 
     104                //System.out.println("ObjectDistanceMatrix: MaxDistance: " + maxDistance); 
    106105                //System.out.println(idmapping.keySet().toString()); 
    107106                //System.out.println(idmapping.values().toString()); 
     
    113112        } 
    114113 
    115         @Override 
    116         public double getDistance(int taskId1, int taskId2) { 
    117                 //System.out.println("Taskid1: " + taskId1 + " Taskid2: " + taskId2 + " Idmapping1: " + idmapping.get(taskId1) + " Idmapping2: " + idmapping.get(taskId2)); 
    118                 return matrix.get(idmapping.get(taskId1),idmapping.get(taskId2)); 
     114        public double getScore(int taskId1, int taskId2) { 
     115                if(taskId1 == Constants.GAP_SYMBOL || taskId1 == Constants.UNMATCHED_SYMBOL || taskId2 == Constants.GAP_SYMBOL || taskId2 == Constants.UNMATCHED_SYMBOL ) { 
     116                        return 0.0;  
     117                }  
     118                else { 
     119                        return matrix.get(idmapping.get(taskId1),idmapping.get(taskId2));        
     120                } 
     121                 
    119122        } 
    120123 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/SubstitutionMatrix.java

    r1572 r1578  
    66         
    77 
    8         public double getDistance(int pos1, int pos2); 
     8        public double getScore(int pos1, int pos2); 
    99 
    1010        public double getGapPenalty(); 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java

    r1576 r1578  
    6363 * </p> 
    6464 * <p> 
    65  * For determining the longest sequence occurring most often, the implementation 
    66  * uses a {@link Trie}. The depth of the tree is initially 3. If the algorithm 
    67  * has a longest sequence occurring most often whose length is equal to the 
    68  * depth of the trie, it recalculates the trie with an increased depth. 
    69  * </p> 
     65 
    7066 *  
    7167 * @author Patrick Harms 
     
    183179                                                        ns2.getSequence(), ns2.getSequence(), submat, 
    184180                                                        smithWatermanThreshold); 
    185                                          
    186181                                        SmithWatermanRepeated randomSequence = new SmithWatermanRepeated( 
    187182                                                        ns1.shuffle().getSequence(),ns2.shuffle().getSequence(),submat,smithWatermanThreshold); 
    188183                                         
     184                                        // Score of the aligmnment 
    189185                                        double score = twoSequences.getAlignmentScore(); 
    190                                         // Scores of the sequence being aligned to itself 
     186                                        // Scores of the sequence being aligned to itself (maximum score) 
    191187                                        double sSelf1 = sameSequence1.getAlignmentScore(); 
    192188                                        double sSelf2 = sameSequence2.getAlignmentScore(); 
    193  
     189                                        // Score of sequences shuffled before aligned   
    194190                                        double sRand = randomSequence.getAlignmentScore(); 
    195191 
     
    210206                        } 
    211207                } 
     208                //System.out.println(sequenceDistances.toString()); 
    212209                UPGMATree guidetree = new UPGMATree(numberseqs, sequenceDistances); 
    213210                 
     211         
    214212                /* 
    215213                do { 
    216                         System.out.println(); 
    217                         //FengDoolittle fd = new FengDoolittle(); 
    218214 
    219215                        // appData.getStopWatch().start("whole loop"); 
Note: See TracChangeset for help on using the changeset viewer.