Changeset 1586


Ignore:
Timestamp:
06/30/14 08:51:09 (10 years ago)
Author:
rkrimmel
Message:

Adding simple smith waterman and changing alignment algorithm creation to factory pattern

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

Legend:

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

    r1585 r1586  
    88import de.ugoe.cs.util.console.Console; 
    99 
    10 public class SmithWatermanRepeated { 
     10public class SmithWatermanRepeated implements AlignmentAlgorithm { 
    1111 
    1212        /** 
     
    208208        } 
    209209 
    210         /** 
    211          * Get the alignment score between the two input strings. 
    212          */ 
     210        /* (non-Javadoc) 
     211         * @see de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.AlignmentAlgorithm#getAlignmentScore() 
     212         */ 
     213        @Override 
    213214        public double getAlignmentScore() { 
    214215                return matrix[length1+1][0].getScore(); 
     
    328329 
    329330 
     331        /* (non-Javadoc) 
     332         * @see de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.AlignmentAlgorithm#getAlignment() 
     333         */ 
     334        @Override 
    330335        public ArrayList<NumberSequence> getAlignment() { 
    331336                return alignment; 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/BinaryAlignmentStorage.java

    r1585 r1586  
    22 
    33 
    4 import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.SmithWatermanRepeated; 
     4import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.AlignmentAlgorithm; 
    55 
    66public class BinaryAlignmentStorage { 
    77 
    8     private SmithWatermanRepeated[][] alignments; 
     8    private AlignmentAlgorithm[][] alignments; 
    99    UPGMAMatrix sequenceDistances; 
    1010    
    1111    public BinaryAlignmentStorage(int sizex, int sizey) { 
    12         alignments = new SmithWatermanRepeated[sizex+1][sizey+1]; 
     12        alignments = new AlignmentAlgorithm[sizex+1][sizey+1]; 
    1313        sequenceDistances = new UPGMAMatrix(Math.max(sizex,sizey)); 
    1414        sequenceDistances.initialize(Double.POSITIVE_INFINITY); 
    1515    } 
    1616     
    17     public void set(int i,int j,SmithWatermanRepeated sw) { 
     17    public void set(int i,int j,AlignmentAlgorithm sw) { 
    1818        alignments[i][j] = sw; 
    1919    } 
    2020     
    21     public SmithWatermanRepeated get(int i,int j) { 
     21    public AlignmentAlgorithm get(int i,int j) { 
    2222        return alignments[i][j]; 
    2323    } 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/pal/tree/FengDoolittleNode.java

    r1585 r1586  
    1111 
    1212import java.util.ArrayList; 
    13 import java.util.logging.Level; 
    14  
    1513import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.NumberSequence; 
    1614import de.ugoe.cs.autoquest.tasktrees.alignment.pal.misc.Identifier; 
    17 import de.ugoe.cs.util.console.Console; 
     15 
    1816 
    1917 
     
    374372                newNode.addChild(child2); 
    375373                newNode.setIdentifier(new Identifier(child1.getIdentifier().getName() + " " + child2.getIdentifier().getName())); 
    376                 //System.out.println("Merging " + child1.getIdentifier() + " with " + child2.getIdentifier()); 
    377374                 
    378375                return newNode; 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/pal/tree/UPGMAAligningTree.java

    r1585 r1586  
    1515 
    1616import java.util.ArrayList; 
    17 import java.util.Iterator; 
    1817import java.util.logging.Level; 
    1918 
     19import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.AlignmentAlgorithm; 
     20import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.AlignmentAlgorithmFactory; 
    2021import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.NumberSequence; 
    2122import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.SmithWatermanRepeated; 
     
    228229                                int maxIndex = 0; 
    229230                                for(int i=0;i<seqCount1;i++) { 
    230                                         tempStorage.set(i, 1, new SmithWatermanRepeated(node1.getSequence(i).getSequence(), node2.getSequence(0).getSequence() , submat, 5)); 
     231                                        tempStorage.set(i, 1, AlignmentAlgorithmFactory.create(node1.getSequence(i).getSequence(), node2.getSequence(0).getSequence() , submat, 5)); 
    231232                                        if(maxScore < tempStorage.get(i, 1).getAlignmentScore()) { 
    232233                                                maxScore = tempStorage.get(i, 1).getAlignmentScore(); 
     
    234235                                        } 
    235236                                } 
     237                                //if(maxScore > 0) 
    236238                                alignment.add(tempStorage.get(maxIndex, 1).getAlignment().get(1)); 
    237239                        } 
     
    243245                                int maxIndex = 0; 
    244246                                for(int i=0;i<seqCount2;i++) { 
    245                                         tempStorage.set(1, i, new SmithWatermanRepeated(node2.getSequence(i).getSequence(), node1.getSequence(0).getSequence() , submat, 5)); 
     247                                        tempStorage.set(1, i, AlignmentAlgorithmFactory.create(node2.getSequence(i).getSequence(), node1.getSequence(0).getSequence() , submat, 5)); 
    246248                                        if(maxScore < tempStorage.get(1, i).getAlignmentScore()) { 
    247249                                                maxScore = tempStorage.get(1, i).getAlignmentScore(); 
     
    249251                                        } 
    250252                                } 
     253                                //if(maxScore > 0) 
    251254                                alignment.add(tempStorage.get(1,maxIndex).getAlignment().get(1)); 
    252255                        } 
     
    261264                                        for(int i=0;i<seqCount1;i++) { 
    262265                                                for(int j=0;j<seqCount2;j++) { 
    263                                                         tempStorage1.set(j, 0, new SmithWatermanRepeated(node1.getSequence(i).getSequence(), node2.getSequence(j).getSequence() , submat, 5)); 
     266                                                        tempStorage1.set(j, 0, AlignmentAlgorithmFactory.create(node1.getSequence(i).getSequence(), node2.getSequence(j).getSequence() , submat, 5)); 
    264267                                                        if(maxScore1 < tempStorage1.get(j, 0).getAlignmentScore()) { 
    265268                                                                maxScore1 = tempStorage1.get(j, 0).getAlignmentScore(); 
     
    267270                                                        } 
    268271                                                } 
     272                                                //if(maxScore1 > 0) 
    269273                                                alignment.add(tempStorage1.get(maxIndex1,0).getAlignment().get(0)); 
    270274                                        } 
    271275                                        for(int i=0; i<seqCount2;i++) { 
    272276                                                for (int j=0;j<seqCount1;j++) { 
    273                                                         tempStorage2.set(j, 0, new SmithWatermanRepeated(node2.getSequence(i).getSequence(),node1.getSequence(j).getSequence(),submat,5)); 
     277                                                        tempStorage2.set(j, 0, AlignmentAlgorithmFactory.create(node2.getSequence(i).getSequence(),node1.getSequence(j).getSequence(),submat,5)); 
    274278                                                        if(maxScore2 < tempStorage2.get(j, 0).getAlignmentScore()) { 
    275279                                                                maxScore2 = tempStorage2.get(j, 0).getAlignmentScore(); 
     
    277281                                                        } 
    278282                                                } 
     283                                                //if(maxScore2 > 0) 
    279284                                                alignment.add(tempStorage2.get(maxIndex2,0).getAlignment().get(0)); 
    280285                                        } 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java

    r1585 r1586  
    2626import java.util.logging.Level; 
    2727 
     28import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.AlignmentAlgorithm; 
     29import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.AlignmentAlgorithmFactory; 
    2830import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.NumberSequence; 
    2931import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.SmithWatermanRepeated; 
     
    170172                                        int smithWatermanThreshold = 10; 
    171173 
    172                                         alignments.set(i, j,new SmithWatermanRepeated( 
     174                                        alignments.set(i, j,AlignmentAlgorithmFactory.create( 
    173175                                                        ns1.getSequence(), ns2.getSequence(), submat, 
    174176                                                        smithWatermanThreshold)); 
    175                                         SmithWatermanRepeated sameSequence1 = new SmithWatermanRepeated( 
     177                                        AlignmentAlgorithm sameSequence1 = AlignmentAlgorithmFactory.create( 
    176178                                                        ns1.getSequence(), ns1.getSequence(), submat, 
    177179                                                        smithWatermanThreshold); 
    178                                         SmithWatermanRepeated sameSequence2 = new SmithWatermanRepeated( 
     180                                        AlignmentAlgorithm sameSequence2 = AlignmentAlgorithmFactory.create( 
    179181                                                        ns2.getSequence(), ns2.getSequence(), submat, 
    180182                                                        smithWatermanThreshold); 
    181                                         SmithWatermanRepeated randomSequence = new SmithWatermanRepeated( 
     183                                        AlignmentAlgorithm randomSequence = AlignmentAlgorithmFactory.create( 
    182184                                                        ns1.shuffle().getSequence(),ns2.shuffle().getSequence(),submat,smithWatermanThreshold); 
    183185                                         
Note: See TracChangeset for help on using the changeset viewer.