PurityAdjuster { public double purityAdjustedCopyNumber(final String chromosomeName, final double ratio) { final double typicalRatio = germlineRatio(chromosomeName); return purityAdjustedCopyNumber(ratio, typicalRatio); } PurityAdjuster(@NotNull final FittedPurity fittedPurity);  PurityAdjuster(final double purity, final double normFactor); static double impliedPloidy(double averageRatio, double purity, double normFactor); static double impliedNormFactor(double averageRatio, double purity, double tumorPloidy); static double impliedAverageRatio(double purity, double normFactor, double tumorPloidy); double purity(); double normFactor(); double germlineCopyNumber(@NotNull String contig); abstract double germlineRatio(@NotNull String contig); double purityAdjustedCopyNumber(final String chromosomeName, final double ratio); double purityAdjustedCopyNumber(final double tumorRatio, final double normalRatio); double purityAdjustedVAF(@NotNull final String chromosome, final double copyNumber, final double observedFrequency); double purityAdjustedBAFSimple(final String chromosome, final double copyNumber, final double observedFrequency); double purityAdjustedPloidy(final double normalCopyNumber, final double normalPloidy, final double tumorCopyNumber,
            final double observedFrequency); double expectedFrequency(final double normalCopyNumber, final int normalPloidy, final double tumorCopyNumber,
            final double tumorPloidy); double purityAdjustedVAFWithHeterozygousNormal(@NotNull final String chromosome, final double copyNumber,
            final double observedFrequency); double purityAdjustedVAFWithHomozygousNormal(@NotNull final String chromosome, final double copyNumber,
            final double observedFrequency);  }
@Test public void testPurityAdjustedCopyNumber() { assertPurityAdjustment(0, 0.85, 1.04, 0); assertPurityAdjustment(1, 0.85, 1.0, 0.575); }