Changeset 1620 for branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/algorithms/SmithWatermanRepeated.java
- Timestamp:
- 07/23/14 18:18:11 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/algorithms/SmithWatermanRepeated.java
r1619 r1620 231 231 ns1.setSequence(reversed1); 232 232 ns2.setSequence(reversed2); 233 234 alignment.add(ns1); 235 alignment.add(ns2); 233 ns1.setId(alignment.get(0).getId()); 234 ns2.setId(alignment.get(1).getId()); 235 236 alignment.set(0, ns1); 237 alignment.set(1, ns2); 236 238 } 237 239 … … 272 274 } 273 275 274 public ArrayList< ArrayList<NumberSequence>> getMatches() {275 ArrayList< ArrayList<NumberSequence>> result = new ArrayList<ArrayList<NumberSequence>>();276 public ArrayList<Match> getMatches() { 277 ArrayList<Match> result = new ArrayList<Match>(); 276 278 277 279 //both alignment sequences should be equally long … … 288 290 count++; 289 291 } 290 //I am really missing memcpy here 292 //I am really missing memcpy here? How does one do this better in java? 291 293 int[] tmp1 = new int[count]; 292 294 int[] tmp2 = new int[count]; … … 299 301 tmpns1.setSequence(tmp1); 300 302 tmpns2.setSequence(tmp2); 301 ArrayList<NumberSequence> tmpal = new ArrayList<NumberSequence>(); 302 tmpal.add(tmpns1); 303 tmpal.add(tmpns2); 303 Match tmpal = new Match(); 304 tmpal.setFirstSequence(tmpns1); 305 tmpal.setSecondSequence(tmpns2); 306 tmpal.addOccurence(new MatchOccurence(start,alignment.get(0).getId())); 307 tmpal.addOccurence(new MatchOccurence(start,alignment.get(1).getId())); 304 308 result.add(tmpal); 305 309 } 306 310 i++; 307 311 } 308 309 310 311 312 313 314 312 return result; 315 316 313 } 317 314 … … 354 351 355 352 @Override 356 public void align( int[] input1, int[]input2, SubstitutionMatrix submat,353 public void align(NumberSequence input1, NumberSequence input2, SubstitutionMatrix submat, 357 354 float threshold) { 358 this.input1 = input1; 359 this.input2 = input2; 360 length1 = input1.length; 361 length2 = input2.length; 355 356 alignment = new ArrayList<NumberSequence>(); 357 alignment.add(input1); 358 alignment.add(input2); 359 360 this.input1=input1.getSequence(); 361 this.input2=input2.getSequence(); 362 363 length1 = input1.size(); 364 length2 = input2.size(); 362 365 this.submat = submat; 363 366 … … 367 370 368 371 matrix = new MatrixEntry[length1+2][length2+1]; 369 alignment = new ArrayList<NumberSequence>();372 370 373 371 374 for (int i = 0; i <= length1+1; i++) {
Note: See TracChangeset
for help on using the changeset viewer.