Esempio n. 1
0
        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");
        }
Esempio n. 2
0
        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]);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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");
            }
        }
Esempio n. 7
0
        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);
        }
Esempio n. 9
0
        public static bool HasEfficiency_Gene(CleavageSite site, DegradomeType dType)
        {
            var dict = LoadDict(dType);

            return(dict[site.Gene].Count > 0);
        }
Esempio n. 10
0
 public static float GetEfficiency(CleavageSite site, DegradomeType dType)
 {
     return(GetEfficiency(site.Gene, site.StartAt - 1 + 10, site.StartAt - 1 + 11, dType));
 }
Esempio n. 11
0
        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());
        }