Esempio n. 1
0
 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);
     }
 }
Esempio n. 2
0
        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();
        }