public void ExecuteTest(string inputBamFile, string outputBamFile, int expectedNumRealignedReads, int maxShift = 250)
        {
            if (File.Exists(outputBamFile))
            {
                File.Delete(outputBamFile);
            }

            var options = new HygeaOptions();

            options.SkipAndRemoveDuplicates = false; //(old default/simple behavior for regression testing basic execution)
            options.MaxRealignShift         = maxShift;

            var factory = new Factory(options);

            var chrRef = GetGenomeSnippet();

            var writer = new RemapBamWriter(inputBamFile, outputBamFile);

            writer.Initialize();

            var realigner = (ChrRealigner)factory.CreateRealigner(chrRef, inputBamFile, writer);

            realigner.Execute();

            writer.FinishAll();

            Assert.True(File.Exists(outputBamFile));
            Assert.Equal(expectedNumRealignedReads, realigner.TotalRealignedReads);
        }
Ejemplo n.º 2
0
        public void HappyPath()
        {
            if (!Directory.Exists(_outputDirectory))
            {
                Directory.CreateDirectory(_outputDirectory);
            }
            if (File.Exists(_outputFile))
            {
                File.Delete(_outputFile);
            }
            if (File.Exists(_outputFile + ".bai"))
            {
                File.Delete(_outputFile + ".bai");
            }

            var happyBamWriter = new RemapBamWriter(_bamFilePath, _outputFile, 10);

            happyBamWriter.Initialize();

            BamAlignment bam = CreateAlignment(10, 20, "Test");

            happyBamWriter.WriteRead(ref bam, false);

            happyBamWriter.FinishAll();

            happyBamWriter.FlushAllBufferedRecords();

            Assert.True(File.Exists(_outputFile));
            Assert.True(File.Exists(_outputFile + ".bai"));
        }