Пример #1
0
<?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;
Пример #2
0
 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);
     }
 }