private static void FillSegments(TCR.Models.TCRContext context, string[] fields, Receptor receptor) { string[] alleles = fields[4].Split(new string[] { ", " }, StringSplitOptions.RemoveEmptyEntries); foreach (string allele in alleles) { VSegment segment = context.VSegments.First(s => s.Alleles == allele); receptor.VSegments.Add(segment); } alleles = fields[6].Split(new string[] { ", " }, StringSplitOptions.RemoveEmptyEntries); foreach (string allele in alleles) { DSegment segment = context.DSegments.First(s => s.Alleles == allele); receptor.DSegments.Add(segment); } alleles = fields[5].Split(new string[] { ", " }, StringSplitOptions.RemoveEmptyEntries); foreach (string allele in alleles) { JSegment segment = context.JSegments.First(s => s.Alleles == allele); receptor.JSegments.Add(segment); } }
private static void FillVSegments(TCR.Models.TCRContext context) { FileStream fileStream = new FileStream(ConfigurationManager.AppSettings["InitDataPath"] + "\\trbv.seg", FileMode.Open); StreamReader reader = new StreamReader(fileStream); string curStr = null; reader.ReadLine(); // Пропускаем названия столбцов List <VSegment> vSegments = new List <VSegment>(); while ((curStr = reader.ReadLine()) != null) { string[] fields = curStr.Split(' '); vSegments.Add(new VSegment { Alleles = fields[0], CDR3_Position = Convert.ToInt32(fields[1]), FullNucleoSequence = fields[2], NucleoSequence = fields[3], NucleoSequenceP = fields[4], }); } context.VSegments.AddRange(vSegments); context.SaveChanges(); }