public static void Generate(DegradomeType dType, int length, int index) { string dotBracket = GetStruct(dType, length, index); string outputFile = RnaPlotWrapper.Plot(dotBracket); File.Copy(outputFile, $"{Config.WorkingFolder}\\cs_rna_struct\\plot\\{dType}_{length}_{index}.svg"); Svg.SvgDocument doc = SvgDocument.Open(outputFile); doc.Draw().Save($"{Config.WorkingFolder}\\cs_rna_struct\\plot\\{dType}_{length}_{index}.png"); }
public static float GetEfficiency(string gene, int position, DegradomeType dType) { var dict = LoadDict(dType); if (!dict[gene].ContainsKey(position)) { return(0); } return(dict[gene][position]); }
private static Dictionary <string, Dictionary <int, float> > LoadDict(DegradomeType type) { if (dict.ContainsKey(type)) { return(dict[type]); } var subdict = Serializer.Deserialize <Dictionary <string, Dictionary <int, float> > >($"ce_{type}_dict.bin"); dict[type] = subdict; return(subdict); }
public static bool HasEfficiency_21(CleavageSite site, DegradomeType dType) { var dict = LoadDict(dType); for (int i = 0; i <= 21; i++) { if (dict[site.Gene].ContainsKey(site.StartAt - 1 + i)) { return(true); } } return(false); }
public static float GetEfficiency(string gene, int start, int endAt, DegradomeType dType) { var dict = LoadDict(dType); float sum = 0; for (int i = start; i <= endAt; i++) { if (dict[gene].ContainsKey(i)) { sum += dict[gene][i]; } } return(sum); }
public static string GetDegradomeFile(DegradomeType dType) { switch (dType) { case DegradomeType.wt: return(DegradomeWTFile); case DegradomeType.xrn4: return(DegradomeXrn4File); default: throw new Exception("wrong degradome type"); } }
private static string GetStruct(DegradomeType dType, int length, int index) { string structFolder = $"{Config.WorkingFolder}\\cs_rna_struct\\"; string structFile = $"{structFolder}\\cs_structure_{length}_{dType}.txt"; string dotBracket = ""; using (StreamReader sr = new StreamReader(structFile)) { for (int i = 0; i < index; i++) { sr.ReadLine(); } dotBracket = sr.ReadLine(); } return(dotBracket); }
private static float[][] GetAverageAndStandardDeviation(int datasetIndex, DegradomeType dType) { var list = ReadCleavageSite($"{Config.WorkingFolder}\\cleavage_sites_{dType}_{datasetIndex}.csv"); float[][] matrix = new float[21][]; float[][] stats = new float[2][]; //average stats[AVG] = new float[21]; //StandardDeviation stats[SD] = new float[21]; for (int col = 0; col < 21; col++) { matrix[col] = new float[list.Count]; for (int row = 0; row < list.Count; row++) { try { var site = list[row]; matrix[col][row] = Reactivity.GetReactivity(site.Gene, site.StartAt - 1 + col); } catch { } } } for (int col = 0; col < 21; col++) { stats[AVG][col] = matrix[col].Average(); stats[SD][col] = (float)matrix[col].StandardDeviation(); } return(stats); }
public static bool HasEfficiency_Gene(CleavageSite site, DegradomeType dType) { var dict = LoadDict(dType); return(dict[site.Gene].Count > 0); }
public static float GetEfficiency(CleavageSite site, DegradomeType dType) { return(GetEfficiency(site.Gene, site.StartAt - 1 + 10, site.StartAt - 1 + 11, dType)); }
private static string GetSequence(DegradomeType deg, int length, int index) { string seqFile = $"{Config.WorkingFolder}\\cs_rna_struct\\{deg}\\{length}\\{index}.seq"; return(FileExtension.ReadList(seqFile).Last()); }