public static void GenerateCleavageSiteFiles_Yang() { List <CleavageSite> sites = new List <CleavageSite>(); string[] lines = FileExtension.ReadList(Config.WorkingFolder + "cleavage_sites.csv"); Console.WriteLine($"Total Cleavage Sites:{lines.Length}"); foreach (string line in lines) { var arr = line.Split('_'); CleavageSite site = CleavageSite.Parse(line); sites.Add(site); } Console.WriteLine($"After filtered by clevage efficiency and reactivity:{sites.Count}"); //Generate 4 files filtered by 4 degradome datasets. foreach (DegradomeType dType in EnumUtil.GetValues <DegradomeType>()) { StringBuilder site_content_1 = new StringBuilder(); StringBuilder site_content_3 = new StringBuilder(); StringBuilder site_content_4 = new StringBuilder(); foreach (CleavageSite site in sites) { //if (site.Extendability < 50) //{ // break; //} float efficiency = Efficiency.GetEfficiency(site, dType); if (efficiency > 0) { site_content_1.AppendLine(site.ToStringWithMiRNANames()); } else if (Efficiency.HasEfficiency_21(site, dType)) { site_content_3.AppendLine(site.ToStringWithMiRNANames()); } else if (Efficiency.HasEfficiency_Gene(site, dType)) { site_content_4.AppendLine(site.ToStringWithMiRNANames()); } } FileExtension.Save(site_content_1.ToString(), Config.WorkingFolder + "\\cleavage_sites_" + dType + "_1.csv"); FileExtension.Save(site_content_3.ToString(), Config.WorkingFolder + "\\cleavage_sites_" + dType + "_3.csv"); FileExtension.Save(site_content_4.ToString(), Config.WorkingFolder + "\\cleavage_sites_" + dType + "_4.csv"); } }
public static void GenerateEfficiencies() { var sites = CleavageSiteUtility.Deserialize(); foreach (var type in EnumUtil.GetValues <DegradomeType>()) { float[] efficiencies = new float[sites.Count]; for (int i = 0; i < sites.Count; i++) { efficiencies[i] = Efficiency.GetEfficiency(sites[i].Gene, sites[i].StartAt - 1 + 10, sites[i].StartAt - 1 + 20, type); } //print string content = string.Empty; for (int i = 0; i < efficiencies.Length; i++) { content += efficiencies[i].ToString() + "\n"; } FileExtension.Save(content, Config.WorkingFolder + "cs_efficiencies_" + type.ToString() + ".csv"); } }
public static void GenerateCleavageSiteFiles() { List <CleavageSite> sites = new List <CleavageSite>(); string[] lines = FileExtension.ReadList(Config.WorkingFolder + "cleavage_sites.csv"); Console.WriteLine($"Total Cleavage Sites:{lines.Length}"); foreach (string line in lines) { var arr = line.Split('_'); CleavageSite site = CleavageSite.Parse(line); sites.Add(site); } Console.WriteLine($"After filtered by cleavage efficiency and reactivity:{sites.Count}"); //Generate 4 files filtered by 4 degradome datasets. foreach (DegradomeType dType in EnumUtil.GetValues <DegradomeType>()) { string site_content = string.Empty; string efficiency_content = string.Empty; string efficiency_log_content = string.Empty; string reactivity_content = string.Empty; string reactivity_25_content = string.Empty; string reactivity_50_content = string.Empty; //string reactivity_75_content = string.Empty; //string reactivity_100_content = string.Empty; foreach (CleavageSite site in sites) { if (site.Extendability < 50) { break; } //if the cleavage efficiency is zero, //we can say that this is not a cleavage site. //filter it out. float efficiency = Efficiency.GetEfficiency(site, dType); if (efficiency == 0) { continue; } site_content += site.ToString() + "\n"; efficiency_content += efficiency.ToString() + "\n"; efficiency_log_content += Math.Log(efficiency).ToString() + "\n"; for (int j = 0; j < 21; j++) { reactivity_content += Reactivity.GetReactivity(site.Gene, site.StartAt - 1 + j) + ","; } for (int j = 0 - 25; j < 21 + 25; j++) { reactivity_25_content += Reactivity.GetReactivity(site.Gene, site.StartAt - 1 + j) + ","; } for (int j = 0 - 50; j < 21 + 50; j++) { reactivity_50_content += Reactivity.GetReactivity(site.Gene, site.StartAt - 1 + j) + ","; } reactivity_content = reactivity_content.TrimEnd(',') + "\n"; reactivity_25_content = reactivity_25_content.TrimEnd(',') + "\n"; reactivity_50_content = reactivity_50_content.TrimEnd(',') + "\n"; } FileExtension.Save(site_content, Config.WorkingFolder + "\\cleavage_site_" + dType + ".csv"); FileExtension.Save(efficiency_content, Config.WorkingFolder + "\\cs_efficiencies_" + dType + ".csv"); FileExtension.Save(efficiency_log_content, Config.WorkingFolder + "\\cs_efficiencies_log_" + dType + ".csv"); FileExtension.Save(reactivity_content, Config.WorkingFolder + "\\cs_reactivity_" + dType + ".csv"); FileExtension.Save(reactivity_25_content, Config.WorkingFolder + "\\cs_reactivity_" + dType + "_25.csv"); FileExtension.Save(reactivity_50_content, Config.WorkingFolder + "\\cs_reactivity_" + dType + "_50.csv"); //FileExtension.Save(reactivity_75_content, Config.WorkingFoler + "\\cs_reactivity_" + dType + "_75.csv"); //FileExtension.Save(reactivity_100_content, Config.WorkingFoler + "\\cs_reactivity_" + dType + "_100.csv"); } }