Example #1
0
        public void RecalibrateCleanVcf()
        {
            var vcfPath      = Path.Combine(TestPaths.LocalTestDataDirectory, "Test.vcf");
            var countsPath   = Path.Combine(TestPaths.LocalTestDataDirectory, "Clean.counts");
            var outDir       = Path.Combine(TestPaths.LocalScratchDirectory, "RecalibrateDirtyVcf");
            var outFile      = Path.Combine(outDir, "Test.vcf.recal");
            var expectedFile = Path.Combine(TestPaths.LocalTestDataDirectory, "ExpectedTest.vcf.recal");

            if (File.Exists(outFile))
            {
                File.Delete(outFile);
            }

            Logger.OpenLog(TestPaths.LocalScratchDirectory, "RecalibrateCleanVcfLog.txt", true);

            QualityRecalibration.Recalibrate(vcfPath, countsPath, outDir, 30, 0, 66, -1, null);

            Logger.CloseLog();

            //no recalibration should occur for a clean file.
            Assert.True(!File.Exists(outFile));

            //redirect log incase any other thread is logging here.
            var SafeLogDir = TestPaths.LocalScratchDirectory;

            Logger.OpenLog(SafeLogDir, "DefaultLog.txt", true);
            Logger.CloseLog();
        }
Example #2
0
        public void RecalibrateVcf()
        {
            var vcfPath    = Path.Combine(UnitTestPaths.TestDataDirectory, "Test.vcf");
            var countsPath = Path.Combine(UnitTestPaths.TestDataDirectory, "Expected.counts");

            var outFile      = Path.Combine(UnitTestPaths.TestDataDirectory, "Test.vcf.recal");
            var expectedFile = Path.Combine(UnitTestPaths.TestDataDirectory, "ExpectedTest.vcf.recal");

            if (File.Exists(outFile))
            {
                File.Delete(outFile);
            }

            QualityRecalibration.Recalibrate(vcfPath, countsPath, 30, 0, 66, -1);


            Assert.True(File.Exists(outFile));

            var observedLines = File.ReadAllLines(outFile);
            var expectedLines = File.ReadAllLines(expectedFile);

            Assert.Equal(expectedLines.Length, observedLines.Length);

            for (int i = 0; i < expectedLines.Length; i++)
            {
                Assert.Equal(expectedLines[0], observedLines[0]);
            }
        }
Example #3
0
        public void RecalibrateDirtyVcf()
        {
            var vcfPath      = Path.Combine(TestPaths.LocalTestDataDirectory, "TestWithArtifacts.vcf");
            var countsPath   = Path.Combine(TestPaths.LocalTestDataDirectory, "Dirty.counts");
            var outDir       = Path.Combine(TestPaths.LocalScratchDirectory, "RecalibrateDirtyVcf");
            var outFile      = Path.Combine(outDir, "TestWithArtifacts.vcf.recal");
            var expectedFile = Path.Combine(TestPaths.LocalTestDataDirectory, "ExpectedDirty.vcf.recal");

            if (File.Exists(outFile))
            {
                File.Delete(outFile);
            }

            Logger.OpenLog(outDir, "RecalibrateDirtyVcfLog.txt", true);

            QualityRecalibration.Recalibrate(vcfPath, countsPath, outDir, 30, 0, 66, -1, "\"-vcf TestWithArtifacts.vcf\"");

            Logger.CloseLog();

            Assert.True(File.Exists(outFile));

            TestUtilities.TestHelper.CompareFiles(outFile, expectedFile);

            //redirect log incase any other thread is logging here.
            var SafeLogDir = TestPaths.LocalScratchDirectory;

            Logger.OpenLog(SafeLogDir, "DefaultLog.txt", true);
            Logger.CloseLog();

            //delete our log
            File.Delete(outFile);
        }
Example #4
0
        public void TestOnADiploidVcf()
        {
            var vcfPath      = Path.Combine(TestPaths.LocalTestDataDirectory, "TestWithDiploidCalls.vcf");
            var countsPath   = Path.Combine(TestPaths.LocalTestDataDirectory, "Dirty.counts");
            var outDir       = Path.Combine(TestPaths.LocalScratchDirectory, "RecalibrateDiploidVcf");
            var outFile      = Path.Combine(outDir, "TestWithDiploidCalls.vcf.recal");
            var expectedFile = Path.Combine(TestPaths.LocalTestDataDirectory, "ExpectedDiploidCalls.vcf.recal");

            if (File.Exists(outFile))
            {
                File.Delete(outFile);
            }

            Logger.OpenLog(outDir, "RecalibrateDiploidCallsLog.txt", true);

            VQROptions options = new VQROptions
            {
                CommandLineArguments = new string[] { "-vcf", "TestWithDiploidCalls.vcf" },
                // FilterQScore = 30, <- set below
                ZFactor   = 0,
                MaxQScore = 66,
                // BaseQNoise = 30, <- set below
                VcfPath         = vcfPath,
                OutputDirectory = outDir,
            };

            options.BamFilterParams.MinimumBaseCallQuality          = 30; //-1
            options.VariantCallingParams.MinimumVariantQScoreFilter = 30;
            options.VariantCallingParams.PloidyModel = PloidyModel.DiploidByThresholding;
            options.VcfWritingParams.AllowMultipleVcfLinesPerLoci    = false;
            options.VariantCallingParams.AmpliconBiasFilterThreshold = null;

            SignatureSorterResultFiles resultFiles = new SignatureSorterResultFiles(countsPath, "foo.txt", "foo.txt");

            QualityRecalibration.Recalibrate(resultFiles, options);


            Logger.CloseLog();

            Assert.True(File.Exists(outFile));

            TestUtilities.TestHelper.CompareFiles(outFile, expectedFile);

            //redirect log incase any other thread is logging here.
            var SafeLogDir = TestPaths.LocalScratchDirectory;

            Logger.OpenLog(SafeLogDir, "DefaultLog.txt", true);
            Logger.CloseLog();

            //delete our log
            File.Delete(outFile);
        }
Example #5
0
        public void RecalibrateCleanVcf()
        {
            var vcfPath      = Path.Combine(TestPaths.LocalTestDataDirectory, "Test.vcf");
            var countsPath   = Path.Combine(TestPaths.LocalTestDataDirectory, "Clean.counts");
            var outDir       = Path.Combine(TestPaths.LocalScratchDirectory, "RecalibrateDirtyVcf");
            var outFile      = Path.Combine(outDir, "Test.vcf.recal");
            var expectedFile = Path.Combine(TestPaths.LocalTestDataDirectory, "ExpectedTest.vcf.recal");

            if (File.Exists(outFile))
            {
                File.Delete(outFile);
            }

            Logger.OpenLog(TestPaths.LocalScratchDirectory, "RecalibrateCleanVcfLog.txt", true);
            VQROptions options = new VQROptions
            {
                CommandLineArguments = null,
                //          FilterQScore = -1,
                ZFactor   = 0,
                MaxQScore = 66,
                //          BaseQNoise = 30,
                OutputDirectory = outDir
            };

            options.VariantCallingParams.MinimumVariantQScoreFilter = -1;
            options.BamFilterParams.MinimumBaseCallQuality          = 30;
            SignatureSorterResultFiles resultFiles = new SignatureSorterResultFiles(countsPath, "foo.txt", "foo.txt");

            QualityRecalibration.Recalibrate(resultFiles, options);

            Logger.CloseLog();

            //no recalibration should occur for a clean file.
            Assert.True(!File.Exists(outFile));

            //redirect log incase any other thread is logging here.
            var SafeLogDir = TestPaths.LocalScratchDirectory;

            Logger.OpenLog(SafeLogDir, "DefaultLog.txt", true);
            Logger.CloseLog();
        }