Changeset 1583


Ignore:
Timestamp:
06/26/14 23:34:58 (10 years ago)
Author:
rkrimmel
Message:

Small fixes and comments.

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

Legend:

Unmodified
Added
Removed
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/pal/tree/FengDoolittleNode.java

    r1580 r1583  
    1111 
    1212import java.util.ArrayList; 
     13import java.util.logging.Level; 
    1314 
    1415import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.NumberSequence; 
    1516import de.ugoe.cs.autoquest.tasktrees.alignment.pal.misc.Identifier; 
     17import de.ugoe.cs.util.console.Console; 
    1618 
    1719 
    1820/** 
    19  * data structure for a node (includes branch) in a binary/non-binary 
    20  * rooted/unrooted tree 
    2121 * 
    2222 * @version $Id: SimpleNode.java,v 1.20 2002/01/14 04:16:53 matt Exp $ 
     
    377377                 
    378378                if(newNode instanceof FengDoolittleNode) { 
    379                         ((FengDoolittleNode) newNode).alignSequences(); 
     379                        newNode.setSequences(((FengDoolittleNode) newNode).alignSequences()); 
    380380                } 
    381381                 
     
    397397 
    398398 
    399         private void alignSequences() { 
     399        private ArrayList<NumberSequence> alignSequences() { 
     400                ArrayList<NumberSequence> alignment = new ArrayList<NumberSequence>(); 
    400401                if(this.getChildCount()<3) { 
    401402                         
     
    406407                        int seqCount2 = node2.getSequences().size(); 
    407408                         
     409                        //Align 2 sequences 
     410                        if(seqCount1 == 1 && seqCount2 == 1) { 
     411                        } 
     412                        //Align a sequence to a group 
     413                        else if( seqCount1 > 1 && seqCount2 == 1) { 
    408414                         
    409                          
     415                        } 
     416                        //Align a sequence to a group 
     417                        else if(seqCount1 == 1 && seqCount2 > 1) { 
     418                                 
     419                        } 
     420                        //Align 2 groups 
     421                        else if((seqCount1 > 1) && (seqCount2 > 1)){ 
     422                                         
     423                        } 
     424                        else { 
     425                                Console.traceln(Level.INFO,"No sequences to align while merging two nodes."); 
     426                        } 
    410427                } 
    411428                else { 
    412                         System.out.println("This should never happen, it's a binary tree."); 
    413                 } 
    414                  
    415         } 
    416  
     429                        Console.traceln(Level.WARNING,"More than 2 children! This should never happen, it's a binary tree."); 
     430                } 
     431                return alignment; 
     432        } 
     433 
     434        public void setSequences(ArrayList<NumberSequence> alignSequences) { 
     435                this.sequences = alignSequences; 
     436        } 
    417437         
    418438} 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/pal/tree/Node.java

    r1580 r1583  
    138138        void addSequence(NumberSequence numberSequence); 
    139139 
     140        void setSequences(ArrayList<NumberSequence> alignSequences); 
     141 
     142 
     143 
     144 
    140145 
    141146         
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java

    r1580 r1583  
    160160                UPGMAMatrix sequenceDistances = new UPGMAMatrix(numberseqs.size()); 
    161161                sequenceDistances.initialize(Double.POSITIVE_INFINITY); 
     162                 
     163                //Save the alignments so we do not need to recalculate those when aligning them again in feng doolittle algorithm 
     164                SmithWatermanRepeated[][] alignments = new SmithWatermanRepeated[numberseqs.size()][numberseqs.size()];  
    162165 
    163166                for (int i = 0; i < numberseqs.size(); i++) { 
     
    169172                                        int smithWatermanThreshold = 10; 
    170173 
    171                                         SmithWatermanRepeated twoSequences = new SmithWatermanRepeated( 
     174                                        alignments[i][j] = new SmithWatermanRepeated( 
    172175                                                        ns1.getSequence(), ns2.getSequence(), submat, 
    173176                                                        smithWatermanThreshold); 
     
    182185                                         
    183186                                        // Score of the aligmnment 
    184                                         double score = twoSequences.getAlignmentScore(); 
     187                                        double score = alignments[i][j].getAlignmentScore(); 
    185188                                        // Scores of the sequence being aligned to itself (maximum score) 
    186189                                        double sSelf1 = sameSequence1.getAlignmentScore(); 
Note: See TracChangeset for help on using the changeset viewer.