Ejemplo n.º 1
0
 public RegulatoryRegion(IChromosome chromosome, int start, int end, CompactId id, RegulatoryRegionType type)
 {
     Id         = id;
     Type       = type;
     Start      = start;
     End        = end;
     Chromosome = chromosome;
 }
Ejemplo n.º 2
0
        public void RegulatoryRegion_EndToEnd()
        {
            IChromosome  expectedChromosome         = new Chromosome("chrBob", "Bob", 1);
            const int    expectedStart              = int.MaxValue;
            const int    expectedEnd                = int.MinValue;
            const string expectedId                 = "ENST00000540021";
            const RegulatoryRegionType expectedType = RegulatoryRegionType.open_chromatin_region;

            var indexToChromosome = new Dictionary <ushort, IChromosome>
            {
                [expectedChromosome.Index] = expectedChromosome
            };

            // ReSharper disable ConditionIsAlwaysTrueOrFalse
            var regulatoryRegion = new RegulatoryRegion(expectedChromosome, expectedStart, expectedEnd,
                                                        CompactId.Convert(expectedId), expectedType);
            // ReSharper restore ConditionIsAlwaysTrueOrFalse

            IRegulatoryRegion observedRegulatoryRegion;

            using (var ms = new MemoryStream())
            {
                using (var writer = new ExtendedBinaryWriter(ms, Encoding.UTF8, true))
                {
                    regulatoryRegion.Write(writer);
                }

                ms.Position = 0;

                using (var reader = new ExtendedBinaryReader(ms))
                {
                    observedRegulatoryRegion = RegulatoryRegion.Read(reader, indexToChromosome);
                }
            }

            Assert.NotNull(observedRegulatoryRegion);
            Assert.Equal(expectedStart, observedRegulatoryRegion.Start);
            Assert.Equal(expectedEnd, observedRegulatoryRegion.End);
            Assert.Equal(expectedId, observedRegulatoryRegion.Id.WithoutVersion);
            Assert.Equal(expectedType, observedRegulatoryRegion.Type);
            Assert.Equal(expectedChromosome.Index, observedRegulatoryRegion.Chromosome.Index);
        }