private static GeneInfo ParseGeneInfo(string GeneInfoStr) { GeneInfo Gene = new GeneInfo(); //Regex R = new Regex(@"\nNAME\s+(.+)\n", RegexOptions.Multiline); Regex R = new Regex(@"ENTRY\s+(\w+)\s+", RegexOptions.Multiline); Match M = R.Match(GeneInfoStr); Gene.GeneName = M.Groups[1].Captures[0].Value; R = new Regex(@"\nORGANISM\s+((\w+)\s+(.+))\n", RegexOptions.Multiline); M = R.Match(GeneInfoStr); Gene.OrganizmAlias = M.Groups[2].Captures[0].Value; Gene.OrganizmName = M.Groups[3].Captures[0].Value; // get position: to get chr (plasmid / chromosome) R = new Regex(@"\nPOSITION\s+((\d:)?(\d+)..(\d+))\n", RegexOptions.Multiline); M = R.Match(GeneInfoStr); if (M.Success) { if (M.Groups[2].Captures.Count != 0) { Gene.Chr = int.Parse(M.Groups[2].Captures[0].Value.Replace(":", "")); } else { Gene.Chr = 0; } Gene.Start = int.Parse(M.Groups[3].Captures[0].Value); Gene.Stop = int.Parse(M.Groups[4].Captures[0].Value); } return(Gene); }
public static string AddFastaDescription(string Fasta, GeneInfo Info) { return(">" + Info.OrganizmAlias + "|" + Info.GeneName + "\n" + Fasta); }
public static string AddFastaDescription(string Fasta, GeneInfo Info) { return ">" + Info.OrganizmAlias + "|" + Info.GeneName + "\n" + Fasta; }
private static GeneInfo ParseGeneInfo(string GeneInfoStr) { GeneInfo Gene = new GeneInfo(); //Regex R = new Regex(@"\nNAME\s+(.+)\n", RegexOptions.Multiline); Regex R = new Regex(@"ENTRY\s+(\w+)\s+", RegexOptions.Multiline); Match M = R.Match(GeneInfoStr); Gene.GeneName = M.Groups[1].Captures[0].Value; R = new Regex(@"\nORGANISM\s+((\w+)\s+(.+))\n", RegexOptions.Multiline); M = R.Match(GeneInfoStr); Gene.OrganizmAlias = M.Groups[2].Captures[0].Value; Gene.OrganizmName = M.Groups[3].Captures[0].Value; // get position: to get chr (plasmid / chromosome) R = new Regex(@"\nPOSITION\s+((\d:)?(\d+)..(\d+))\n", RegexOptions.Multiline); M = R.Match(GeneInfoStr); if (M.Success) { if (M.Groups[2].Captures.Count != 0) Gene.Chr = int.Parse(M.Groups[2].Captures[0].Value.Replace(":", "")); else Gene.Chr = 0; Gene.Start = int.Parse(M.Groups[3].Captures[0].Value); Gene.Stop = int.Parse(M.Groups[4].Captures[0].Value); } return Gene; }