Exemplo n.º 1
0
        public static float CorrelationTest(string file1, string file2, string arrayFile = "")
        {
            var list1            = DegradomeToRpkm(file1);
            var list2            = DegradomeToRpkm(file2);
            var intersectionKeys = list1.Keys.Intersect(list2.Keys).ToArray();

            float[] farray1 = new float[intersectionKeys.Length];
            float[] farray2 = new float[intersectionKeys.Length];
            for (int i = 0; i < intersectionKeys.Length; i++)
            {
                farray1[i] = list1[intersectionKeys[i]];
                farray2[i] = list2[intersectionKeys[i]];
            }

            if (!string.IsNullOrWhiteSpace(arrayFile))
            {
                float[,] matrix = new float[2, intersectionKeys.Length];
                for (int i = 0; i < intersectionKeys.Length; i++)
                {
                    matrix[0, i] = farray1[i];
                    matrix[1, i] = farray2[i];
                }
                CsvMatrix.Save(matrix, arrayFile);
            }


            return((float)Stats.CorrelationTest(farray1, farray2));
        }
Exemplo n.º 2
0
        private void calculateButton_Click(object sender, EventArgs e)
        {
            //Compactness
            double[,] x = CsvMatrix.Read(xTextBox.Text);
            double[] compactnessArr = new double[files.Length];
            resultTextBox.Text = string.Empty;
            double[] mseArr = new double[files.Length];
            mseResultTextBox.Text = string.Empty;
            for (int i = 0; i < files.Length; i++)
            {
                int[] labels = FileExtension.Readlabels(files[i]);
                compactnessArr[i]      = Metrics.Compactness(x, labels);
                mseArr[i]              = Metrics.MeanSquaredError(x, labels);
                resultTextBox.Text    += compactnessArr[i].ToString() + "\r\n";
                mseResultTextBox.Text += mseArr[i].ToString("0.00000000") + "\r\n";
            }

            if (files.Length > 1)
            {
                resultTextBox.Text    += "Avg:" + compactnessArr.Average().ToString("0.00000000");
                mseResultTextBox.Text += "Avg:" + mseArr.Average().ToString("0.00000000");
            }

            Clipboard.SetText(resultTextBox.Text + "\r\n" + mseResultTextBox.Text);
            //Mean Squared Error
        }
        public void wt_3()
        {
            string[] files = new string[] {
                @"U:\JICWork\kmedoids\length_71\wt\kmedoids_k_3_round_16_labels.csv",
                @"U:\JICWork\kmedoids\length_71\wt\kmedoids_k_3_round_18_labels.csv",
                @"U:\JICWork\kmedoids\length_71\wt\kmedoids_k_3_round_63_labels.csv",
                @"U:\JICWork\kmedoids\length_71\wt\kmedoids_k_3_round_120_labels.csv",
                @"U:\JICWork\kmedoids\length_71\wt\kmedoids_k_3_round_175_labels.csv"
            };

            string distanceMatrixFile = @"U:\JICWork\rna_distance_matrix_71_wt.txt";

            double[,] distanceMatrix = CsvMatrix.Read(distanceMatrixFile);
            Console.WriteLine("File, Compactness, Mean Squared Error");
            foreach (string file in files)
            {
                int[] labels = FileExtension.Readlabels(file);

                Console.Write(file);
                Console.Write(",");
                Console.Write(Metrics.CompactnessByDistanceMatrix(distanceMatrix, labels).ToString("0.000000"));
                Console.Write(",");
                Console.WriteLine(Metrics.MeanSquaredErrorByDistance(distanceMatrix, labels).ToString("0.000000"));
                Console.Write("\r\n");
            }
        }
Exemplo n.º 4
0
        public static Sample[] GetMedoids(string labels_file, string dataset)
        {
            string x_file = $"{Config.WorkingFolder}\\cs_datasets\\{dataset}.csv";

            double[,] x = CsvMatrix.Read(x_file);
            int[] y = FileExtension.Readlabels(labels_file);
            return(Metrics.GetMedoids(x, y));
        }
Exemplo n.º 5
0
        private static double GetCompactnessByReactivity(string labels_file, DatasetCsv dataset)
        {
            string x_file = $"{Config.WorkingFolder}\\cs_datasets\\{dataset.XFile}";

            double[,] x = CsvMatrix.Read(x_file);
            int[] y = FileExtension.Readlabels(labels_file);
            return(Metrics.Compactness(x, y));
        }
Exemplo n.º 6
0
        private static double GetCompactnessByRnaDistance(string labels_file, DatasetCsv dataset)
        {
            string d_file = $"{Config.WorkingFolder}\\cs_datasets\\{dataset.XFile}";

            double[,] d = CsvMatrix.Read(d_file);
            int[] y = FileExtension.Readlabels(labels_file);
            return(Metrics.CompactnessByDistanceMatrix(d, y));
        }
Exemplo n.º 7
0
 public static void GenerateAverageReactivity()
 {
     foreach (DegradomeType dType in EnumUtil.GetValues <DegradomeType>())
     {
         double[,] matrix = CsvMatrix.Read($"{Config.WorkingFolder}cs_reactivity_{dType}_50.csv");
         double[] average = new double[matrix.GetLength(1)];
         double[] sdvArr  = new double[matrix.GetLength(1)];
         for (int col = 0; col < matrix.GetLength(1); col++)
         {
             //float sum = 0;
             List <double> iCol = new List <double>();
             for (int row = 0; row < matrix.GetLength(0); row++)
             {
                 iCol.Add(matrix[row, col]);
                 //sum += matrix[row, col];
             }
             average[col] = iCol.Average();// sum / matrix.GetLength(0);
             sdvArr[col]  = iCol.StandardDeviation();
         }
         //save file
         FileExtension.SaveList($"{Config.WorkingFolder}cs_reactivity_avg_{dType}_50.csv", average);
         FileExtension.SaveList($"{Config.WorkingFolder}cs_reactivity_std_{dType}_50.csv", average);
     }
 }