Package org.broadinstitute.gatk.utils.locusiterator

Examples of org.broadinstitute.gatk.utils.locusiterator.AlignmentStateMachine


    }

    @Test(dataProvider = "PileupElementTest")
    public void testPileupElementTest(LIBSTest params) {
        final GATKSAMRecord read = params.makeRead();
        final AlignmentStateMachine state = new AlignmentStateMachine(read);
        final LIBS_position tester = new LIBS_position(read);

        while ( state.stepForwardOnGenome() != null ) {
            tester.stepForwardOnGenome();
            final PileupElement pe = state.makePileupElement();

            Assert.assertEquals(pe.getRead(), read);
            Assert.assertEquals(pe.getMappingQual(), read.getMappingQuality());
            Assert.assertEquals(pe.getOffset(), state.getReadOffset());

            Assert.assertEquals(pe.isDeletion(), state.getCigarOperator() == CigarOperator.D);
            Assert.assertEquals(pe.isAfterInsertion(), tester.isAfterInsertion);
            Assert.assertEquals(pe.isBeforeInsertion(), tester.isBeforeInsertion);
            Assert.assertEquals(pe.isNextToSoftClip(), tester.isNextToSoftClip);

            if ( ! hasNeighboringPaddedOps(params.getElements(), pe.getCurrentCigarOffset()) ) {
                Assert.assertEquals(pe.isAfterDeletionEnd(), tester.isAfterDeletionEnd);
                Assert.assertEquals(pe.isBeforeDeletionStart(), tester.isBeforeDeletionStart);
            }



            Assert.assertEquals(pe.atEndOfCurrentCigar(), state.getOffsetIntoCurrentCigarElement() == state.getCurrentCigarElement().getLength() - 1, "atEndOfCurrentCigar failed");
            Assert.assertEquals(pe.atStartOfCurrentCigar(), state.getOffsetIntoCurrentCigarElement() == 0, "atStartOfCurrentCigar failed");

            Assert.assertEquals(pe.getBase(), pe.isDeletion() ? PileupElement.DELETION_BASE : read.getReadBases()[state.getReadOffset()]);
            Assert.assertEquals(pe.getQual(), pe.isDeletion() ? PileupElement.DELETION_QUAL : read.getBaseQualities()[state.getReadOffset()]);

            Assert.assertEquals(pe.getCurrentCigarElement(), state.getCurrentCigarElement());
            Assert.assertEquals(pe.getCurrentCigarOffset(), state.getCurrentCigarElementOffset());

            // tested in libs
            //pe.getLengthOfImmediatelyFollowingIndel();
            //pe.getBasesOfImmediatelyFollowingInsertion();

            // Don't test -- pe.getBaseIndex();
            if ( pe.atEndOfCurrentCigar() && state.getCurrentCigarElementOffset() < read.getCigarLength() - 1 ) {
                final CigarElement nextElement = read.getCigar().getCigarElement(state.getCurrentCigarElementOffset() + 1);
                if ( nextElement.getOperator() == CigarOperator.I ) {
                    Assert.assertTrue(pe.getBetweenNextPosition().size() >= 1);
                    Assert.assertEquals(pe.getBetweenNextPosition().get(0), nextElement);
                }
                if ( nextElement.getOperator() == CigarOperator.M ) {
                    Assert.assertTrue(pe.getBetweenNextPosition().isEmpty());
                }
            } else {
                Assert.assertTrue(pe.getBetweenNextPosition().isEmpty());
            }

            if ( pe.atStartOfCurrentCigar() && state.getCurrentCigarElementOffset() > 0 ) {
                final CigarElement prevElement = read.getCigar().getCigarElement(state.getCurrentCigarElementOffset() - 1);
                if ( prevElement.getOperator() == CigarOperator.I ) {
                    Assert.assertTrue(pe.getBetweenPrevPosition().size() >= 1);
                    Assert.assertEquals(pe.getBetweenPrevPosition().getLast(), prevElement);
                }
                if ( prevElement.getOperator() == CigarOperator.M ) {
View Full Code Here


        return tests.toArray(new Object[][]{});
    }

    @Test(dataProvider = "PrevAndNextTest")
    public void testPrevAndNextTest(final GATKSAMRecord read, final CigarOperator firstOp, final CigarOperator lastOp, final List<CigarOperator> ops) {
        final AlignmentStateMachine state = new AlignmentStateMachine(read);

        state.stepForwardOnGenome();
        final PileupElement pe = state.makePileupElement();
        Assert.assertEquals(pe.getBetweenNextPosition().size(), ops.size());
        Assert.assertEquals(pe.getBetweenPrevPosition().size(), 0);
        assertEqualsOperators(pe.getBetweenNextPosition(), ops);
        Assert.assertEquals(pe.getPreviousOnGenomeCigarElement(), null);
        Assert.assertNotNull(pe.getNextOnGenomeCigarElement());
        Assert.assertEquals(pe.getNextOnGenomeCigarElement().getOperator(), lastOp);

        state.stepForwardOnGenome();
        final PileupElement pe2 = state.makePileupElement();
        Assert.assertEquals(pe2.getBetweenPrevPosition().size(), ops.size());
        Assert.assertEquals(pe2.getBetweenNextPosition().size(), 0);
        assertEqualsOperators(pe2.getBetweenPrevPosition(), ops);
        Assert.assertNotNull(pe2.getPreviousOnGenomeCigarElement());
        Assert.assertEquals(pe2.getPreviousOnGenomeCigarElement().getOperator(), firstOp);
View Full Code Here

TOP

Related Classes of org.broadinstitute.gatk.utils.locusiterator.AlignmentStateMachine

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.