Ignore:
Timestamp:
06/18/14 21:24:30 (11 years ago)
Author:
rkrimmel
Message:

Adding FitchMargaliash? Class

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

Legend:

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

    r1568 r1570  
    11package de.ugoe.cs.autoquest.tasktrees.alignment.substitution; 
    22 
    3 import java.util.ArrayList; 
    4 import java.util.Collection; 
     3 
    54import java.util.HashMap; 
    65import java.util.Iterator; 
    76 
    8 import de.ugoe.cs.autoquest.eventcore.guimodel.GUIModel; 
     7 
    98import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElement; 
    10  
    11 import java.util.List; 
    12  
    13 import de.ugoe.cs.autoquest.eventcore.Event; 
    149import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.AlignmentHelpers; 
    1510import de.ugoe.cs.autoquest.tasktrees.treeifc.IEventTaskInstance; 
    1611import de.ugoe.cs.autoquest.tasktrees.treeifc.ITask; 
    1712import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskInstance; 
    18 import de.ugoe.cs.autoquest.tasktrees.treeifc.IUserSession; 
    1913import de.ugoe.cs.autoquest.usageprofiles.SymbolMap; 
    20 import de.ugoe.cs.util.console.GlobalDataContainer; 
     14 
    2115 
    2216public class ObjectDistanceSubstitionMatrix implements SubstitutionMatrix { 
     
    9286                                } 
    9387                                float distance = -1*AlignmentHelpers.distanceBetween(first, second); 
    94                                 //meandistance += distance; 
     88                         
    9589                         
    9690                                if(distance > maxDistance){ 
     
    9892                                } 
    9993                                 
    100                                 distance += 5; 
     94                                distance += positiveThreshold; 
    10195                                 
    102                                 //if (distance < positiveThreshold) { 
    103                                 //      distance = -1*distance; 
    104                                 //} 
     96 
    10597                                 
    10698                                matrix.set(tempindex1, tempindex2,distance); 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/substitution/SubstitutionMatrix.java

    r1568 r1570  
    11package de.ugoe.cs.autoquest.tasktrees.alignment.substitution; 
    22 
    3 import java.util.Collection; 
    4 import java.util.List; 
    5  
    6 import de.ugoe.cs.autoquest.eventcore.Event; 
    7 import de.ugoe.cs.autoquest.tasktrees.treeifc.IUserSession; 
    83 
    94 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/substitution/TriangleMatrix.java

    r1569 r1570  
    55        private double[] matrix; 
    66        private int size; 
     7         
     8         
    79         
    810        public TriangleMatrix(int size) { 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java

    r1568 r1570  
    2727import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.FengDoolittle; 
    2828import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.NumberSequence; 
    29 import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.SmithWaterman; 
    3029import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.SmithWatermanRepeated; 
    3130import de.ugoe.cs.autoquest.tasktrees.alignment.substitution.ObjectDistanceSubstitionMatrix; 
     
    163162 
    164163                TriangleMatrix sequenceDistances = new TriangleMatrix(numberseqs.size()); 
     164                sequenceDistances.initialize(Double.POSITIVE_INFINITY); 
    165165 
    166166                for (int i = 0; i < numberseqs.size(); i++) { 
     
    190190                                         
    191191                                        double score = twoSequences.getAlignmentScore(); 
    192                                         // Scores of the sequence beeing aligned to itself 
     192                                        // Scores of the sequence being aligned to itself 
    193193                                        double sSelf1 = sameSequence1.getAlignmentScore(); 
    194194                                        double sSelf2 = sameSequence2.getAlignmentScore(); 
     
    198198                                        double sMax = (sSelf1 + sSelf2) / 2; 
    199199                                        double sEff = (score - sRand)/ (sMax - sRand); 
     200                                        if(sEff < 0) { 
     201                                                sEff = 0; 
     202                                        } 
    200203                                        double distance = -Math.log(sEff); 
    201                                  
    202                                         System.out.println("Score: " + score + " sRand: " + sRand + " sMax: " + sMax + " sEff: " + sEff + " distance: " + distance); 
    203204                                         
    204                                         sequenceDistances.set(i,j,distance ); 
     205                                         
     206                                        if(!Double.isInfinite(distance) && !Double.isNaN(distance)) { 
     207                                                //System.out.println("Score: " + String.format("%5.1f", score) + " sRand: " + String.format("%5.1f", sRand) + " sMax: " + String.format("%6.1f", sMax)  + " distance: " + String.format("%2.3f",distance)); 
     208                                                if(distance < sequenceDistances.get(i, j)) {     
     209                                                        sequenceDistances.set(i,j,distance ); 
     210                                                } 
     211                                        } 
    205212 
    206213                                        if (score > 0) { 
     
    227234                        } 
    228235                } 
    229                 //System.out.println(sequenceDistances.toString()); 
     236                System.out.println(sequenceDistances.toString()); 
    230237                 
    231238                do { 
    232239                        System.out.println(); 
    233                         FengDoolittle fd = new FengDoolittle(); 
     240                        //FengDoolittle fd = new FengDoolittle(); 
    234241 
    235242                        // appData.getStopWatch().start("whole loop"); 
Note: See TracChangeset for help on using the changeset viewer.