<?php if (!empty($_GET["chemical"])) { $query = $_GET["chemical"]; $queryFormat = $_GET["format"]; } if (!empty($_FILES["datafile"])) { $queryMol = $_FILES["datafile"]; $queryFormat = $_POST["format"]; } if ($queryFormat == "SMILES") { echo "<b>Query:</b> {$query}<br/>"; } if ($queryFormat == "SMARTS") { echo "<b>Query:</b> {$query}<br/>"; $query = convertSMARTS($query); } if ($queryFormat == "MOL") { $molecule = file_get_contents($queryMol["tmp_name"]); $query = convertMOL($molecule); echo "<b>Query (MolFile):</b> " . $queryMol["name"] . "<br/>"; } ?> </p> <h3>Results</h3> <p> <?php $db = pg_connect("user={$db_user} dbname={$db_name} host={$db_host} port={$db_port}");
function substructure($molTest, $type, $flag) { $info = array(); $total = array(); if ($type == "subs") { $searchSymbol = "@>"; $molType = "qmol"; } elseif ($type == "exact") { $searchSymbol = "@="; if ($flag == "smiles") { $molType = "mol"; } elseif ($flag == "smarts") { $molType = "mol"; $molTest = convertSMARTS($molTest); } } global $db_user, $db_name, $db_host, $db_port; $db = pg_connect("user={$db_user} dbname={$db_name} host={$db_host} port={$db_port}"); if (!$db) { die("Error in connection: " . pg_last_error()); } $sql = "SELECT DISTINCT mr.molregno,mr.m,md.chembl_id FROM mols_rdkit mr, molecule_dictionary md WHERE mr.m {$searchSymbol} '{$molTest}'::{$molType} AND mr.molregno=md.molregno"; $result = pg_query($db, $sql); if (!$result) { die("Error in SQL query: " . pg_last_error()); } while ($row = pg_fetch_array($result)) { if (empty($row[molregno])) { //echo '<center><b>No Results, please search again</b></center>'; $info = array("Molregno" => "NO", "ChEMBL_ID" => "NO", "SMILES" => "NO"); } else { $info = array("Molregno" => "{$row['molregno']}", "ChEMBL_ID" => "{$row['chembl_id']}", "SMILES" => "{$row['m']}"); //echo "<b>Molecule:</b> " . $row[m] . "<br/>"; } array_push($total, $info); } return $total; }