Search in sources :

Example 6 with SVD

use of org.broadinstitute.hellbender.utils.svd.SVD in project gatk by broadinstitute.

the class HDF5PCACoveragePoNCreationUtilsUnitTest method testDetermineNumberOfEigensamplesNoSpark.

@Test(dataProvider = "singleEigensample")
public void testDetermineNumberOfEigensamplesNoSpark(final ReadCountCollection logNormals) {
    final SVD logNormalsSVD = SVDFactory.createSVD(logNormals.counts());
    final int actualNumber = HDF5PCACoveragePoNCreationUtils.determineNumberOfEigensamples(OptionalInt.empty(), logNormals.columnNames().size(), logNormalsSVD, NULL_LOGGER);
    Assert.assertEquals(actualNumber, 1);
}
Also used : SVD(org.broadinstitute.hellbender.utils.svd.SVD) BaseTest(org.broadinstitute.hellbender.utils.test.BaseTest) Test(org.testng.annotations.Test)

Example 7 with SVD

use of org.broadinstitute.hellbender.utils.svd.SVD in project gatk-protected by broadinstitute.

the class DecomposeSingularValuesIntegrationTest method assertSVDValues.

private void assertSVDValues(final File outputFileV, final File outputFileS, final File outputFileU) {
    try {
        final ReadCountCollection rcc = ReadCountCollectionUtils.parse(CONTROL_PCOV_FULL_FILE);
        final SVD svd = SVDFactory.createSVD(rcc.counts());
        final RealMatrix sDiag = new DiagonalMatrix(svd.getSingularValues());
        assertOutputFileValues(outputFileU, svd.getU());
        assertOutputFileValues(outputFileS, sDiag);
        assertOutputFileValues(outputFileV, svd.getV());
        assertUnitaryMatrix(svd.getV());
        assertUnitaryMatrix(svd.getU());
        Assert.assertTrue(MatrixUtils.isSymmetric(sDiag, 1e-32));
    } catch (final IOException ioe) {
        Assert.fail("Could not open test file: " + CONTROL_PCOV_FULL_FILE, ioe);
    }
}
Also used : SVD(org.broadinstitute.hellbender.utils.svd.SVD) RealMatrix(org.apache.commons.math3.linear.RealMatrix) DiagonalMatrix(org.apache.commons.math3.linear.DiagonalMatrix) IOException(java.io.IOException)

Example 8 with SVD

use of org.broadinstitute.hellbender.utils.svd.SVD in project gatk-protected by broadinstitute.

the class DecomposeSingularValues method runPipeline.

@Override
protected void runPipeline(final JavaSparkContext ctx) {
    try {
        final ReadCountCollection rcc = ReadCountCollectionUtils.parse(inputFile);
        final SVD svd = SVDFactory.createSVD(rcc.counts(), ctx);
        writeMatrix(svd.getV(), outputFileV);
        writeMatrix(svd.getU(), outputFileU);
        writeMatrix(new DiagonalMatrix(svd.getSingularValues()), outputFileS);
    } catch (final IOException ioe) {
        throw new UserException.CouldNotReadInputFile(inputFile, ioe.getMessage());
    }
}
Also used : SVD(org.broadinstitute.hellbender.utils.svd.SVD) DiagonalMatrix(org.apache.commons.math3.linear.DiagonalMatrix) IOException(java.io.IOException) UserException(org.broadinstitute.hellbender.exceptions.UserException)

Example 9 with SVD

use of org.broadinstitute.hellbender.utils.svd.SVD in project gatk-protected by broadinstitute.

the class HDF5PCACoveragePoNCreationUtilsUnitTest method testDetermineNumberOfEigensamplesNoSpark.

@Test(dataProvider = "singleEigensample")
public void testDetermineNumberOfEigensamplesNoSpark(final ReadCountCollection logNormals) {
    final SVD logNormalsSVD = SVDFactory.createSVD(logNormals.counts());
    final int actualNumber = HDF5PCACoveragePoNCreationUtils.determineNumberOfEigensamples(OptionalInt.empty(), logNormals.columnNames().size(), logNormalsSVD, NULL_LOGGER);
    Assert.assertEquals(actualNumber, 1);
}
Also used : SVD(org.broadinstitute.hellbender.utils.svd.SVD) BaseTest(org.broadinstitute.hellbender.utils.test.BaseTest) Test(org.testng.annotations.Test)

Example 10 with SVD

use of org.broadinstitute.hellbender.utils.svd.SVD in project gatk-protected by broadinstitute.

the class HDF5PCACoveragePoNCreationUtilsUnitTest method testDetermineNumberOfEigensamplesSpark.

@Test(dataProvider = "singleEigensample")
public void testDetermineNumberOfEigensamplesSpark(final ReadCountCollection logNormals) {
    final JavaSparkContext ctx = SparkContextFactory.getTestSparkContext();
    final SVD logNormalsSVD = SVDFactory.createSVD(logNormals.counts(), ctx);
    final int actualNumber = HDF5PCACoveragePoNCreationUtils.determineNumberOfEigensamples(OptionalInt.empty(), logNormals.columnNames().size(), logNormalsSVD, NULL_LOGGER);
    Assert.assertEquals(actualNumber, 1);
}
Also used : SVD(org.broadinstitute.hellbender.utils.svd.SVD) JavaSparkContext(org.apache.spark.api.java.JavaSparkContext) BaseTest(org.broadinstitute.hellbender.utils.test.BaseTest) Test(org.testng.annotations.Test)

Aggregations

SVD (org.broadinstitute.hellbender.utils.svd.SVD)10 IOException (java.io.IOException)4 DiagonalMatrix (org.apache.commons.math3.linear.DiagonalMatrix)4 RealMatrix (org.apache.commons.math3.linear.RealMatrix)4 BaseTest (org.broadinstitute.hellbender.utils.test.BaseTest)4 Test (org.testng.annotations.Test)4 VisibleForTesting (com.google.common.annotations.VisibleForTesting)2 DefaultRealMatrixChangingVisitor (org.apache.commons.math3.linear.DefaultRealMatrixChangingVisitor)2 JavaSparkContext (org.apache.spark.api.java.JavaSparkContext)2 UserException (org.broadinstitute.hellbender.exceptions.UserException)2