public void TestColumnsShuffle( byte chrColumn, byte leftColumn, sbyte rightColumn, byte refSeqIDColumn, byte geneSymbolColumn, sbyte strandColumn) { // Arrange var rg = new RegionGenerator() { ChrColumn = chrColumn, LeftColumn = leftColumn, RightColumn = rightColumn, RefSeqIDColumn = refSeqIDColumn, GeneSymbolColumn = geneSymbolColumn, StrandColumn = strandColumn }; using (var file = new TempFileCreator(rg)) { // Act var parser = new RefSeqParser(rg.Columns); var parsedGene = parser.Parse(file.TempFilePath).Chromosomes[rg.Chr].Strands[rg.Strand].Intervals.ToList()[0]; // Assert Assert.True(parsedGene.CompareTo(rg.Gene) == 0); } }
public void AssignHashKey() { // Arrange var rg = new RegionGenerator(); using (var file = new TempFileCreator(rg)) { // Act var parser = new RefSeqParser(); var parsedData = parser.Parse(file.TempFilePath); // Assert Assert.True(parsedData.Chromosomes[rg.Chr].Strands[rg.Strand].Intervals[0].GetHashCode() != 0); } }
public void TestDefaultRefSeqGenesColumnOrder() { // Arrange var rg = new RegionGenerator(); using (var file = new TempFileCreator(rg)) { // Act var parser = new RefSeqParser(); var parsedGene = parser.Parse(file.TempFilePath).Chromosomes[rg.Chr].Strands[rg.Strand].Intervals[0]; // Assert Assert.True(parsedGene.CompareTo(rg.Gene) == 0); } }
public void FullySetArguments() { // Arrange var rg = new RegionGenerator(); using (var file = new TempFileCreator(rg)) { // Act var parser = new RefSeqParser(rg.Columns); var parsedGene = parser.Parse(file.TempFilePath).Chromosomes[rg.Chr].Strands[rg.Strand].Intervals.ToList()[0]; // Assert Assert.True(parsedGene.CompareTo(rg.Gene) == 0); } }
public void ReadRefSeqID() { // Arrange var rg = new RegionGenerator { RefSeqID = "RefSeqID_001" }; using (var file = new TempFileCreator(rg)) { // Act var parser = new RefSeqParser(); var parsedData = parser.Parse(file.TempFilePath); // Assert Assert.True(parsedData.Chromosomes[rg.Chr].Strands[rg.Strand].Intervals[0].RefSeqID == rg.RefSeqID); } }
public void FailReadChr(string chr) { // Arrange var rg = new RegionGenerator { Chr = "chr1" }; using (var file = new TempFileCreator(rg)) { // Act var parser = new RefSeqParser(); var parsedData = parser.Parse(file.TempFilePath); // Assert Assert.False(parsedData.Chromosomes.ContainsKey(chr)); } }
public void ReadGeneSymbol() { // Arrange var rg = new RegionGenerator { GeneSymbol = "Symbol_001" }; using (var file = new TempFileCreator(rg)) { // Act var parser = new RefSeqParser(); var parsedData = parser.Parse(file.TempFilePath); // Assert Assert.True(parsedData.Chromosomes[rg.Chr].Strands[rg.Strand].Intervals.ToList()[0].GeneSymbol == rg.GeneSymbol); } }
public void MultiFeatureFile() { // Arrange var rg = new RegionGenerator { StrandColumn = 12 }; using (var file = new TempFileCreator(rg, genesCount: 10, headerLineCount: 2)) { // Act var parser = new RefSeqParser(); var parsedData = parser.Parse(file.TempFilePath); // Assert Assert.True(parsedData.Chromosomes[rg.Chr].Strands[rg.Strand].Intervals.Count == 10); } }
public TempFileCreator(RegionGenerator columns, int headerLineCount = 0, int genesCount = 1) { TempFilePath = Path.GetTempPath() + Guid.NewGuid().ToString() + ".refSeq"; FileStream stream = File.Create(TempFilePath); using (StreamWriter writer = new StreamWriter(stream)) { while (headerLineCount-- > 0) { writer.WriteLine(columns.GetSampleHeader()); } while (genesCount-- > 0) { writer.WriteLine(columns.GetSampleLine()); } } }
public void ReadStrand(char strand) { // Arrange var rg = new RegionGenerator { Strand = strand, StrandColumn = 5 }; using (var file = new TempFileCreator(rg)) { // Act var genesParser = new RefSeqParser(rg.Columns); var parsedData = genesParser.Parse(file.TempFilePath); // Assert Assert.True(parsedData.Chromosomes[rg.Chr].Strands.ContainsKey(strand)); } }