Ignore:
Timestamp:
07/09/14 12:13:13 (10 years ago)
Author:
rkrimmel
Message:

Refactoring and code cleanup

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java

    r1588 r1589  
    2929import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.AlignmentAlgorithmFactory; 
    3030import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.NumberSequence; 
    31 import de.ugoe.cs.autoquest.tasktrees.alignment.matrix.BinaryAlignmentStorage; 
     31import de.ugoe.cs.autoquest.tasktrees.alignment.matrix.PairwiseAlignmentGenerator; 
     32import de.ugoe.cs.autoquest.tasktrees.alignment.matrix.PairwiseAlignmentStorage; 
    3233import de.ugoe.cs.autoquest.tasktrees.alignment.matrix.ObjectDistanceSubstitionMatrix; 
    3334import de.ugoe.cs.autoquest.tasktrees.alignment.pal.tree.UPGMAAligningTree; 
     
    158159                submat.generate(); 
    159160 
     161                 
     162                PairwiseAlignmentStorage alignments = PairwiseAlignmentGenerator.generate(numberseqs,submat); 
    160163         
    161                 BinaryAlignmentStorage alignments = new BinaryAlignmentStorage(numberseqs.size(),numberseqs.size()); 
    162  
    163  
    164                 for (int i = 0; i < numberseqs.size(); i++) { 
    165                         NumberSequence ns1 = numberseqs.get(i); 
    166                         for (int j = 0; j < numberseqs.size(); j++) { 
    167                                 NumberSequence ns2 = numberseqs.get(j); 
    168  
    169                                 if (i != j) { 
    170                                         int smithWatermanThreshold = 10; 
    171  
    172                                         alignments.set(i, j,AlignmentAlgorithmFactory.create( 
    173                                                         ns1.getSequence(), ns2.getSequence(), submat, 
    174                                                         smithWatermanThreshold)); 
    175                                         AlignmentAlgorithm sameSequence1 = AlignmentAlgorithmFactory.create( 
    176                                                         ns1.getSequence(), ns1.getSequence(), submat, 
    177                                                         smithWatermanThreshold); 
    178                                         AlignmentAlgorithm sameSequence2 = AlignmentAlgorithmFactory.create( 
    179                                                         ns2.getSequence(), ns2.getSequence(), submat, 
    180                                                         smithWatermanThreshold); 
    181                                         AlignmentAlgorithm randomSequence = AlignmentAlgorithmFactory.create( 
    182                                                         ns1.shuffle().getSequence(),ns2.shuffle().getSequence(),submat,smithWatermanThreshold); 
    183                                          
    184                                         // Score of the aligmnment 
    185                                         double score = alignments.get(i,j).getAlignmentScore(); 
    186                                         // Scores of the sequence being aligned to itself (maximum score) 
    187                                         double sSelf1 = sameSequence1.getAlignmentScore(); 
    188                                         double sSelf2 = sameSequence2.getAlignmentScore(); 
    189                                         // Score of sequences shuffled before aligned   
    190                                         double sRand = randomSequence.getAlignmentScore(); 
    191  
    192                                         double sMax = (sSelf1 + sSelf2) / 2; 
    193                                         double sEff = (score - sRand)/ (sMax - sRand); 
    194                                         if(sEff < 0) { 
    195                                                 sEff = 0; 
    196                                         } 
    197                                         double distance = -Math.log(sEff); 
    198                                          
    199                                          
    200                                         if(!Double.isInfinite(distance) && !Double.isNaN(distance)) { 
    201                                                 if(distance < alignments.getDistance(i, j)) {    
    202                                                         alignments.setDistance(i,j,distance ); 
    203                                                 } 
    204                                         } 
    205                                 } 
    206                         } 
    207                 } 
    208                 //alignments.get(20, 47).printDPMatrix(); 
    209                 //alignments.get(20, 47).printAlignment(); 
    210164                 
    211165                System.out.println(alignments.getDistanceMatrix()); 
    212                 UPGMAAligningTree guidetree = new UPGMAAligningTree(numberseqs, alignments,submat); 
    213                 System.out.println("Number of sequences in root node: " + guidetree.getRoot().getSequences().size()); 
    214                 for (Iterator<NumberSequence> it =  guidetree.getRoot().getSequences().iterator(); it.hasNext();) { 
    215                         NumberSequence tmp  = it.next(); 
    216                         tmp.printSequence(); 
    217                 } 
     166                //UPGMAAligningTree guidetree = new UPGMAAligningTree(numberseqs, alignments,submat); 
     167                 
     168                 
    218169                 
    219170         
Note: See TracChangeset for help on using the changeset viewer.