$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);
/** * Documentation for this function. */ function onEditNotebook($arg) { pageCall("notebook_edit.php", array('entryNumber' => $arg)); }
/** * 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); } } }
function onVisInterface() { if ($_SESSION['lastUsedModelID']) { pageCall("interface_setup2.php", array('modelID' => $_SESSION['lastUsedModelID'])); } else { pageCall("interface_setup1.php"); } }
/** * $arg is the name of the page to call. */ function onCall($page, $ctx = null) { pageCall($page, $ctx); }