예제 #1
0
        static int GenomeAlignmentFromCmd(string[] args)
        {
            string keyFilePath             = args[0];
            string rCmapFilePath           = args[1];
            string outputDirPath           = args[2];
            int    projectId               = int.Parse(args[3]);
            float  lengthFilter            = float.Parse(args[4]) * 1000;
            float  confidenceFilter        = float.Parse(args[5]);
            float  alignedLenPercentFilter = float.Parse(args[6]);
            string queryLocation           = args[7];
            bool   saveChannel1            = int.Parse(args[8]) == 1 ? true : false;
            bool   saveChannel2            = int.Parse(args[9]) == 1 ? true : false;

            int readKeyChroms = CMAPParser.ReadKeyFile(keyFilePath);
            Tuple <List <int>, List <Tuple <int, int, int> > > locations = UserInputParser.getLocations(queryLocation, null);
            List <int> chromIdsFilter = locations.Item1;
            List <Tuple <int, int, int> > chromStartEndFilter = locations.Item2;

            CMAPParser.rCmapPositions = CMAPParser.ParseCmap(rCmapFilePath, 1);

            List <Molecule> selectedMolecules = DatabaseManager.SelectMoleculesForGenomeAlignment(projectId, lengthFilter, confidenceFilter, alignedLenPercentFilter, null, chromIdsFilter,
                                                                                                  chromStartEndFilter);

            foreach (Molecule molecule in selectedMolecules)
            {
                CMAPParser.FitMoleculeToRef(molecule, saveChannel1, saveChannel2, outputDirPath);
            }

            return(0);
        }
예제 #2
0
        private void get_output_button_Click(object sender, EventArgs e)
        {
            Stopwatch stopwatch   = new Stopwatch();
            string    rCmapPath   = r_cmap_file_path_txtbx.Text;
            string    keyFilePath = key_file_path_txtbx2.Text;
            string    outputDir   = output_dir_txtbx.Text;

            if (String.IsNullOrEmpty(rCmapPath) || String.IsNullOrEmpty(keyFilePath))
            {
                MessageBox.Show("r_cmap and key file required for analysis", "Missing file");
                return;
            }
            if (String.IsNullOrEmpty(outputDir))
            {
                MessageBox.Show("Missing output directory path", "Missing path");
                return;
            }
            stopwatch.Start();
            CMAPParser.rCmapPositions = CMAPParser.ParseCmap(rCmapPath, 1);
            if (CMAPParser.rCmapPositions == null)
            {
                MessageBox.Show("Unable to open file: " + rCmapPath, "Problem accessing file");
                return;
            }
            int chroms = CMAPParser.ReadKeyFile(keyFilePath);

            if (chroms < 0)
            {
                MessageBox.Show("Unable to open file: " + keyFilePath, "Problem accessing file");
                return;
            }
            List <Molecule> selectedMolecules = DatabaseManager.SelectMoleculesForGenomeAlignment(projectID, lengthFilter, confidenceFilter, alignedLenPercentFilter, molIdsFilterArray, chromIdsFilter,
                                                                                                  chromStartEndFilter);

            foreach (Molecule molecule in selectedMolecules)
            {
                CMAPParser.FitMoleculeToRef(molecule, save_ch1_checkbx.Checked, save_ch2_checkbx.Checked, outputDir);
            }
            MessageBox.Show(stopwatch.Elapsed.ToString());
        }