public void ReadTwoIntervalsWithExactSameInfo()
        {
            // Arrange
            var peak = "chr1\t10\t20\tGeUtilities_00\t0.01";

            using var file = new TempFileCreator(new string[] { peak, peak });

            // Act
            var parser    = new BedParser();
            var parsedBED = parser.Parse(file.Path);

            // Assert
            Assert.True(parsedBED.IntervalsCount == 2);
        }
        public void CanTellIfStrandContainsAnInterval()
        {
            // Arrange
            using (var file = new TempFileCreator())
            {
                // Act
                var parser    = new BedParser();
                var parsedBED = parser.Parse(file.Path);
                var interval  = parsedBED.Chromosomes["chr1"].Strands['.'].Intervals.ToList()[0];

                // Assert
                Assert.True(parsedBED.Chromosomes["chr1"].Strands['.'].Contains(interval));
            }
        }
Exemple #3
0
        protected virtual void Dispose(bool disposing)
        {
            if (!this.disposed)
            {
                if (disposing)
                {
                    this.fileCreator?.Dispose();
                }

                this.fileCreator = null;

                this.disposed = true;
            }
        }
        public void TestFilePath()
        {
            // Arrange
            string peak = "chr1\t10\t20\tName\t100.0";

            using (var file = new TempFileCreator(peak))
            {
                // Act
                var parser    = new BedParser();
                var parsedBED = parser.Parse(file.Path);

                // Assert
                Assert.True(parsedBED.FilePath == Path.GetFullPath(file.Path));
            }
        }
        public void CanGetAnIntervalFromStrand()
        {
            // Arrange
            using (var file = new TempFileCreator())
            {
                // Act
                var parser    = new BedParser();
                var parsedBED = parser.Parse(file.Path);
                var expected  = parsedBED.Chromosomes["chr1"].Strands['.'].Intervals.ToList()[0];

                // Assert
                GeUtilities.Intervals.Model.Peak i;
                Assert.True(parsedBED.Chromosomes["chr1"].Strands['.'].TryGet(expected.GetHashCode(), out i));
                Assert.Equal(expected, i);
            }
        }
        public void TestAssembly(Assemblies assembly)
        {
            // Arrange
            string peak = "chr1\t10\t20\tName\t100.0";

            using (var file = new TempFileCreator(peak))
            {
                // Act
                var parser = new BedParser()
                {
                    Assembly = assembly
                };
                var parsedBED = parser.Parse(file.Path);

                // Assert
                Assert.True(parsedBED.Assembly == assembly);
            }
        }
Exemple #7
0
        public void TestPValueHighestInParsedDataPerChr()
        {
            string[] peaks = new string[]
            {
                "chr1\t10\t20\tGeUtilities_00\t0.1",
                "chr1\t30\t40\tGeUtilities_01\t0.01",
                "chr1\t50\t60\tGeUtilities_02\t0.001",
                "chr2\t10\t20\tGeUtilities_00\t0.2",
            };

            using (var file = new TempFileCreator(peaks))
            {
                var parser = new BedParser()
                {
                    PValueFormat = PValueFormats.SameAsInput
                };
                var parsedData = parser.Parse(file.Path);

                Assert.True(parsedData.Chromosomes["chr1"].Statistics.PValueHighest == 0.1);
            }
        }