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); } }