///* // * Genoogle: Similar DNA Sequences Searching Engine and Tools. (http://genoogle.pih.bio.br) // * Copyright (C) 2008,2009 Felipe Fernandes Albrecht (felipe.albrecht@gmail.com) // * // * For further information check the LICENSE file. // */ // //package bio.pih.genoogle.tests; // //import junit.framework.TestCase; //import bio.pih.genoogle.encoder.SequenceEncoder; //import bio.pih.genoogle.encoder.SequenceEncoderFactory; //import bio.pih.genoogle.search.ExtendSequences; //import bio.pih.genoogle.seq.DNAAlphabet; //import bio.pih.genoogle.seq.LightweightSymbolList; // // ///** // * TODO: Create version where the input arent SymbolList, but String. // */ //public class ExtendAlignmentTest extends TestCase { // // private static final int EXTENSTION_DROPOFF = 5; // private static final int SUB_SEQUENCE_LENGTH = 11; // private static final SequenceEncoder ENCODER = SequenceEncoderFactory.getEncoder(DNAAlphabet.SINGLETON, SUB_SEQUENCE_LENGTH); // // public void testExtendOne() throws Exception { // int[] encoded_1_g = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("G")); // int[] encoded_2_g = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("G")); // // ExtendSequences extension = ExtendSequences.doExtension(encoded_1_g, 0, 0, encoded_2_g, 0, 0, EXTENSTION_DROPOFF, ENCODER); // assertEquals(extension.getQuerySequenceExtended(), LightweightSymbolList.createDNA("G").seqString()); // assertEquals(extension.getTargetSequenceExtended(), LightweightSymbolList.createDNA("G").seqString()); // } // // public void testExtendTwo() throws Exception { // int[] encoded_1_gg = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("AGA")); // int[] encoded_2_gg = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("AGA")); // // ExtendSequences extension = ExtendSequences.doExtension(encoded_1_gg, 0, 0, encoded_2_gg, 0, 0, EXTENSTION_DROPOFF, ENCODER); // assertEquals(extension.getQuerySequenceExtended(), LightweightSymbolList.createDNA("AGA").seqString()); // assertEquals(extension.getTargetSequenceExtended(), LightweightSymbolList.createDNA("AGA").seqString()); // } // // public void testExtendThree() throws Exception { // int[] encoded_1 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("AACCCAA")); // int[] encoded_2 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("AACCCAA")); // // ExtendSequences extension = ExtendSequences.doExtension(encoded_1, 2, 4, encoded_2, 2, 4, EXTENSTION_DROPOFF, ENCODER); // assertEquals(extension.getQuerySequenceExtended(), LightweightSymbolList.createDNA("AACCCAA").seqString()); // assertEquals(extension.getTargetSequenceExtended(), LightweightSymbolList.createDNA("AACCCAA").seqString()); // } // // public void testExtendOneOne() throws Exception { // int[] encoded_1_gg = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("AG")); // int[] encoded_2_gg = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("AG")); // // ExtendSequences extension = ExtendSequences.doExtension(encoded_1_gg, 0, 0, encoded_2_gg, 0, 0, EXTENSTION_DROPOFF, ENCODER); // assertEquals(extension.getQuerySequenceExtended(), LightweightSymbolList.createDNA("AG").seqString()); // assertEquals(extension.getTargetSequenceExtended(), LightweightSymbolList.createDNA("AG").seqString()); // } // // public void testExtendTwoOne() throws Exception { // int[] encoded_1_gg = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("AGC")); // int[] encoded_2_gg = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("AGC")); // // ExtendSequences extension = ExtendSequences.doExtension(encoded_1_gg, 1, 1, encoded_2_gg, 1, 1, EXTENSTION_DROPOFF, ENCODER); // assertEquals(extension.getQuerySequenceExtended(), LightweightSymbolList.createDNA("AGC").seqString()); // assertEquals(extension.getTargetSequenceExtended(), LightweightSymbolList.createDNA("AGC").seqString()); //} // // public void testExtendTwoOneBlash() throws Exception { // int[] encoded_1_gg = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("AGC")); // int[] encoded_2_gg = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("AGC")); // // ExtendSequences extension = ExtendSequences.doExtension(encoded_1_gg, 2, 2, encoded_2_gg, 2, 2, EXTENSTION_DROPOFF, ENCODER); // assertEquals(extension.getQuerySequenceExtended(), LightweightSymbolList.createDNA("AGC").seqString()); // assertEquals(extension.getTargetSequenceExtended(), LightweightSymbolList.createDNA("AGC").seqString()); // } // //public void testExtendThreeOne() throws Exception { // int[] encoded_1 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("AACCCGG")); // int[] encoded_2 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("AACCCGG")); // // ExtendSequences extension = ExtendSequences.doExtension(encoded_1, 2, 4, encoded_2, 2, 4, EXTENSTION_DROPOFF, ENCODER); // assertEquals(extension.getQuerySequenceExtended(), LightweightSymbolList.createDNA("AACCCGG").seqString()); // assertEquals(extension.getTargetSequenceExtended(), LightweightSymbolList.createDNA("AACCCGG").seqString()); //} // // public void testExtend10() throws Exception { // int[] encoded_1 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("ATGCATGACT")); // int[] encoded_2 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("ATGCATGACT")); // // ExtendSequences extension = ExtendSequences.doExtension(encoded_1, 2, 4, encoded_2, 2, 4, EXTENSTION_DROPOFF, ENCODER); // assertEquals(extension.getQuerySequenceExtended(), LightweightSymbolList.createDNA("ATGCATGACT").seqString()); // assertEquals(extension.getTargetSequenceExtended(), LightweightSymbolList.createDNA("ATGCATGACT").seqString()); // } // // public void testExtend11() throws Exception { // int[] encoded_1 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("ATGCATGACTA")); // int[] encoded_2 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("ATGCATGACTA")); // // ExtendSequences extension = ExtendSequences.doExtension(encoded_1, 2, 4, encoded_2, 2, 4, EXTENSTION_DROPOFF, ENCODER); // assertEquals(extension.getTargetSequenceExtended(), LightweightSymbolList.createDNA("ATGCATGACTA").seqString()); // } // // public void testExtendFour() throws Exception { // int[] encoded_1 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTT")); // int[] encoded_2 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTT")); // // ExtendSequences extension = ExtendSequences.doExtension(encoded_1, 2, 4, encoded_2, 2, 4, EXTENSTION_DROPOFF, ENCODER); // assertEquals(extension.getQuerySequenceExtended(), LightweightSymbolList.createDNA("ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTT").seqString()); // assertEquals(extension.getTargetSequenceExtended(), LightweightSymbolList.createDNA("ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTT").seqString()); // } // // public void testExtendFive() throws Exception { // int[] encoded_1 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTTTGATCA")); // int[] encoded_2 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTTTGATCA")); // // ExtendSequences extension = ExtendSequences.doExtension(encoded_1, 2, 4, encoded_2, 2, 4, EXTENSTION_DROPOFF, ENCODER); // assertEquals(extension.getQuerySequenceExtended(), LightweightSymbolList.createDNA("ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTTTGATCA").seqString()); // assertEquals(extension.getTargetSequenceExtended(), LightweightSymbolList.createDNA("ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTTTGATCA").seqString()); // } // // public void testExtendSix() throws Exception { // int[] encoded_1 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTAC")); // int[] encoded_2 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTAC")); // // ExtendSequences extension = ExtendSequences.doExtension(encoded_1, 2, 4, encoded_2, 2, 4, EXTENSTION_DROPOFF, ENCODER); // assertEquals(extension.getQuerySequenceExtended(), LightweightSymbolList.createDNA("ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTAC").seqString()); // assertEquals(extension.getTargetSequenceExtended(), LightweightSymbolList.createDNA("ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTAC").seqString()); // } // // // // public void testExtend11Diff() throws Exception { // int[] encoded_1 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("ATGCATGACTA")); // int[] encoded_2 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("GTGCATGACTC")); // // ExtendSequences extension = ExtendSequences.doExtension(encoded_1, 2, 4, encoded_2, 2, 4, EXTENSTION_DROPOFF, ENCODER); // assertEquals(LightweightSymbolList.createDNA("TGCATGACT").seqString(), extension.getTargetSequenceExtended()); // assertEquals(LightweightSymbolList.createDNA("TGCATGACT").seqString(), extension.getQuerySequenceExtended()); // } // // // public void testExtend11DiffMiddle() throws Exception { // int[] encoded_1 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("TAAGCATGCATGACTAGGTA")); // int[] encoded_2 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("GCCAGGTGCATGACTCCCGA")); // // ExtendSequences extension = ExtendSequences.doExtension(encoded_1, 6, 11, encoded_2, 6, 11, EXTENSTION_DROPOFF, ENCODER); // assertEquals(LightweightSymbolList.createDNA("TGCATGACT").seqString(), extension.getTargetSequenceExtended()); // assertEquals(LightweightSymbolList.createDNA("TGCATGACT").seqString(), extension.getQuerySequenceExtended()); // } // // public void testExtend11DiffMiddleSing() throws Exception { // int[] encoded_1 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("GGGGGATGATTGTAGTTTATGAGTATGGATGACAGTAGCATTATATATAGATAGACACCGGAACCCCC")); // int[] encoded_2 = ENCODER.encodeSymbolListToIntegerArray(LightweightSymbolList.createDNA("CCCCCATGATTGTAGTTTATGAGTATGGACCAGCGTAGTATTATATATAGATAGACATGACCGGGACCCCC")); // // ExtendSequences extension = ExtendSequences.doExtension(encoded_1, 8, 25, encoded_2, 8, 25, EXTENSTION_DROPOFF, ENCODER); // // assertEquals(LightweightSymbolList.createDNA("ATGATTGTAGTTTATGAGTATGGACCAGCGTAGTATTATATATAGATAGACA").seqString(), extension.getTargetSequenceExtended()); // assertEquals(LightweightSymbolList.createDNA("ATGATTGTAGTTTATGAGTATGGATGACAGTAGCATTATATATAGATAGACA").seqString(), extension.getQuerySequenceExtended()); // } //}