public void GetTranscriptToCodingBlocks_SingleBaseBlock() { var intervalArray = new IInterval[] { new Interval(1, 10), new Interval(21, 21), new Interval(41, 50), new Interval(65, 70) }; var phasedIntervalArrays = new List <PhasedIntervalArray> { new PhasedIntervalArray(0, intervalArray) }; var codingBlocklists = CodonInfoProvider.GetTranscriptToCodingBlocks(phasedIntervalArrays, false); var expectedBlockList = new List <CodingBlock> { new CodingBlock(1, 10, 0), new CodingBlock(21, 21, 1), new CodingBlock(41, 50, 2), new CodingBlock(65, 70, 0) }; Assert.True(expectedBlockList.SequenceEqual(codingBlocklists[0])); }
public void GetTranscriptToCodingBlocks_AlternativeTranslationStartInCodingExon() { var intervalArray1 = new IInterval[] { new Interval(1, 50), new Interval(61, 70) }; var intervalArray2 = new IInterval[] { new Interval(40, 50), new Interval(61, 70) }; var phasedIntervalArrays = new List <PhasedIntervalArray> { new PhasedIntervalArray(0, intervalArray1), new PhasedIntervalArray(0, intervalArray2) }; var codingBlocklists = CodonInfoProvider.GetTranscriptToCodingBlocks(phasedIntervalArrays, false); var expectedBlockList1 = new List <CodingBlock> { new CodingBlock(1, 39, 0), new CodingBlock(40, 50, 0), new CodingBlock(61, 70, 2) }; var expectedBlockList2 = new List <CodingBlock> { new CodingBlock(40, 50, 0), new CodingBlock(61, 70, 2) }; var expectedBlockLists = new[] { expectedBlockList1, expectedBlockList2 }; for (var i = 0; i < 2; i++) { Assert.True(expectedBlockLists[i].SequenceEqual(codingBlocklists[i])); } }
public void GetTranscriptToCodingBlocks_AsExpected() { var intervalArray1 = new IInterval[] { new Interval(1, 10), new Interval(21, 30), new Interval(41, 50), new Interval(65, 70) }; var intervalArray2 = new IInterval[] { new Interval(1, 10), new Interval(41, 50), new Interval(61, 70) }; var intervalArray3 = new IInterval[] { new Interval(1, 10), new Interval(21, 26), new Interval(41, 50), new Interval(61, 70) }; var phasedIntervalArrays = new List <PhasedIntervalArray> { new PhasedIntervalArray(0, intervalArray1), new PhasedIntervalArray(0, intervalArray2), new PhasedIntervalArray(0, intervalArray3) }; var codingBlocklists = CodonInfoProvider.GetTranscriptToCodingBlocks(phasedIntervalArrays, false); var expectedBlockList1 = new List <CodingBlock> { new CodingBlock(1, 10, 0), new CodingBlock(21, 26, 1), new CodingBlock(27, 30, 1), new CodingBlock(41, 50, 2), new CodingBlock(65, 70, 0) }; var expectedBlockList2 = new List <CodingBlock> { new CodingBlock(1, 10, 0), new CodingBlock(41, 50, 1), new CodingBlock(61, 64, 2), new CodingBlock(65, 70, 0) }; var expectedBlockList3 = new List <CodingBlock> { new CodingBlock(1, 10, 0), new CodingBlock(21, 26, 1), new CodingBlock(41, 50, 1), new CodingBlock(61, 64, 2), new CodingBlock(65, 70, 0) }; var expectedBlockLists = new[] { expectedBlockList1, expectedBlockList2, expectedBlockList3 }; for (var i = 0; i < 3; i++) { Assert.True(expectedBlockLists[i].SequenceEqual(codingBlocklists[i])); } }