コード例 #1
0
        public void TestColumnsShuffle(
            byte chrColumn, byte positionColumn, byte idColumn, byte refBPColumn, byte altBPColumn,
            byte qualityColumn, byte filterColumn, byte infoColumn, sbyte strandColumn)
        {
            // Arrange
            var rg = new RegionGenerator()
            {
                ChrColumn      = chrColumn,
                PositionColumn = positionColumn,
                IDColumn       = idColumn,
                RefbColumn     = refBPColumn,
                AltbColumn     = altBPColumn,
                QualityColumn  = qualityColumn,
                FilterColumn   = filterColumn,
                InfoColumn     = infoColumn,
                StrandColumn   = strandColumn
            };

            using (var file = new TempFileCreator(rg))
            {
                // Act
                var parsedVCF     = ParseVCF(file.TempFilePath, rg);
                var parsedVariant = parsedVCF.Chromosomes[rg.Chr].Strands[rg.Strand].Intervals.ToList()[0];

                // Assert
                Assert.True(parsedVariant.CompareTo(rg.Variant) == 0);
            }
        }
コード例 #2
0
        public void ColumnsSetters()
        {
            // Arrange
            var rg = new RegionGenerator
            {
                ChrColumn      = 2,
                PositionColumn = 2,
                IDColumn       = 9,
                RefbColumn     = 0,
                AltbColumn     = 2,
                QualityColumn  = 2,
                FilterColumn   = 0,
                InfoColumn     = 6,
                StrandColumn   = 12
            };

            rg.InfoColumn = 12;

            using (var file = new TempFileCreator(rg))
            {
                // Act
                var parsedVCF  = ParseVCF(file.TempFilePath, rg);
                var parsedPeak = parsedVCF.Chromosomes[rg.Chr].Strands[rg.Strand].Intervals.ToList()[0];

                // Assert
                Assert.True(parsedPeak.CompareTo(rg.Variant) == 0);
            }
        }
コード例 #3
0
        public void TestDefaultVCFColumnOrder()
        {
            // Arrange
            var rg = new RegionGenerator();

            using (var file = new TempFileCreator(rg))
            {
                // Act
                var parser        = new VcfParser();
                var parsedVariant = parser.Parse(file.TempFilePath).Chromosomes[rg.Chr].Strands[rg.Strand].Intervals.ToList()[0];

                // Assert
                Assert.True(parsedVariant.CompareTo(rg.Variant) == 0);
            }
        }
コード例 #4
0
        public void AssignHashKey()
        {
            // Arrange
            var rg = new RegionGenerator();

            using (var file = new TempFileCreator(rg))
            {
                // Act
                var parser     = new VcfParser();
                var parsedData = parser.Parse(file.TempFilePath);

                // Assert
                Assert.True(parsedData.Chromosomes[rg.Chr].Strands[rg.Strand].Intervals.ToList()[0].GetHashCode() != 0);
            }
        }
コード例 #5
0
ファイル: Features.cs プロジェクト: olgatei/GeUtilities
        public void OneBaseLenghtInterval()
        {
            // Arrange
            var rg = new RegionGenerator();

            using (var file = new TempFileCreator(rg))
            {
                // Act
                var parser     = new VcfParser();
                var parsedData = parser.Parse(file.TempFilePath);

                // Assert
                Assert.True(parsedData.Chromosomes[rg.Chr].Strands[rg.Strand].Intervals.ToList()[0].Right == rg.Position + 1);
            }
        }
コード例 #6
0
        public void FullySetArguments()
        {
            // Arrange
            var rg = new RegionGenerator();

            using (var file = new TempFileCreator(rg))
            {
                // Act
                var parser        = new VcfParser(rg.Columns);
                var parsedVariant = parser.Parse(file.TempFilePath).Chromosomes[rg.Chr].Strands[rg.Strand].Intervals[0];

                // Assert
                Assert.True(parsedVariant.CompareTo(rg.Variant) == 0);
            }
        }
コード例 #7
0
        public void AvoidHeader(int headerCount, byte readOffset)
        {
            // Arrange
            using (var file = new TempFileCreator(new RegionGenerator(), headerLineCount: headerCount))
            {
                // Act
                var parser = new VcfParser()
                {
                    ReadOffset = readOffset
                };
                var parsedData = parser.Parse(file.TempFilePath);

                // Assert
                Assert.True(parsedData.Chromosomes.Count == 1);
            }
        }
コード例 #8
0
ファイル: Features.cs プロジェクト: olgatei/GeUtilities
        public void MultiVariantFile()
        {
            // Arrange
            var rg = new RegionGenerator {
                StrandColumn = 12
            };

            using (var file = new TempFileCreator(rg, variantsCount: 10, headerLineCount: 2))
            {
                // Act
                var parser     = new VcfParser();
                var parsedData = parser.Parse(file.TempFilePath);

                // Assert
                Assert.True(parsedData.Chromosomes[rg.Chr].Strands[rg.Strand].Intervals.Count == 10);
            }
        }
コード例 #9
0
        public void FailToReadID()
        {
            // Arrange
            var rg = new RegionGenerator()
            {
                IDColumn = 20
            };
            string line = "chr1\t10\tAAC\tCCA\t123.456\tFilter\tInfo\t*";

            using (var file = new TempFileCreator(line))
            {
                // Act
                var parsedVCF = ParseVCF(file.TempFilePath, rg);

                // Assert
                Assert.False(parsedVCF.Chromosomes.ContainsKey("chr1"));
            }
        }