示例#1
0
        $pdbCode = $_GET["pdbCode"];
        mpLog("new-session:New session started by calling MolProbity directly with " . $pdbCode);
        mpLog("browser-detect:" . $_SERVER['HTTP_USER_AGENT']);
        mpLog("refered-by:" . $_SERVER['HTTP_REFERER']);
        if (strlen($pdbCode) > 10) {
            mpLog("bad-pdb:Invalid PDB code detected.");
            $pdbCode = "";
        }
        $_SESSION['bgjob']['pdbCode'] = $pdbCode;
        $_SESSION['bgjob']['isCnsFormat'] = false;
        $_SESSION['bgjob']['ignoreSegID'] = false;
        $_SESSION['bgjob']['biolunit'] = false;
        $_SESSION['bgjob']['eds_2fofc'] = false;
        $_SESSION['bgjob']['eds_fofc'] = false;
        // launch background job
        pageCall("job_progress.php");
        launchBackground(MP_BASE_DIR . "/jobs/addmodel.php", "upload_pdb_done.php", 3);
    } else {
        mpLog("new-session:New interactive user session started on the web");
        mpLog("browser-detect:" . $_SERVER['HTTP_USER_AGENT']);
        mpLog("refered-by:" . $_SERVER['HTTP_REFERER']);
    }
} elseif (isset($_REQUEST['eventID'])) {
    $eid = $_REQUEST['eventID'] + 0;
    if (isset($page['handlers'][$eid])) {
        $funcName = $page['handlers'][$eid]['funcName'];
        $funcArgs = $page['handlers'][$eid]['funcArgs'];
        // We use a variable function name here to call the handler.
        //$delegate->$funcName($funcArg, $_REQUEST);
        // Now this is *real* voodoo:
        call_user_func_array(array(&$delegate, $funcName), $funcArgs);
示例#2
0
 /**
 * Documentation for this function.
 */
 function onEditNotebook($arg)
 {
     pageCall("notebook_edit.php", array('entryNumber' => $arg));
 }
示例#3
0
 /**
 * Documentation for this function.
 */
 function onRunAnalysis()
 {
     $req = $_REQUEST;
     if ($req['cmd'] == 'Cancel') {
         pageReturn();
         return;
     }
     // Otherwise, moving forward:
     if (isset($req['modelID'])) {
         $_SESSION['lastUsedModelID'] = $req['modelID'];
         // this is now the current model
         unset($_SESSION['bgjob']);
         // Clean up any old data
         $_SESSION['bgjob'] = $req;
         mpLog("aacgeom:Running all-atom contact and geometric analyses");
         if ($req['kinClashes'] || $req['kinHbonds'] || $req['kinContacts'] || $req['chartClashlist']) {
             mpLog("aacgeom-aac:Generataing all-atom contact data of some type");
         }
         if ($req['kinRama'] || $req['chartRama']) {
             mpLog("aacgeom-rama:Doing Ramachandran analysis");
         }
         if ($req['kinRota'] || $req['chartRota']) {
             mpLog("aacgeom-rota:Doing rotamer analysis");
         }
         if ($req['kinGeom'] || $req['chartGeom']) {
             mpLog("aacgeom-geom:Doing geometry analysis");
         }
         if ($req['kinCBdev'] || $req['chartCBdev']) {
             mpLog("aacgeom-cbdev:Doing C-beta deviation analysis");
         }
         if ($req['kinBaseP'] || $req['chartBaseP']) {
             mpLog("aacgeom-basep:Validating base-phosphate distances vs sugar puckers");
         }
         if ($req['kinSuite'] || $req['chartSuite']) {
             mpLog("aacgeom-suite:Validating RNA backbone conformations");
         }
         if ($req['doKinemage']) {
             mpLog("aacgeom-mkin:Multi-criterion validation kinemage");
         }
         if ($req['doCharts']) {
             mpLog("aacgeom-mchart:Multi-criterion validation chart");
         }
         $modelID = $_SESSION['bgjob']['modelID'];
         // $model   = $_SESSION['models'][$modelID];
         if ($req['chartHoriz'] and !isset($_SESSION['models'][$modelID]['mtz_file'])) {
             // check to see if there is one mtz. If so, then link it to the
             // model being analyzed automatically
             $xrayDir = $_SESSION['dataDir'] . '/' . MP_DIR_XRAYDATA;
             if (file_exists($xrayDir)) {
                 $mtzs = array();
                 $handle = opendir($xrayDir);
                 while (false !== ($entry = readdir($handle))) {
                     if (substr($entry, -4) != ".mtz") {
                         continue;
                     }
                     $mtzs[] = $entry;
                 }
                 if (count($mtzs) == 1) {
                     $_SESSION['models'][$modelID]['mtz_file'] = $xrayDir . '/' . $mtzs[0];
                     // launch background job
                     pageGoto("job_progress.php");
                     launchBackground(MP_BASE_DIR . "/jobs/aacgeom.php", "generic_done.php", 5);
                 } else {
                     pageCall("link_model_2_mtz.php", array('modelID' => $modelID));
                 }
             } else {
                 pageCall("link_model_2_mtz.php", array('modelID' => $modelID));
             }
         } else {
             // launch background job
             pageGoto("job_progress.php");
             launchBackground(MP_BASE_DIR . "/jobs/aacgeom.php", "generic_done.php", 5);
         }
     }
 }
示例#4
0
 function onVisInterface()
 {
     if ($_SESSION['lastUsedModelID']) {
         pageCall("interface_setup2.php", array('modelID' => $_SESSION['lastUsedModelID']));
     } else {
         pageCall("interface_setup1.php");
     }
 }
示例#5
0
 /**
  * $arg is the name of the page to call.
  */
 function onCall($page, $ctx = null)
 {
     pageCall($page, $ctx);
 }