Beispiel #1
0
 private static string FormatSampleGenotype(SnpResult snp, List<string> alleles, string reference)
 {
     string[] variants = snp.Genotype.ToArray().Select(x => x.ToString()).ToArray();
     List<string> map = new List<string>();
     foreach (var variant in variants)
     {
         if (snp.RSID == "rs397515963")
         {
             if (variant == "-")
             {
                 map.Add("0");
             }
             else
             {
                 map.Add("1");
             }
         }
         else
         {
             if (variant == reference)
             {
                 map.Add("0");
             }
             else
             {
                 map.Add((alleles.IndexOf(variant) + 1).ToString());
             }
         }
     }
     return string.Join("|", map);
 }
Beispiel #2
0
        public override void LoadData(string filePath)
        {
            string[] data = File.ReadAllLines(filePath);
            foreach (var dataLine in data.Skip(1))
            {
                var patientRepo = new PatientRepository();
                var sourceRepo = new SourceRepository();
                var entityRepo = new EntityRepository();

                var fields = dataLine.Split(Delimiter);
                var patient = patientRepo.AddPatient(fields[0], fields[1], fields[2], fields[3], DateTime.Parse(fields[4]));
                var resultedOn = DateTime.Parse(fields[5]);
                var lab = fields[6];
                var snps = new List<SnpResult>();
                for (int fieldIndex = 7; fieldIndex < 135; fieldIndex += 4)
                {
                    var snp = new SnpResult()
                    {
                        RSID = fields[fieldIndex],
                        Chromosome = fields[fieldIndex + 1],
                        Position = int.Parse(fields[fieldIndex + 2]),
                        Genotype = fields[fieldIndex + 3],
                        ReferenceBase = referenceBases[fields[fieldIndex]]
                    };
                    snps.Add(snp);
                }

                var source = sourceRepo.AddSource(lab, string.Empty);
                var file = AddResultFile(filePath, source);
                entityRepo.AddSnps(file, patient, resultedOn, snps);
            }
        }
Beispiel #3
0
 static string GetVariant(SnpResult snp)
 {
     char[] variant = snp.Genotype.ToCharArray();
     if (variant[0] != variant[1])
     {
         return string.Format("Variant_seq={0},{1};Variant_reads=10,10;Genotype=heterozygous", variant[0], variant[1]);
     }
     else
     {
         return string.Format("Variant_seq={0};Variant_reads=10;Genotype=homozygous", variant[0]);
     }
 }
Beispiel #4
0
        static void Main(string[] args)
        {
            // Read in our list of patients and their corresponding randomization variables
            var data = File.ReadAllLines(ConfigurationManager.AppSettings["GVFList"]);
            foreach (var dataLine in data.Skip(1))
            {
                var fields = dataLine.Split(Delimiter);
                var dataRow = new DataRow()
                {
                    MRN = fields[0],
                    MRNSource = fields[1],
                    FirstName = fields[2],
                    LastName = fields[3],
                    DOB = DateTime.Parse(fields[4]),
                    ResultedOn = DateTime.Parse(fields[5]),
                    Lab = fields[6],
                    SNPs = new List<SnpResult>()
                };

                for (int fieldIndex = 7; fieldIndex < 135; fieldIndex += 4)
                {
                    var snp = new SnpResult()
                    {
                        RSID = fields[fieldIndex],
                        Chromosome = fields[fieldIndex + 1],
                        Position = int.Parse(fields[fieldIndex + 2]),
                        Genotype = fields[fieldIndex + 3]
                    };
                    dataRow.SNPs.Add(snp);
                }

                GenerateGVF(dataRow);
            }
        }
Beispiel #5
0
 static List<string> GetVariants(SnpResult snp, string reference)
 {
     string[] variants = snp.Genotype.ToArray().Select(x => x.ToString()).ToArray();
     List<string> results = new List<string>();
     foreach (var variant in variants)
     {
         // Special handling for the insertion SNP
         if (snp.RSID == "rs397515963")
         {
             if (variant != "-" && !results.Contains("GG"))
             {
                 results.Add("GG");
             }
         }
         else if (variant != reference && !results.Contains(variant))
         {
             results.Add(variant);
         }
     }
     return results;
 }