Package com.googlecode.gaal.data.api

Examples of com.googlecode.gaal.data.api.IntSequence


    }

    private <E extends BinaryNode<E>> int[] traverse(IntervalSet<E> distinctBwtSet, SuffixArray sa, E interval) {
        if (interval.isTerminal()) {
            int loc = sa.getSuffixTable()[interval.left()];
            IntSequence sequence = sa.getSequence();
            if (loc == 0)
                return new int[] { sequence.get(sequence.size() - 1) };
            else
                return new int[] { sequence.get(loc - 1) };
        } else {
            int leftBwt[] = traverse(distinctBwtSet, sa, interval.leftChild());
            int rightBwt[] = traverse(distinctBwtSet, sa, interval.rightChild());
            if (leftBwt != null && rightBwt != null && !intersect(leftBwt, rightBwt)) {
                distinctBwtSet.add(interval);
View Full Code Here


    }

    private <E extends BinaryNode<E>> int traverse(IntervalSet<E> bwtSet, SuffixArray sa, E interval, int parentLcp) {
        if (interval.isTerminal()) {
            int loc = sa.getSuffixTable()[interval.left()];
            IntSequence sequence = sa.getSequence();
            if (loc == 0)
                return sequence.get(sequence.size() - 1);
            else
                return sequence.get(loc - 1);
        } else {
            E left = interval.leftChild();
            E right = interval.rightChild();

            int lcp = interval.lcp();
View Full Code Here

    }

    private void printSuffixes() {
        System.out.println("Suffix Table:");
        for (int i : lst.getSuffixTable()) {
            IntSequence suffix = sequence.subSequence(i, sequence.size());
            System.out.printf("%2d| %s\n", i, corpus.toString(suffix, ""));
        }
    }
View Full Code Here

            System.out.printf("%2d| %s\n", i, corpus.toString(suffix, ""));
        }
    }

    private void printIntervalSuffixes(Interval interval, int windowSize) {
        IntSequence indices = interval.indices();
        int lcp = interval.lcp();
        int[] suffixTable = lst.getSuffixTable();
        int[] inverseSuffixTable = lst.getInverseSuffixTable();
        SortedMap<Integer, Integer> embeddedSuffixTableIndices = new TreeMap<Integer, Integer>();
        for (int i = 0; i < interval.size(); i++) {
            int start = indices.get(i) + lcp;
            for (int j = start; j < start + windowSize && j < sequence.size(); j++) {
                IntSequence suffix = sequence.subSequence(j, sequence.size());
                Integer startIndex = embeddedSuffixTableIndices.get(inverseSuffixTable[j]);
                if (startIndex == null || startIndex < start) {
                    embeddedSuffixTableIndices.put(inverseSuffixTable[j], start);
                    System.out.printf("%2d:%2d| %s+\n", start, j, corpus.toString(suffix, ""));
                } else {
                    System.out.printf("%2d:%2d| %s-\n", start, j, corpus.toString(suffix, ""));
                }
            }
        }
        System.out.println("Chosen Suffixes:");
        for (Entry<Integer, Integer> entry : embeddedSuffixTableIndices.entrySet()) {
            IntSequence suffix = sequence.subSequence(suffixTable[entry.getKey()], sequence.size());
            IntSequence filler = sequence.subSequence(entry.getValue(), suffixTable[entry.getKey()]);
            System.out.printf("%2d:%2d| %s {%s}\n", entry.getValue(), suffixTable[entry.getKey()],
                    corpus.toString(suffix, ""), corpus.toString(filler, ""));
        }
    }
View Full Code Here

    private LinearizedSuffixTree lpt;

    @Before
    public void setUp() throws Exception {

        IntSequence sequence = new ArraySequence(text);
        lst = new LinearizedSuffixTreeImpl(sequence, alphabet.length - 1);
        lpt = new LinearizedSuffixTreeImpl(sequence.reverse(), alphabet.length - 1);
    }
View Full Code Here

        assertTrue(i == preOrder.length);
    }

    @Test
    public void testSearch() {
        IntSequence pattern;
        Interval interval;
        pattern = new ArraySequence(new int[] { 3, 4 });
        interval = lst.search(pattern);
        System.out.printf("%s\t->%s\n", interval, interval.label());
        assertTrue(seqEquals(interval.label(), pattern));
View Full Code Here

   
    @Test
    public void testLongestSearch() {
        int[] patternToFind = { 2, 1, 4 };
        int[] expectedArray = {2, 1};
        IntSequence pattern = new ArraySequence(patternToFind);
        IntSequence expected = new ArraySequence(expectedArray);
        System.out.println("Looking for : " + pattern);
        System.out.println("Expected: " + expected);
        Interval result = lst.longestSearch(pattern);
        System.out.println("Longest found: " + result.label());
        assertEquals(expected, result.label());
View Full Code Here

    private EnhancedSuffixArray esa;
    private EnhancedSuffixArray epa;

    @Before
    public void setUp() throws Exception {
        IntSequence sequence = new ArraySequence(text);
        esa = new EnhancedSuffixArrayImpl(sequence, alphabet.length - 1);
        epa = new EnhancedSuffixArrayImpl(sequence.reverse(), alphabet.length - 1);
    }
View Full Code Here

        sequence = new ArraySequence(array, 1, 4);
    }

    @Test
    public void testArraySequenceIntArray() {
        IntSequence s = new ArraySequence(array);
        assertEquals("[1, 2, 3, 4, 5]", s.toString());
    }
View Full Code Here

        assertEquals("[1, 2, 3, 4, 5]", s.toString());
    }

    @Test
    public void testArraySequenceIntArrayIntInt() {
        IntSequence s = new ArraySequence(array, 1, 3);
        assertEquals("[2, 3]", s.toString());
    }
View Full Code Here

TOP

Related Classes of com.googlecode.gaal.data.api.IntSequence

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.