Exemplo n.º 1
0
        public void ColumnsSetters()
        {
            // Arrange
            var rg = new RegionGenerator
            {
                ChrColumn     = 2,
                LeftColumn    = 2,
                RightColumn   = 9,
                StrandColumn  = -1,
                SourceColumn  = 2,
                FeatureColumn = -1
            };

            rg.StrandColumn  = 0;
            rg.StrandColumn  = 19;
            rg.FeatureColumn = 8;

            using (var file = new TempFileCreator(rg))
            {
                // Act
                var parsedGTF     = Features.ParseGTF(file.TempFilePath, rg);
                var parsedFeature = parsedGTF.Chromosomes[rg.Chr].Strands[rg.Strand].Intervals[0];

                // Assert
                Assert.True(parsedFeature.CompareTo(rg.GFeature) == 0);
            }
        }
Exemplo n.º 2
0
        public void ColumnsShuffle(
            byte chrColumn, sbyte sourceColumn, sbyte featureColumn, byte leftColumn, sbyte rightColumn,
            sbyte scoreColumn, sbyte strandColumn, sbyte frameColumn, sbyte attributeColumn)
        {
            // Arrange
            var rg = new RegionGenerator()
            {
                ChrColumn       = chrColumn,
                SourceColumn    = sourceColumn,
                FeatureColumn   = featureColumn,
                LeftColumn      = leftColumn,
                RightColumn     = rightColumn,
                ScoreColumn     = scoreColumn,
                StrandColumn    = strandColumn,
                FrameColumn     = frameColumn,
                AttributeColumn = attributeColumn
            };

            using (var file = new TempFileCreator(rg))
            {
                // Act
                var parsedGTF     = Features.ParseGTF(file.TempFilePath, rg);
                var parsedFeature = parsedGTF.Chromosomes[rg.Chr].Strands[rg.Strand].Intervals[0];

                // Assert
                Assert.True(parsedFeature.CompareTo(rg.GFeature) == 0);
            }
        }
Exemplo n.º 3
0
        public void FailReadRight()
        {
            // Arrange
            using (var file = new TempFileCreator("chr1\tSource\tFeature\t10\t20V\t100.0\t*\t0\tatt1=1;att2=v2"))
            {
                // ACt
                var parser     = new GtfParser();
                var parsedData = parser.Parse(file.TempFilePath);

                // Assert
                Assert.False(parsedData.Chromosomes.ContainsKey("chr1"));
            }
        }
Exemplo n.º 4
0
        public void TestDefaultColumnOrder()
        {
            // Arrange
            var rg = new RegionGenerator();

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

                // Assert
                Assert.True(parsedFeature.CompareTo(rg.GFeature) == 0);
            }
        }
Exemplo n.º 5
0
        public void ReadStrand()
        {
            // Arrange
            var rg = new RegionGenerator();

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

                // Assert
                Assert.True(parsedData.Chromosomes[rg.Chr].Strands.ContainsKey(rg.Strand));
            }
        }
Exemplo n.º 6
0
        public void AssignHashKey()
        {
            // Arrange
            var rg = new RegionGenerator();

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

                // Assert
                Assert.True(parsedData.Chromosomes[rg.Chr].Strands[rg.Strand].Intervals.ToList()[0].GetHashCode() != 0);
            }
        }
Exemplo n.º 7
0
        public void FullySetArguments()
        {
            // Arrange
            var rg = new RegionGenerator();

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

                // Assert
                Assert.True(parsedFeature.CompareTo(rg.GFeature) == 0);
            }
        }
Exemplo n.º 8
0
        public void AvoidHeader(int headerCount, byte readOffset)
        {
            // Arrange
            using (var file = new TempFileCreator(new RegionGenerator(), headerLineCount: headerCount))
            {
                // Act
                var parser = new GtfParser()
                {
                    ReadOffset = readOffset
                };
                var parsedData = parser.Parse(file.TempFilePath);

                // Assert
                Assert.True(parsedData.Chromosomes.Count == 1);
            }
        }
Exemplo n.º 9
0
        public void FailReadChr(string chr)
        {
            // Arrange
            var rg = new RegionGenerator {
                Chr = "chr1"
            };

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

                // Assert
                Assert.False(parsedData.Chromosomes.ContainsKey(chr));
            }
        }
Exemplo n.º 10
0
        public void ReadAttribute()
        {
            // Arrange
            var rg = new RegionGenerator {
                Attribute = "att1=at1;att2=at2;att3=3"
            };

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

                // Assert
                Assert.True(parsedData.Chromosomes[rg.Chr].Strands[rg.Strand].Intervals.ToList()[0].Attribute == rg.Attribute);
            }
        }
Exemplo n.º 11
0
        public void ReadLeft()
        {
            // Arrange
            var rg = new RegionGenerator {
                Left = 10
            };

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

                // Assert
                Assert.True(parsedData.Chromosomes[rg.Chr].Strands[rg.Strand].Intervals.ToList()[0].Left == rg.Left);
            }
        }
Exemplo n.º 12
0
        public void MultiFeatureFile()
        {
            // Arrange
            var rg = new RegionGenerator
            {
                StrandColumn = 12
            };

            using (var file = new TempFileCreator(rg, featuresCount: 10, headerLineCount: 2))
            {
                // Act
                var parsedData = ParseGTF(file.TempFilePath, rg);

                // Assert
                Assert.True(parsedData.Chromosomes[rg.Chr].Strands[rg.Strand].Intervals.Count == 10);
            }
        }
Exemplo n.º 13
0
        public void ReadScore()
        {
            // Arrange
            var rg = new RegionGenerator {
                Score = 123.456
            };

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

                // Assert
                Assert.True(parsedData.Chromosomes[rg.Chr].Strands[rg.Strand].Intervals[0].Score == rg.Score);
            }
        }
Exemplo n.º 14
0
        public void FeatureCount()
        {
            // Arrange
            var rg = new RegionGenerator {
                Feature = "feature"
            };
            int featureCount = 5;

            using (var file = new TempFileCreator(rg, featuresCount: featureCount))
            {
                // Act
                var parsedGTF = ParseGTF(file.TempFilePath, rg);

                // Assert
                Assert.True(parsedGTF.DeterminedFeatures[rg.Feature] == featureCount);
            }
        }
Exemplo n.º 15
0
        public void TestInvalidFeatureColumn()
        {
            // Arrange
            var rg = new RegionGenerator
            {
                // a column number which is more than the number of columns written to the test file.
                FeatureColumn = 10
            };

            using (var file = new TempFileCreator("chr1\tDi4\t.\t10\t20\t100.0\t*\t0\tatt1=1;att2=v2"))
            {
                // Act
                var parsedGTF = Features.ParseGTF(file.TempFilePath, rg);

                // Assert
                Assert.False(parsedGTF.Chromosomes.ContainsKey("chr1"));
            }
        }
Exemplo n.º 16
0
        public void TestFrameColumn(sbyte frameColumn, string frame)
        {
            // Arrange
            var rg = new RegionGenerator
            {
                Frame       = frame,
                FrameColumn = frameColumn
            };

            using (var file = new TempFileCreator(rg))
            {
                // Act
                var parsedGTF     = Features.ParseGTF(file.TempFilePath, rg);
                var parsedFeature = parsedGTF.Chromosomes[rg.Chr].Strands[rg.Strand].Intervals.ToList()[0];

                // Assert
                Assert.True(parsedFeature.Frame == frame);
            }
        }
Exemplo n.º 17
0
        public void TestAttributeColumn(sbyte attributeColumn, string attribute)
        {
            // Arrange
            var rg = new RegionGenerator
            {
                Attribute       = attribute,
                AttributeColumn = attributeColumn
            };

            using (var file = new TempFileCreator(rg))
            {
                // Act
                var parsedGTF     = Features.ParseGTF(file.TempFilePath, rg);
                var parsedFeature = parsedGTF.Chromosomes[rg.Chr].Strands[rg.Strand].Intervals[0];

                // Assert
                Assert.True(parsedFeature.Attribute == attribute);
            }
        }
Exemplo n.º 18
0
        public void TestScoreColumn(sbyte scoreColumn, double score)
        {
            // Arrange
            var rg = new RegionGenerator
            {
                Score       = score,
                ScoreColumn = scoreColumn
            };

            using (var file = new TempFileCreator(rg))
            {
                // Act
                var parsedGTF     = Features.ParseGTF(file.TempFilePath, rg);
                var parsedFeature = parsedGTF.Chromosomes[rg.Chr].Strands[rg.Strand].Intervals[0];

                // Assert
                Assert.True(double.IsNaN(score) ? double.IsNaN(parsedFeature.Score) : parsedFeature.Score == score);
            }
        }