<?php include_once '/usr/local/lib/openbabel.php'; $obMol = new OBMol(); $obMol->NewAtom(); $numAtoms = $obMol->NumAtoms(); # now 1 atom $obMol->NewAtom(); $obMol->AddBond(1, 2, 1); $numBonds = $obMol->NumBonds(); # now 1 bond $obMol->Clear(); $obConversion = new OBConversion(); $obConversion->SetInAndOutFormats("smi", "svg"); $obConversion->ReadString($obMol, "C1=CC=CS1"); $numAtoms = $obMol->NumAtoms(); # now 5 atoms $obMol->AddHydrogens(); $numAtoms = $obMol->NumAtoms(); # now 9 atoms $outMDL = $obConversion->WriteString($obMol); echo $outMDL;
public function write($format = 'smi', $filename = null, $overwrite = false, $opt = array()) { $OBConversion = new \OBConversion(); $OBConversion->SetOutFormat($format); # set options if (!empty($opt)) { foreach ($opt as $k => $v) { if ($v === null) { $OBConversion->AddOption($k, $OBConversion::OUTOPTIONS, $v); } else { $OBConversion->AddOption($k, $OBConversion::OUTOPTIONS); } } } if (!empty($filename)) { if (!file_exists($filename) || file_exists($filename) && $overwrite) { return $OBConversion->WriteFile($this->OBMol, $filename); } } else { return $OBConversion->WriteString($this->OBMol); } }