mirror of
https://github.com/openbabel/openbabel.git
synced 2025-02-25 18:55:23 -06:00
Merged changes from 2.0.1 fixes that were not already integrated into 2.1.
This commit is contained in:
176
ChangeLog
176
ChangeLog
@@ -20,6 +20,149 @@
|
||||
ensure formula are read in correctly by adding ForceNoH() and
|
||||
calling Assign SpinMultiplicity in the right place.
|
||||
|
||||
2006-04-15 Geoffrey Hutchison <babel@geoffhutchison.net>
|
||||
|
||||
* test/Makefile.am, test/Makefile.in: Only run CML tests if XML
|
||||
formats were compiled. (i.e., if libxml not available, can't test
|
||||
CML)
|
||||
|
||||
* test/ringtest.sh, test/smartstest.sh, test/cmltest/test.sh:
|
||||
Minor shell script portability fixes.
|
||||
|
||||
2006-04-13 Geoffrey Hutchison <babel@geoffhutchison.net>
|
||||
|
||||
* scripts/perl/META.yml, scripts/python/setup.py: Packaging
|
||||
changes for the scripting wrappers.
|
||||
|
||||
* src/formats/mdlformat.cpp: Remove inadvertent debug statement
|
||||
left from yesterday.
|
||||
|
||||
2006-04-12 Geoffrey Hutchison <babel@geoffhutchison.net>
|
||||
|
||||
* src/formats/mdlformat.cpp (ReadMolecule): Add support for atom
|
||||
stereo in v2000 format and OBChiralData. Partly addresses
|
||||
PR#1463796.
|
||||
|
||||
* src/formats/smilesformat.cpp (GetChiralStereo): If we have a 2D
|
||||
molecule and stereochemistry is unspecified, don't assume we have
|
||||
a particular stereochemistry. Partly address PR#1463796.
|
||||
Also fix a problem with writing chiral "H" designations with explicit
|
||||
hydrogens, introduced with yesterday's fix to
|
||||
OBAtom::ImplicitHydrogenCount.
|
||||
|
||||
2006-04-11 Geoffrey Hutchison <babel@geoffhutchison.net>
|
||||
|
||||
* src/obconversion.h, src/obconversion.cpp: Added a test to be
|
||||
sure that we do not check gzip encoding multiple times (much less
|
||||
try to gzip repeatedly). Fix PR#1465586 where ReadString() or
|
||||
ReadFile() followed by Read() will fail because input streams are
|
||||
closed prematurely.
|
||||
|
||||
* src/atom.cpp (ImplicitHydrogenCount): Fix a bug where formulas
|
||||
were calculated incorrectly -- explicit hydrogens should count
|
||||
against an implicit hydrogen count too. Fixes part of PR#1463787.
|
||||
(i.e., SMARTS 'h' token was matching total number of hydrogens)
|
||||
|
||||
* src/mol.cpp (AddBond): Fix a bug exposed by PDB parsing, where
|
||||
code attempts to add a bond from one atom to itself.
|
||||
|
||||
* src/formats/mol2format.cpp: Fix residue parsing to remove
|
||||
calls to create a residue when in fact, the molecule has no residues.
|
||||
|
||||
* src/formats/pdbformat.cpp: Fix CONECT record parsing to read
|
||||
malformed records (e.g., created by very old Open Babel versions)
|
||||
via splitting by spaces. Fixes PR#1468802.
|
||||
|
||||
* src/parsmart.cpp: Reformat indentation for clearer code
|
||||
reading. Fix bug with syntax of 'H' token -- should refer to the
|
||||
*total* number of hydrogens. PR#1463787.
|
||||
|
||||
* test/smartsresults.txt: Regenerate after above bug-fixes.
|
||||
|
||||
* src/formats/crkformat.cpp (ReadCRK): Change to correctly read
|
||||
multi-molecule files, where the </Structure2D> tag would appear,
|
||||
but parsing would continue, uncovered using roundtrip testing.
|
||||
|
||||
2006-04-08 Geoffrey Hutchison <babel@geoffhutchison.net>
|
||||
|
||||
* scripts/openbabel.i, scripts/*: Update to add Cygwin DLL headers.
|
||||
|
||||
* THANKS: Update with contributors to 2.0.1 release.
|
||||
|
||||
2006-04-06 Geoffrey Hutchison <babel@geoffhutchison.net>
|
||||
|
||||
* src/dlhandler_unix.cpp: Upgrade to use the opendir/readdir
|
||||
replacement for the non-portable scandir contributed by Mikael
|
||||
Johansson.
|
||||
|
||||
* src/formats/Makefile.am, src/formats/Makefile.in: Fix error in
|
||||
logic with building inchi, introduced yesterday. D'oh!
|
||||
|
||||
* src/formats/inchi/Makefile.am, src/formats/inchi/Makefile.in:
|
||||
Add --no-undefined flag to produce proper compilation on Windows
|
||||
(i.e., Cygwin).
|
||||
|
||||
2006-04-05 Geoffrey Hutchison <babel@geoffhutchison.net>
|
||||
|
||||
* NEWS: Update for 2.0.1 release notes.
|
||||
|
||||
* configure, configure.in, acinclude.m4: Add new configure options
|
||||
for silent libtool use & compiler flags.
|
||||
|
||||
* scripts/Makefile.am, scripts/Makefile.in: Provide better
|
||||
"distclean" target to remove python build targets and backup
|
||||
files.
|
||||
|
||||
* src/mol.h: Update IsRotor() and NumRotors() documentation to
|
||||
explain the current minimal definition of a rotatable
|
||||
bond. Addresses PR#1463505.
|
||||
|
||||
* src/oberror.cpp: By default, retain a maximum of the 100 most
|
||||
recent entries in the error log in memory. All errors will be
|
||||
filtered and sent to output, but only retain some (not all). Fixes
|
||||
PR#1439893.
|
||||
|
||||
* src/formats/inchi/Makefile.am, src/formats/inchi/Makefile.in:
|
||||
Only install the inchi_api.h header.
|
||||
|
||||
* src/formats/xml/Makefile.am, src/formats/xml/Makefile.in: Turn
|
||||
off optimization -- appears to fix crashes on FC4 and FC5,
|
||||
PR#1447233.
|
||||
|
||||
* src/formats/xml/xml.h: Add std:: namespace declarations, solving
|
||||
compilation problems on some GCC compiler versions.
|
||||
|
||||
* src/formats/Makefile.am, */Makefile.in: Changes to only build
|
||||
libinchi when the library is not available on the system. Fixes
|
||||
PR#146451.
|
||||
|
||||
2006-03-28 Geoffrey Hutchison <babel@geoffhutchison.net>
|
||||
|
||||
* test/aromatest.cpp: New test to check aromaticity. When supplied
|
||||
with a test file, it checks to be sure all non-hydrogen atoms are
|
||||
aromatic.
|
||||
|
||||
* scripts/*: Update scripting wrappers with SWIG 1.3.29.
|
||||
|
||||
* src/Makefile.am, src/Makefile.in : Add @LIBDL@ as
|
||||
suggested by Michael Shigorin (PR#1458706). Make sure
|
||||
babelconfig.h isn't included in dist tarball, as suggested by
|
||||
Michael Banck.
|
||||
|
||||
2006-03-27 Michael Banck <mbanck@gmx.net>
|
||||
|
||||
* src/fingerprint.h: Fix compilation error with gcc-4.1.
|
||||
Patch by <vlaaad@users.sourceforge.net>.
|
||||
* src/formats/copyformat.cpp: Likewise.
|
||||
* src/formats/crkformat.cpp: Likewise.
|
||||
* src/formats/xml/cmlreactlformat.cpp: Likewise.
|
||||
* src/formats/xml/xml.h: Likewise.
|
||||
* src/formats/xml/xmlformat.cpp: Likewise.
|
||||
|
||||
* src/formats/fastaformat.cpp: Include babelconfig.h.
|
||||
|
||||
* src/rand.cpp: Include <time.h> and <sys/time.h>.
|
||||
|
||||
2006-03-18 Chris Morley <ob@gaseq.co.uk>
|
||||
|
||||
* src/obconversion.cpp, obconversion.h,
|
||||
@@ -44,43 +187,12 @@
|
||||
|
||||
* src/GUI/OBGUI.cpp:Added warning when output extensions mixed.
|
||||
|
||||
*/src/GUI/optswx.cpp: Be less restrictive with punctuation in options.
|
||||
* src/GUI/optswx.cpp: Be less restrictive with punctuation in options.
|
||||
|
||||
* src/formats/inchiformat.cpp: Now calculates InChI for C and CH.
|
||||
|
||||
* src/formats/thermoformat.cpp: minor parsing corrections
|
||||
|
||||
2006-03-28 Geoffrey Hutchison <babel@geoffhutchison.net>
|
||||
|
||||
* test/aromatest.cpp: New test to check aromaticity. When supplied
|
||||
with a test file, it checks to be sure all non-hydrogen atoms are
|
||||
aromatic.
|
||||
|
||||
* scripts/*: Update scripting wrappers with SWIG 1.3.29.
|
||||
|
||||
* src/Makefile.am, src/Makefile.in : Add @LIBDL@ as
|
||||
suggested by Michael Shigorin (PR#1458706). Make sure
|
||||
babelconfig.h isn't included in dist tarball, as suggested by
|
||||
Michael Banck.
|
||||
|
||||
2006-03-27 Michael Banck <mbanck@gmx.net>
|
||||
|
||||
* src/rand.cpp: Include <time.h> and <sys/time.h>.
|
||||
|
||||
2006-03-27 Michael Banck <mbanck@gmx.net>
|
||||
|
||||
* src/fingerprint.h: Fix compilation error with gcc-4.1.
|
||||
Patch by <vlaaad@users.sourceforge.net>.
|
||||
* src/formats/copyformat.cpp: Likewise.
|
||||
* src/formats/crkformat.cpp: Likewise.
|
||||
* src/formats/xml/cmlreactlformat.cpp: Likewise.
|
||||
* src/formats/xml/xml.h: Likewise.
|
||||
* src/formats/xml/xmlformat.cpp: Likewise.
|
||||
|
||||
2006-03-27 Michael Banck <mbanck@gmx.net>
|
||||
|
||||
* src/formats/fastaformat.cpp: Include babelconfig.h.
|
||||
|
||||
2006-03-16 Chris Morley <ob@gaseq.co.uk>
|
||||
|
||||
* data/atomtyp.txt: IMPVAL for halogen ions
|
||||
|
||||
@@ -88,12 +88,15 @@ AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_DOCS_FALSE = @BUILD_DOCS_FALSE@
|
||||
BUILD_DOCS_TRUE = @BUILD_DOCS_TRUE@
|
||||
BUILD_INCHI_FALSE = @BUILD_INCHI_FALSE@
|
||||
BUILD_INCHI_TRUE = @BUILD_INCHI_TRUE@
|
||||
BUILD_SCRIPTS_FALSE = @BUILD_SCRIPTS_FALSE@
|
||||
BUILD_SCRIPTS_TRUE = @BUILD_SCRIPTS_TRUE@
|
||||
BUILD_SHARED_FALSE = @BUILD_SHARED_FALSE@
|
||||
@@ -118,6 +121,7 @@ CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DOXYGEN = @DOXYGEN@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
@@ -142,6 +146,7 @@ MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
@@ -168,9 +173,12 @@ XML2_CONFIG = @XML2_CONFIG@
|
||||
XML_CPPFLAGS = @XML_CPPFLAGS@
|
||||
XML_LIBS = @XML_LIBS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_AS = @ac_ct_AS@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
|
||||
30
NEWS
30
NEWS
@@ -1,4 +1,32 @@
|
||||
Open Babel 2.0 (2005-11-25)
|
||||
Open Babel 2.0.1 (2006-04-17)
|
||||
|
||||
What's New from 2.0.0:
|
||||
|
||||
This release represents a bug-fix release and should be a stable upgrade,
|
||||
recommended for all users of Open Babel.
|
||||
|
||||
- Support for dynamic building on the Cygwin environment. This fixes a
|
||||
long-standing problem that made Open Babel useless to Cygwin users.
|
||||
- Fixed a variety of memory leaks and improved overall memory use.
|
||||
More work to reduce memory consumption is underway for the 2.1 release.
|
||||
- Improved Perl and Python scripting wrappers, including many
|
||||
bug-fixes.
|
||||
- Fixes to the "make check" test suite, which should prevent problems
|
||||
running before babel is installed.
|
||||
- Fixes compilation problems with AIX, Fedora Core 4, and the
|
||||
newly-released GCC-4.1.
|
||||
- Fixed several reported compilation problems with Windows builds
|
||||
using VisualC++.
|
||||
- Fixed several reported crashes.
|
||||
- Fixed problems with the Turbomole format, thanks to Mikael
|
||||
Johansson.
|
||||
- Fixed a bug with PDB files with coordinates < -1000 Ang.
|
||||
- Improved support for the Sybyl mol2 format, thanks to Kevin Parkes.
|
||||
- Fixed a variety of typos in the API documentation.
|
||||
- Countless bug fixes.
|
||||
|
||||
|
||||
Open Babel 2.0 (2005-11-26)
|
||||
|
||||
What's New from 1.100.2:
|
||||
|
||||
|
||||
4
THANKS
4
THANKS
@@ -22,6 +22,8 @@ Tommi Hassinen
|
||||
Bryan Herger
|
||||
David Hoekman
|
||||
Geoffrey Hutchison
|
||||
Craig James
|
||||
Mikael Johansson
|
||||
Stefan Kebekus
|
||||
Elmar Krieger
|
||||
Erik Kruus
|
||||
@@ -32,10 +34,12 @@ David Mathog
|
||||
Chris Morley
|
||||
Peter Murray-Rust
|
||||
Anthony Nicholls
|
||||
Noel O'Boyle
|
||||
Sergei Pachkovsky
|
||||
Steffen Reith
|
||||
Louis Richard
|
||||
Roger Sayle
|
||||
Ernst-Georg Schmid
|
||||
Ajay Shah
|
||||
Matt Stahl
|
||||
Chris Swain
|
||||
|
||||
83
acinclude.m4
83
acinclude.m4
@@ -112,3 +112,86 @@ then
|
||||
fi
|
||||
|
||||
])
|
||||
|
||||
|
||||
dnl @synopsis AX_MAINTAINER_MODE_AUTO_SILENT
|
||||
dnl
|
||||
dnl Set autotools to error/sleep settings so that they are not run when
|
||||
dnl being errornously triggered. Likewise make libtool-silent when
|
||||
dnl libtool has been used.
|
||||
dnl
|
||||
dnl I am using the macro quite a lot since some automake versions had
|
||||
dnl the tendency to try to rerun some autotools on a mere make even
|
||||
dnl when not quite in --maintainer-mode. That is very annoying.
|
||||
dnl Likewise, a user who installs from source does not want to see
|
||||
dnl doubled compiler messages.
|
||||
dnl
|
||||
dnl I did not put an AC-REQUIRE(MAINTAINER_MODE) in here - should I?
|
||||
dnl
|
||||
dnl @category Misc
|
||||
dnl @category Automake
|
||||
dnl @author Guido Draheim <guidod@gmx.de>
|
||||
dnl @version 2005-01-21
|
||||
dnl @license GPLWithACException
|
||||
|
||||
AC_DEFUN([AX_MAINTAINER_MODE_AUTO_SILENT],[dnl
|
||||
dnl ac_REQUIRE([am_MAINTAINER_MODE])dn
|
||||
AC_MSG_CHECKING(auto silent in maintainer mode)
|
||||
if test "$USE_MAINTAINER_MODE" = "no" ; then
|
||||
test ".$TIMEOUT" = "." && TIMEOUT="9"
|
||||
AUTOHEADER="sleep $TIMEOUT ; true || autoheader || skipped"
|
||||
AUTOMAKE="sleep $TIMEOUT ; true || automake || skipped"
|
||||
AUTOCONF="sleep $TIMEOUT ; true || autoconf || skipped"
|
||||
if test ".$LIBTOOL" != "." ; then
|
||||
LIBTOOL="$LIBTOOL --silent"
|
||||
AC_MSG_RESULT([libtool-silent, auto-sleep-9])
|
||||
else
|
||||
AC_MSG_RESULT([auto-sleep-9])
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl @synopsis AX_CHECK_COMPILER_FLAGS(FLAGS, [ACTION-SUCCESS], [ACTION-FAILURE])
|
||||
dnl
|
||||
dnl @summary check whether FLAGS are accepted by the compiler
|
||||
dnl
|
||||
dnl Check whether the given compiler FLAGS work with the current
|
||||
dnl language's compiler, or whether they give an error. (Warnings,
|
||||
dnl however, are ignored.)
|
||||
dnl
|
||||
dnl ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
|
||||
dnl success/failure.
|
||||
dnl
|
||||
dnl @category Misc
|
||||
dnl @author Steven G. Johnson <stevenj@alum.mit.edu> and Matteo Frigo.
|
||||
dnl @version 2005-05-30
|
||||
dnl @license GPLWithACException
|
||||
|
||||
AC_DEFUN([AX_CHECK_COMPILER_FLAGS],
|
||||
[AC_PREREQ(2.59) dnl for _AC_LANG_PREFIX
|
||||
AC_MSG_CHECKING([whether _AC_LANG compiler accepts $1])
|
||||
dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname:
|
||||
AS_LITERAL_IF([$1],
|
||||
[AC_CACHE_VAL(AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_$1), [
|
||||
ax_save_FLAGS=$[]_AC_LANG_PREFIX[]FLAGS
|
||||
_AC_LANG_PREFIX[]FLAGS="$1"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
|
||||
AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_$1)=yes,
|
||||
AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_$1)=no)
|
||||
_AC_LANG_PREFIX[]FLAGS=$ax_save_FLAGS])],
|
||||
[ax_save_FLAGS=$[]_AC_LANG_PREFIX[]FLAGS
|
||||
_AC_LANG_PREFIX[]FLAGS="$1"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
|
||||
eval AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_$1)=yes,
|
||||
eval AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_$1)=no)
|
||||
_AC_LANG_PREFIX[]FLAGS=$ax_save_FLAGS])
|
||||
eval ax_check_compiler_flags=$AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_$1)
|
||||
AC_MSG_RESULT($ax_check_compiler_flags)
|
||||
if test "x$ax_check_compiler_flags" = xyes; then
|
||||
m4_default([$2], :)
|
||||
else
|
||||
m4_default([$3], :)
|
||||
fi
|
||||
])dnl AX_CHECK_COMPILER_FLAGS
|
||||
|
||||
167
configure
vendored
167
configure
vendored
@@ -427,7 +427,7 @@ PACKAGE_VERSION='2.1.0b1'
|
||||
PACKAGE_STRING='Open Babel 2.1.0b1'
|
||||
PACKAGE_BUGREPORT='openbabel-discuss@lists.sourceforge.net'
|
||||
|
||||
ac_unique_file="src/typer.cpp"
|
||||
ac_unique_file="src/zipstreamimpl.h"
|
||||
# Factoring default headers for most tests.
|
||||
ac_includes_default="\
|
||||
#include <stdio.h>
|
||||
@@ -465,7 +465,7 @@ ac_includes_default="\
|
||||
# include <unistd.h>
|
||||
#endif"
|
||||
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP DOXYGEN SWIG PERL PROVE PYTHON WX_LIBS WX_CXXFLAGS WX_CPPFLAGS BUILD_WXGUI_TRUE BUILD_WXGUI_FALSE PERL_TESTS_TRUE PERL_TESTS_FALSE BUILD_DOCS_TRUE BUILD_DOCS_FALSE BUILD_SWIG_TRUE BUILD_SWIG_FALSE BUILD_SCRIPTS_TRUE BUILD_SCRIPTS_FALSE EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB DLLTOOL ac_ct_DLLTOOL AS ac_ct_AS OBJDUMP ac_ct_OBJDUMP CPP F77 FFLAGS ac_ct_F77 LIBTOOL BUILD_SHARED_TRUE BUILD_SHARED_FALSE LIBDL XML2_CONFIG XML_CPPFLAGS XML_LIBS BUILD_XML_TRUE BUILD_XML_FALSE BUILD_ZLIB_TRUE BUILD_ZLIB_FALSE LIBOBJS LTLIBOBJS'
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP DOXYGEN SWIG PERL PROVE PYTHON WX_LIBS WX_CXXFLAGS WX_CPPFLAGS BUILD_WXGUI_TRUE BUILD_WXGUI_FALSE PERL_TESTS_TRUE PERL_TESTS_FALSE BUILD_DOCS_TRUE BUILD_DOCS_FALSE BUILD_SWIG_TRUE BUILD_SWIG_FALSE BUILD_SCRIPTS_TRUE BUILD_SCRIPTS_FALSE EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB DLLTOOL ac_ct_DLLTOOL AS ac_ct_AS OBJDUMP ac_ct_OBJDUMP CPP F77 FFLAGS ac_ct_F77 LIBTOOL BUILD_SHARED_TRUE BUILD_SHARED_FALSE LIBDL XML2_CONFIG XML_CPPFLAGS XML_LIBS BUILD_XML_TRUE BUILD_XML_FALSE BUILD_INCHI_TRUE BUILD_INCHI_FALSE BUILD_ZLIB_TRUE BUILD_ZLIB_FALSE LIBOBJS LTLIBOBJS'
|
||||
ac_subst_files=''
|
||||
|
||||
# Initialize some variables set by options.
|
||||
@@ -1975,6 +1975,26 @@ fi
|
||||
MAINT=$MAINTAINER_MODE_TRUE
|
||||
|
||||
|
||||
echo "$as_me:$LINENO: checking auto silent in maintainer mode" >&5
|
||||
echo $ECHO_N "checking auto silent in maintainer mode... $ECHO_C" >&6
|
||||
if test "$USE_MAINTAINER_MODE" = "no" ; then
|
||||
test ".$TIMEOUT" = "." && TIMEOUT="9"
|
||||
AUTOHEADER="sleep $TIMEOUT ; true || autoheader || skipped"
|
||||
AUTOMAKE="sleep $TIMEOUT ; true || automake || skipped"
|
||||
AUTOCONF="sleep $TIMEOUT ; true || autoconf || skipped"
|
||||
if test ".$LIBTOOL" != "." ; then
|
||||
LIBTOOL="$LIBTOOL --silent"
|
||||
echo "$as_me:$LINENO: result: libtool-silent, auto-sleep-9" >&5
|
||||
echo "${ECHO_T}libtool-silent, auto-sleep-9" >&6
|
||||
else
|
||||
echo "$as_me:$LINENO: result: auto-sleep-9" >&5
|
||||
echo "${ECHO_T}auto-sleep-9" >&6
|
||||
fi
|
||||
else
|
||||
echo "$as_me:$LINENO: result: no" >&5
|
||||
echo "${ECHO_T}no" >&6
|
||||
fi
|
||||
|
||||
ac_config_headers="$ac_config_headers src/config.h"
|
||||
|
||||
|
||||
@@ -4817,7 +4837,7 @@ ia64-*-hpux*)
|
||||
;;
|
||||
*-*-irix6*)
|
||||
# Find out which ABI we are using.
|
||||
echo '#line 4820 "configure"' > conftest.$ac_ext
|
||||
echo '#line 4840 "configure"' > conftest.$ac_ext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
(eval $ac_compile) 2>&5
|
||||
ac_status=$?
|
||||
@@ -6194,7 +6214,7 @@ fi
|
||||
|
||||
|
||||
# Provide some information about the compiler.
|
||||
echo "$as_me:6197:" \
|
||||
echo "$as_me:6217:" \
|
||||
"checking for Fortran 77 compiler version" >&5
|
||||
ac_compiler=`set X $ac_compile; echo $2`
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
|
||||
@@ -7257,11 +7277,11 @@ else
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:7260: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:7280: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>conftest.err)
|
||||
ac_status=$?
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:7264: \$? = $ac_status" >&5
|
||||
echo "$as_me:7284: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s "$ac_outfile"; then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings other than the usual output.
|
||||
@@ -7525,11 +7545,11 @@ else
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:7528: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:7548: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>conftest.err)
|
||||
ac_status=$?
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:7532: \$? = $ac_status" >&5
|
||||
echo "$as_me:7552: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s "$ac_outfile"; then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings other than the usual output.
|
||||
@@ -7629,11 +7649,11 @@ else
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:7632: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:7652: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>out/conftest.err)
|
||||
ac_status=$?
|
||||
cat out/conftest.err >&5
|
||||
echo "$as_me:7636: \$? = $ac_status" >&5
|
||||
echo "$as_me:7656: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s out/conftest2.$ac_objext
|
||||
then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
@@ -9974,7 +9994,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 9977 "configure"
|
||||
#line 9997 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@@ -10074,7 +10094,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 10077 "configure"
|
||||
#line 10097 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@@ -12414,11 +12434,11 @@ else
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:12417: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:12437: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>conftest.err)
|
||||
ac_status=$?
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:12421: \$? = $ac_status" >&5
|
||||
echo "$as_me:12441: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s "$ac_outfile"; then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings other than the usual output.
|
||||
@@ -12518,11 +12538,11 @@ else
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:12521: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:12541: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>out/conftest.err)
|
||||
ac_status=$?
|
||||
cat out/conftest.err >&5
|
||||
echo "$as_me:12525: \$? = $ac_status" >&5
|
||||
echo "$as_me:12545: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s out/conftest2.$ac_objext
|
||||
then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
@@ -14088,11 +14108,11 @@ else
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:14091: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:14111: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>conftest.err)
|
||||
ac_status=$?
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:14095: \$? = $ac_status" >&5
|
||||
echo "$as_me:14115: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s "$ac_outfile"; then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings other than the usual output.
|
||||
@@ -14192,11 +14212,11 @@ else
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:14195: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:14215: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>out/conftest.err)
|
||||
ac_status=$?
|
||||
cat out/conftest.err >&5
|
||||
echo "$as_me:14199: \$? = $ac_status" >&5
|
||||
echo "$as_me:14219: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s out/conftest2.$ac_objext
|
||||
then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
@@ -16395,11 +16415,11 @@ else
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:16398: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:16418: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>conftest.err)
|
||||
ac_status=$?
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:16402: \$? = $ac_status" >&5
|
||||
echo "$as_me:16422: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s "$ac_outfile"; then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings other than the usual output.
|
||||
@@ -16663,11 +16683,11 @@ else
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:16666: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:16686: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>conftest.err)
|
||||
ac_status=$?
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:16670: \$? = $ac_status" >&5
|
||||
echo "$as_me:16690: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s "$ac_outfile"; then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings other than the usual output.
|
||||
@@ -16767,11 +16787,11 @@ else
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:16770: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:16790: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>out/conftest.err)
|
||||
ac_status=$?
|
||||
cat out/conftest.err >&5
|
||||
echo "$as_me:16774: \$? = $ac_status" >&5
|
||||
echo "$as_me:16794: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s out/conftest2.$ac_objext
|
||||
then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
@@ -20000,6 +20020,87 @@ else
|
||||
fi
|
||||
|
||||
|
||||
echo "$as_me:$LINENO: checking for GetINCHI in -linchi" >&5
|
||||
echo $ECHO_N "checking for GetINCHI in -linchi... $ECHO_C" >&6
|
||||
if test "${ac_cv_lib_inchi_GetINCHI+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
ac_check_lib_save_LIBS=$LIBS
|
||||
LIBS="-linchi $LIBS"
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
builtin and then its argument prototype would still apply. */
|
||||
char GetINCHI ();
|
||||
int
|
||||
main ()
|
||||
{
|
||||
GetINCHI ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext conftest$ac_exeext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
|
||||
(eval $ac_link) 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } &&
|
||||
{ ac_try='test -z "$ac_cxx_werror_flag"
|
||||
|| test ! -s conftest.err'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; } &&
|
||||
{ ac_try='test -s conftest$ac_exeext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
ac_cv_lib_inchi_GetINCHI=yes
|
||||
else
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
ac_cv_lib_inchi_GetINCHI=no
|
||||
fi
|
||||
rm -f conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
LIBS=$ac_check_lib_save_LIBS
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: $ac_cv_lib_inchi_GetINCHI" >&5
|
||||
echo "${ECHO_T}$ac_cv_lib_inchi_GetINCHI" >&6
|
||||
if test $ac_cv_lib_inchi_GetINCHI = yes; then
|
||||
LIBINCHI="-linchi"
|
||||
else
|
||||
LIBINCHI=""
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test x"$LIBINCHI" == "x"; then
|
||||
BUILD_INCHI_TRUE=
|
||||
BUILD_INCHI_FALSE='#'
|
||||
else
|
||||
BUILD_INCHI_TRUE='#'
|
||||
BUILD_INCHI_FALSE=
|
||||
fi
|
||||
|
||||
|
||||
#
|
||||
# Handle user hints
|
||||
#
|
||||
@@ -21663,7 +21764,7 @@ echo "${ECHO_T}$scandirconst_cast" >&6
|
||||
ac_config_commands="$ac_config_commands src/babelconfig.h"
|
||||
|
||||
|
||||
ac_config_files="$ac_config_files Makefile data/Makefile src/Makefile src/math/Makefile src/GUI/Makefile src/formats/Makefile src/fingerprints/Makefile src/formats/xml/Makefile src/formats/inchi/Makefile test/Makefile test/cmltest/Makefile tools/Makefile doc/Makefile scripts/Makefile openbabel-2.0.pc"
|
||||
ac_config_files="$ac_config_files Makefile data/Makefile src/Makefile src/math/Makefile src/formats/Makefile src/fingerprints/Makefile src/formats/xml/Makefile src/formats/inchi/Makefile test/Makefile test/cmltest/Makefile tools/Makefile doc/Makefile scripts/Makefile openbabel-2.0.pc"
|
||||
cat >confcache <<\_ACEOF
|
||||
# This file is a shell script that caches the results of configure
|
||||
# tests run on this system so they can be shared between configure
|
||||
@@ -21832,6 +21933,13 @@ echo "$as_me: error: conditional \"BUILD_XML\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." >&2;}
|
||||
{ (exit 1); exit 1; }; }
|
||||
fi
|
||||
if test -z "${BUILD_INCHI_TRUE}" && test -z "${BUILD_INCHI_FALSE}"; then
|
||||
{ { echo "$as_me:$LINENO: error: conditional \"BUILD_INCHI\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." >&5
|
||||
echo "$as_me: error: conditional \"BUILD_INCHI\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." >&2;}
|
||||
{ (exit 1); exit 1; }; }
|
||||
fi
|
||||
if test -z "${BUILD_ZLIB_TRUE}" && test -z "${BUILD_ZLIB_FALSE}"; then
|
||||
{ { echo "$as_me:$LINENO: error: conditional \"BUILD_ZLIB\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." >&5
|
||||
@@ -22287,7 +22395,6 @@ do
|
||||
"data/Makefile" ) CONFIG_FILES="$CONFIG_FILES data/Makefile" ;;
|
||||
"src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
|
||||
"src/math/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/math/Makefile" ;;
|
||||
"src/GUI/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/GUI/Makefile" ;;
|
||||
"src/formats/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/formats/Makefile" ;;
|
||||
"src/fingerprints/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/fingerprints/Makefile" ;;
|
||||
"src/formats/xml/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/formats/xml/Makefile" ;;
|
||||
@@ -22486,6 +22593,8 @@ s,@XML_CPPFLAGS@,$XML_CPPFLAGS,;t t
|
||||
s,@XML_LIBS@,$XML_LIBS,;t t
|
||||
s,@BUILD_XML_TRUE@,$BUILD_XML_TRUE,;t t
|
||||
s,@BUILD_XML_FALSE@,$BUILD_XML_FALSE,;t t
|
||||
s,@BUILD_INCHI_TRUE@,$BUILD_INCHI_TRUE,;t t
|
||||
s,@BUILD_INCHI_FALSE@,$BUILD_INCHI_FALSE,;t t
|
||||
s,@BUILD_ZLIB_TRUE@,$BUILD_ZLIB_TRUE,;t t
|
||||
s,@BUILD_ZLIB_FALSE@,$BUILD_ZLIB_FALSE,;t t
|
||||
s,@LIBOBJS@,$LIBOBJS,;t t
|
||||
@@ -23206,3 +23315,5 @@ if test "$no_create" != yes; then
|
||||
$ac_cs_success || { (exit 1); exit 1; }
|
||||
fi
|
||||
|
||||
|
||||
# src/GUI/Makefile \
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_INIT([Open Babel], 2.1.0b1, openbabel-discuss@lists.sourceforge.net, openbabel)
|
||||
AC_CONFIG_SRCDIR(src/typer.cpp)
|
||||
AC_CONFIG_SRCDIR(src/zipstreamimpl.h)
|
||||
AM_INIT_AUTOMAKE([no-define])
|
||||
AM_MAINTAINER_MODE
|
||||
AX_MAINTAINER_MODE_AUTO_SILENT
|
||||
AM_CONFIG_HEADER(src/config.h)
|
||||
AC_DEFINE_UNQUOTED([BABEL_VERSION], ["AC_PACKAGE_VERSION"], [The version of Open Babel])
|
||||
|
||||
@@ -158,6 +159,9 @@ AC_SUBST(LIBDL)
|
||||
AM_PATH_XML2(2.6.5)
|
||||
AM_CONDITIONAL(BUILD_XML, test x"$XML_LIBS" != "x")
|
||||
|
||||
AC_CHECK_LIB(inchi, GetINCHI, LIBINCHI="-linchi", LIBINCHI="")
|
||||
AM_CONDITIONAL(BUILD_INCHI, test x"$LIBINCHI" == "x")
|
||||
|
||||
CHECK_ZLIB
|
||||
AC_CHECK_LIB(z, inflateEnd)
|
||||
AC_CHECK_HEADERS(zlib.h iconv.h)
|
||||
@@ -200,8 +204,9 @@ AC_CONFIG_COMMANDS([src/babelconfig.h],
|
||||
[cat src/config.h | grep -v PACKAGE >src/babelconfig.h])
|
||||
|
||||
AC_OUTPUT(Makefile data/Makefile src/Makefile src/math/Makefile \
|
||||
src/GUI/Makefile \
|
||||
src/formats/Makefile src/fingerprints/Makefile \
|
||||
src/formats/xml/Makefile src/formats/inchi/Makefile \
|
||||
test/Makefile test/cmltest/Makefile tools/Makefile \
|
||||
doc/Makefile scripts/Makefile openbabel-2.0.pc)
|
||||
|
||||
# src/GUI/Makefile \
|
||||
|
||||
@@ -63,12 +63,15 @@ AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_DOCS_FALSE = @BUILD_DOCS_FALSE@
|
||||
BUILD_DOCS_TRUE = @BUILD_DOCS_TRUE@
|
||||
BUILD_INCHI_FALSE = @BUILD_INCHI_FALSE@
|
||||
BUILD_INCHI_TRUE = @BUILD_INCHI_TRUE@
|
||||
BUILD_SCRIPTS_FALSE = @BUILD_SCRIPTS_FALSE@
|
||||
BUILD_SCRIPTS_TRUE = @BUILD_SCRIPTS_TRUE@
|
||||
BUILD_SHARED_FALSE = @BUILD_SHARED_FALSE@
|
||||
@@ -93,6 +96,7 @@ CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DOXYGEN = @DOXYGEN@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
@@ -117,6 +121,7 @@ MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
@@ -143,9 +148,12 @@ XML2_CONFIG = @XML2_CONFIG@
|
||||
XML_CPPFLAGS = @XML_CPPFLAGS@
|
||||
XML_LIBS = @XML_LIBS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_AS = @ac_ct_AS@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
@@ -214,9 +222,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/Makefile'; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign data/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu data/Makefile
|
||||
$(AUTOMAKE) --foreign data/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
|
||||
@@ -27,7 +27,7 @@ static const char AromaticData[] = {
|
||||
0x5B,0x23,0x37,0x72,0x44,0x33,0x5D,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
|
||||
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x31,0x20,0x20,0x20,0x20,0x20,
|
||||
0x20,0x20,0x32,0x0A,0x5B,0x23,0x37,0x72,0x5D,0x28,0x2D,0x40,0x2A,0x29,0x2D,
|
||||
0x40,0x2A,0x20,0x20,0x09,0x09,0x32,0x09,0x32,0x0A,0x5B,0x23,0x37,0x72,0x44,
|
||||
0x40,0x2A,0x20,0x20,0x09,0x09,0x31,0x09,0x32,0x0A,0x5B,0x23,0x37,0x72,0x44,
|
||||
0x32,0x5D,0x3D,0x40,0x2A,0x09,0x09,0x31,0x09,0x31,0x0A,0x5B,0x23,0x37,0x72,
|
||||
0x44,0x33,0x2B,0x5D,0x09,0x09,0x31,0x09,0x31,0x0A,0x5B,0x23,0x37,0x72,0x44,
|
||||
0x33,0x5D,0x3D,0x4F,0x09,0x09,0x31,0x09,0x31,0x0A,0x5B,0x23,0x37,0x72,0x44,
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
#nitrogen patterns
|
||||
[#7rD2] 1 2
|
||||
[#7rD3] 1 2
|
||||
[#7r](-@*)-@* 2 2
|
||||
[#7r](-@*)-@* 1 2
|
||||
[#7rD2]=@* 1 1
|
||||
[#7rD3+] 1 1
|
||||
[#7rD3]=O 1 1
|
||||
|
||||
295
data/atomtyp.h
295
data/atomtyp.h
@@ -15,43 +15,43 @@ This file contains a binary representation of data tables
|
||||
namespace OpenBabel
|
||||
{
|
||||
static const char AtomTypeData[] = {
|
||||
0x49,0x4E,0x54,0x48,0x59,0x42,0x09,0x5B,0x43,0x5D,0x09,0x09,0x09,0x09,0x33,
|
||||
0x09,0x23,0x73,0x70,0x33,0x20,0x63,0x61,0x72,0x62,0x6F,0x6E,0x0A,0x49,0x4E,
|
||||
0x54,0x48,0x59,0x42,0x09,0x5B,0x63,0x2C,0x24,0x28,0x43,0x3D,0x2A,0x29,0x5D,
|
||||
0x09,0x09,0x09,0x32,0x09,0x23,0x73,0x70,0x32,0x20,0x63,0x61,0x72,0x62,0x6F,
|
||||
0x6E,0x0A,0x49,0x4E,0x54,0x48,0x59,0x42,0x09,0x5B,0x24,0x28,0x5B,0x23,0x36,
|
||||
0x5D,0x28,0x5B,0x23,0x38,0x44,0x31,0x5D,0x29,0x5B,0x23,0x38,0x44,0x31,0x5D,
|
||||
0x29,0x5D,0x09,0x09,0x32,0x09,0x23,0x73,0x70,0x32,0x20,0x63,0x61,0x72,0x62,
|
||||
0x6F,0x6E,0x0A,0x49,0x4E,0x54,0x48,0x59,0x42,0x09,0x5B,0x24,0x28,0x43,0x23,
|
||||
0x2A,0x29,0x2C,0x24,0x28,0x43,0x28,0x3D,0x2A,0x29,0x3D,0x2A,0x29,0x5D,0x09,
|
||||
0x09,0x31,0x09,0x23,0x73,0x70,0x20,0x20,0x63,0x61,0x72,0x62,0x6F,0x6E,0x0A,
|
||||
0x49,0x4E,0x54,0x48,0x59,0x42,0x09,0x5B,0x4E,0x5D,0x09,0x09,0x09,0x09,0x33,
|
||||
0x09,0x23,0x73,0x70,0x33,0x20,0x6E,0x69,0x74,0x72,0x6F,0x67,0x65,0x6E,0x0A,
|
||||
0x49,0x4E,0x54,0x48,0x59,0x42,0x09,0x5B,0x6E,0x2C,0x24,0x28,0x4E,0x3D,0x2A,
|
||||
0x29,0x2C,0x24,0x28,0x4E,0x5B,0x23,0x36,0x2C,0x23,0x37,0x2C,0x23,0x38,0x5D,
|
||||
0x3D,0x2C,0x3A,0x2C,0x23,0x2A,0x29,0x5D,0x09,0x32,0x09,0x23,0x73,0x70,0x32,
|
||||
0x20,0x6E,0x69,0x74,0x72,0x6F,0x67,0x65,0x6E,0x0A,0x49,0x4E,0x54,0x48,0x59,
|
||||
0x42,0x20,0x20,0x5B,0x4E,0x44,0x31,0x2C,0x4E,0x44,0x32,0x2C,0x4E,0x44,0x33,
|
||||
0x5D,0x61,0x09,0x09,0x09,0x32,0x09,0x23,0x73,0x70,0x32,0x20,0x6E,0x69,0x74,
|
||||
0x72,0x6F,0x67,0x65,0x6E,0x0A,0x49,0x4E,0x54,0x48,0x59,0x42,0x09,0x5B,0x24,
|
||||
0x28,0x4E,0x23,0x2A,0x29,0x2C,0x24,0x28,0x5B,0x4E,0x44,0x32,0x5D,0x28,0x3D,
|
||||
0x2A,0x29,0x3D,0x2A,0x29,0x5D,0x09,0x09,0x31,0x09,0x23,0x73,0x70,0x20,0x20,
|
||||
0x6E,0x69,0x74,0x72,0x6F,0x67,0x65,0x6E,0x0A,0x49,0x4E,0x54,0x48,0x59,0x42,
|
||||
0x09,0x5B,0x4F,0x5D,0x09,0x09,0x09,0x09,0x33,0x09,0x23,0x73,0x70,0x33,0x20,
|
||||
0x6F,0x78,0x79,0x67,0x65,0x6E,0x0A,0x49,0x4E,0x54,0x48,0x59,0x42,0x09,0x5B,
|
||||
0x6F,0x2C,0x24,0x28,0x4F,0x3D,0x2A,0x29,0x2C,0x24,0x28,0x4F,0x5B,0x23,0x36,
|
||||
0x2C,0x23,0x37,0x2C,0x23,0x38,0x5D,0x3D,0x2C,0x3A,0x2A,0x29,0x5D,0x09,0x32,
|
||||
0x09,0x23,0x73,0x70,0x32,0x20,0x6F,0x78,0x79,0x67,0x65,0x6E,0x0A,0x49,0x4E,
|
||||
0x54,0x48,0x59,0x42,0x09,0x5B,0x24,0x28,0x5B,0x23,0x38,0x44,0x31,0x5D,0x5B,
|
||||
0x23,0x36,0x5D,0x5B,0x23,0x38,0x44,0x31,0x5D,0x29,0x5D,0x09,0x09,0x32,0x09,
|
||||
0x23,0x73,0x70,0x32,0x20,0x6F,0x78,0x79,0x67,0x65,0x6E,0x0A,0x49,0x4E,0x54,
|
||||
0x48,0x59,0x42,0x09,0x5B,0x24,0x28,0x4F,0x23,0x2A,0x29,0x5D,0x09,0x09,0x09,
|
||||
0x31,0x09,0x23,0x73,0x70,0x20,0x20,0x6F,0x78,0x79,0x67,0x65,0x6E,0x0A,0x49,
|
||||
0x4E,0x54,0x48,0x59,0x42,0x20,0x20,0x5B,0x44,0x34,0x5D,0x20,0x20,0x20,0x20,
|
||||
0x49,0x4E,0x54,0x48,0x59,0x42,0x20,0x20,0x5B,0x44,0x34,0x5D,0x20,0x20,0x20,
|
||||
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
|
||||
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x33,0x20,0x20,0x20,0x20,0x20,
|
||||
0x20,0x20,0x23,0x61,0x6E,0x79,0x20,0x34,0x20,0x76,0x61,0x6C,0x65,0x6E,0x74,
|
||||
0x20,0x61,0x74,0x6F,0x6D,0x0A,0x49,0x4E,0x54,0x48,0x59,0x42,0x09,0x5B,0x50,
|
||||
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x33,0x20,0x20,0x20,0x20,
|
||||
0x20,0x20,0x20,0x23,0x61,0x6E,0x79,0x20,0x34,0x20,0x76,0x61,0x6C,0x65,0x6E,
|
||||
0x74,0x20,0x61,0x74,0x6F,0x6D,0x0A,0x49,0x4E,0x54,0x48,0x59,0x42,0x09,0x5B,
|
||||
0x43,0x5D,0x09,0x09,0x09,0x09,0x33,0x09,0x23,0x73,0x70,0x33,0x20,0x63,0x61,
|
||||
0x72,0x62,0x6F,0x6E,0x0A,0x49,0x4E,0x54,0x48,0x59,0x42,0x09,0x5B,0x63,0x2C,
|
||||
0x24,0x28,0x43,0x3D,0x2A,0x29,0x5D,0x09,0x09,0x09,0x32,0x09,0x23,0x73,0x70,
|
||||
0x32,0x20,0x63,0x61,0x72,0x62,0x6F,0x6E,0x0A,0x49,0x4E,0x54,0x48,0x59,0x42,
|
||||
0x09,0x5B,0x24,0x28,0x5B,0x23,0x36,0x5D,0x28,0x5B,0x23,0x38,0x44,0x31,0x5D,
|
||||
0x29,0x5B,0x23,0x38,0x44,0x31,0x5D,0x29,0x5D,0x09,0x09,0x32,0x09,0x23,0x73,
|
||||
0x70,0x32,0x20,0x63,0x61,0x72,0x62,0x6F,0x6E,0x0A,0x49,0x4E,0x54,0x48,0x59,
|
||||
0x42,0x09,0x5B,0x24,0x28,0x43,0x23,0x2A,0x29,0x2C,0x24,0x28,0x43,0x28,0x3D,
|
||||
0x2A,0x29,0x3D,0x2A,0x29,0x5D,0x09,0x09,0x31,0x09,0x23,0x73,0x70,0x20,0x20,
|
||||
0x63,0x61,0x72,0x62,0x6F,0x6E,0x0A,0x49,0x4E,0x54,0x48,0x59,0x42,0x09,0x5B,
|
||||
0x4E,0x5D,0x09,0x09,0x09,0x09,0x33,0x09,0x23,0x73,0x70,0x33,0x20,0x6E,0x69,
|
||||
0x74,0x72,0x6F,0x67,0x65,0x6E,0x0A,0x49,0x4E,0x54,0x48,0x59,0x42,0x09,0x5B,
|
||||
0x6E,0x2C,0x24,0x28,0x4E,0x3D,0x2A,0x29,0x2C,0x24,0x28,0x4E,0x5B,0x23,0x36,
|
||||
0x2C,0x23,0x37,0x2C,0x23,0x38,0x5D,0x3D,0x2C,0x3A,0x2C,0x23,0x2A,0x29,0x5D,
|
||||
0x09,0x32,0x09,0x23,0x73,0x70,0x32,0x20,0x6E,0x69,0x74,0x72,0x6F,0x67,0x65,
|
||||
0x6E,0x0A,0x49,0x4E,0x54,0x48,0x59,0x42,0x20,0x20,0x5B,0x4E,0x44,0x31,0x2C,
|
||||
0x4E,0x44,0x32,0x2C,0x4E,0x44,0x33,0x5D,0x61,0x09,0x09,0x09,0x32,0x09,0x23,
|
||||
0x73,0x70,0x32,0x20,0x6E,0x69,0x74,0x72,0x6F,0x67,0x65,0x6E,0x0A,0x49,0x4E,
|
||||
0x54,0x48,0x59,0x42,0x09,0x5B,0x24,0x28,0x4E,0x23,0x2A,0x29,0x2C,0x24,0x28,
|
||||
0x5B,0x4E,0x44,0x32,0x5D,0x28,0x3D,0x2A,0x29,0x3D,0x2A,0x29,0x5D,0x09,0x09,
|
||||
0x31,0x09,0x23,0x73,0x70,0x20,0x20,0x6E,0x69,0x74,0x72,0x6F,0x67,0x65,0x6E,
|
||||
0x0A,0x49,0x4E,0x54,0x48,0x59,0x42,0x09,0x5B,0x4F,0x5D,0x09,0x09,0x09,0x09,
|
||||
0x33,0x09,0x23,0x73,0x70,0x33,0x20,0x6F,0x78,0x79,0x67,0x65,0x6E,0x0A,0x49,
|
||||
0x4E,0x54,0x48,0x59,0x42,0x09,0x5B,0x6F,0x2C,0x24,0x28,0x4F,0x3D,0x2A,0x29,
|
||||
0x2C,0x24,0x28,0x4F,0x5B,0x23,0x36,0x2C,0x23,0x37,0x2C,0x23,0x38,0x5D,0x3D,
|
||||
0x2C,0x3A,0x2A,0x29,0x5D,0x09,0x32,0x09,0x23,0x73,0x70,0x32,0x20,0x6F,0x78,
|
||||
0x79,0x67,0x65,0x6E,0x0A,0x49,0x4E,0x54,0x48,0x59,0x42,0x09,0x5B,0x24,0x28,
|
||||
0x5B,0x23,0x38,0x44,0x31,0x5D,0x5B,0x23,0x36,0x5D,0x5B,0x23,0x38,0x44,0x31,
|
||||
0x5D,0x29,0x5D,0x09,0x09,0x32,0x09,0x23,0x73,0x70,0x32,0x20,0x6F,0x78,0x79,
|
||||
0x67,0x65,0x6E,0x0A,0x49,0x4E,0x54,0x48,0x59,0x42,0x09,0x5B,0x24,0x28,0x4F,
|
||||
0x23,0x2A,0x29,0x5D,0x09,0x09,0x09,0x31,0x09,0x23,0x73,0x70,0x20,0x20,0x6F,
|
||||
0x78,0x79,0x67,0x65,0x6E,0x0A,0x49,0x4E,0x54,0x48,0x59,0x42,0x09,0x5B,0x50,
|
||||
0x5D,0x09,0x09,0x09,0x09,0x33,0x09,0x23,0x73,0x70,0x33,0x20,0x70,0x68,0x6F,
|
||||
0x73,0x70,0x68,0x6F,0x72,0x75,0x73,0x0A,0x49,0x4E,0x54,0x48,0x59,0x42,0x09,
|
||||
0x5B,0x23,0x31,0x35,0x3B,0x24,0x28,0x5B,0x50,0x44,0x31,0x5D,0x3D,0x2A,0x29,
|
||||
@@ -115,116 +115,123 @@ static const char AtomTypeData[] = {
|
||||
0x32,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x20,0x20,0x5B,0x6E,0x2B,0x5D,0x09,
|
||||
0x09,0x09,0x33,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x20,0x20,0x5B,0x23,0x39,
|
||||
0x44,0x30,0x5D,0x09,0x09,0x20,0x20,0x31,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,
|
||||
0x09,0x5B,0x23,0x31,0x35,0x44,0x34,0x5D,0x09,0x09,0x09,0x34,0x0A,0x49,0x4D,
|
||||
0x50,0x56,0x41,0x4C,0x09,0x5B,0x23,0x31,0x35,0x44,0x33,0x5D,0x09,0x09,0x09,
|
||||
0x33,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x09,0x5B,0x23,0x31,0x35,0x44,0x32,
|
||||
0x5D,0x09,0x09,0x09,0x33,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x09,0x5B,0x23,
|
||||
0x31,0x35,0x44,0x31,0x5E,0x33,0x5D,0x09,0x09,0x33,0x0A,0x49,0x4D,0x50,0x56,
|
||||
0x41,0x4C,0x09,0x5B,0x23,0x31,0x35,0x44,0x31,0x5E,0x32,0x5D,0x09,0x09,0x33,
|
||||
0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x20,0x20,0x5B,0x23,0x31,0x35,0x44,0x30,
|
||||
0x5D,0x20,0x20,0x20,0x20,0x20,0x33,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x20,
|
||||
0x20,0x5B,0x24,0x28,0x5B,0x23,0x31,0x35,0x5D,0x3D,0x5B,0x23,0x36,0x5D,0x29,
|
||||
0x5D,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x32,0x0A,0x49,0x4D,0x50,
|
||||
0x56,0x41,0x4C,0x20,0x20,0x5B,0x70,0x44,0x32,0x5D,0x09,0x09,0x09,0x32,0x0A,
|
||||
0x49,0x4D,0x50,0x56,0x41,0x4C,0x20,0x20,0x5B,0x24,0x28,0x5B,0x23,0x31,0x35,
|
||||
0x5D,0x3D,0x5B,0x23,0x38,0x5D,0x29,0x5D,0x09,0x09,0x34,0x20,0x23,0x20,0x70,
|
||||
0x68,0x6F,0x73,0x70,0x68,0x69,0x6E,0x61,0x74,0x65,0x20,0x28,0x64,0x6F,0x75,
|
||||
0x62,0x6C,0x65,0x20,0x62,0x6F,0x6E,0x64,0x20,0x3D,0x20,0x6F,0x6E,0x65,0x20,
|
||||
0x76,0x61,0x6C,0x65,0x6E,0x63,0x65,0x29,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,
|
||||
0x09,0x5B,0x23,0x31,0x36,0x44,0x34,0x5D,0x09,0x09,0x09,0x34,0x0A,0x49,0x4D,
|
||||
0x50,0x56,0x41,0x4C,0x09,0x5B,0x23,0x31,0x36,0x44,0x33,0x5D,0x09,0x09,0x09,
|
||||
0x33,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x09,0x5B,0x23,0x31,0x36,0x44,0x32,
|
||||
0x5D,0x09,0x09,0x09,0x32,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x09,0x5B,0x24,
|
||||
0x28,0x5B,0x23,0x31,0x36,0x44,0x31,0x5D,0x2D,0x2A,0x29,0x5D,0x09,0x09,0x32,
|
||||
0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x09,0x5B,0x23,0x31,0x36,0x44,0x31,0x5E,
|
||||
0x32,0x5D,0x09,0x09,0x31,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x20,0x20,0x5B,
|
||||
0x73,0x5D,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
|
||||
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x32,0x0A,0x49,0x4D,0x50,0x56,0x41,
|
||||
0x4C,0x20,0x20,0x5B,0x23,0x31,0x36,0x44,0x31,0x2D,0x5D,0x09,0x09,0x31,0x0A,
|
||||
0x49,0x4D,0x50,0x56,0x41,0x4C,0x20,0x20,0x5B,0x23,0x31,0x36,0x44,0x30,0x5D,
|
||||
0x09,0x09,0x20,0x20,0x32,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x20,0x20,0x5B,
|
||||
0x23,0x31,0x37,0x44,0x30,0x5D,0x09,0x09,0x20,0x20,0x31,0x0A,0x49,0x4D,0x50,
|
||||
0x56,0x41,0x4C,0x20,0x20,0x5B,0x23,0x33,0x35,0x44,0x30,0x5D,0x09,0x09,0x20,
|
||||
0x20,0x31,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x20,0x20,0x5B,0x23,0x35,0x33,
|
||||
0x20,0x20,0x5B,0x23,0x39,0x44,0x30,0x2D,0x5D,0x09,0x09,0x20,0x20,0x30,0x20,
|
||||
0x23,0x5B,0x46,0x2D,0x5D,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x09,0x5B,0x23,
|
||||
0x31,0x35,0x44,0x34,0x5D,0x09,0x09,0x09,0x34,0x0A,0x49,0x4D,0x50,0x56,0x41,
|
||||
0x4C,0x09,0x5B,0x23,0x31,0x35,0x44,0x33,0x5D,0x09,0x09,0x09,0x33,0x0A,0x49,
|
||||
0x4D,0x50,0x56,0x41,0x4C,0x09,0x5B,0x23,0x31,0x35,0x44,0x32,0x5D,0x09,0x09,
|
||||
0x09,0x33,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x09,0x5B,0x23,0x31,0x35,0x44,
|
||||
0x31,0x5E,0x33,0x5D,0x09,0x09,0x33,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x09,
|
||||
0x5B,0x23,0x31,0x35,0x44,0x31,0x5E,0x32,0x5D,0x09,0x09,0x33,0x0A,0x49,0x4D,
|
||||
0x50,0x56,0x41,0x4C,0x20,0x20,0x5B,0x23,0x31,0x35,0x44,0x30,0x5D,0x20,0x20,
|
||||
0x20,0x20,0x20,0x33,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x20,0x20,0x5B,0x24,
|
||||
0x28,0x5B,0x23,0x31,0x35,0x5D,0x3D,0x5B,0x23,0x36,0x5D,0x29,0x5D,0x20,0x20,
|
||||
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x32,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,
|
||||
0x20,0x20,0x5B,0x70,0x44,0x32,0x5D,0x09,0x09,0x09,0x32,0x0A,0x49,0x4D,0x50,
|
||||
0x56,0x41,0x4C,0x20,0x20,0x5B,0x24,0x28,0x5B,0x23,0x31,0x35,0x5D,0x3D,0x5B,
|
||||
0x23,0x38,0x5D,0x29,0x5D,0x09,0x09,0x34,0x20,0x23,0x20,0x70,0x68,0x6F,0x73,
|
||||
0x70,0x68,0x69,0x6E,0x61,0x74,0x65,0x20,0x28,0x64,0x6F,0x75,0x62,0x6C,0x65,
|
||||
0x20,0x62,0x6F,0x6E,0x64,0x20,0x3D,0x20,0x6F,0x6E,0x65,0x20,0x76,0x61,0x6C,
|
||||
0x65,0x6E,0x63,0x65,0x29,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x09,0x5B,0x23,
|
||||
0x31,0x36,0x44,0x34,0x5D,0x09,0x09,0x09,0x34,0x0A,0x49,0x4D,0x50,0x56,0x41,
|
||||
0x4C,0x09,0x5B,0x23,0x31,0x36,0x44,0x33,0x5D,0x09,0x09,0x09,0x33,0x0A,0x49,
|
||||
0x4D,0x50,0x56,0x41,0x4C,0x09,0x5B,0x23,0x31,0x36,0x44,0x32,0x5D,0x09,0x09,
|
||||
0x09,0x32,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x09,0x5B,0x24,0x28,0x5B,0x23,
|
||||
0x31,0x36,0x44,0x31,0x5D,0x2D,0x2A,0x29,0x5D,0x09,0x09,0x32,0x0A,0x49,0x4D,
|
||||
0x50,0x56,0x41,0x4C,0x09,0x5B,0x23,0x31,0x36,0x44,0x31,0x5E,0x32,0x5D,0x09,
|
||||
0x09,0x31,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x20,0x20,0x5B,0x73,0x5D,0x20,
|
||||
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
|
||||
0x20,0x20,0x20,0x20,0x20,0x32,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x20,0x20,
|
||||
0x5B,0x23,0x31,0x36,0x44,0x31,0x2D,0x5D,0x09,0x09,0x31,0x0A,0x49,0x4D,0x50,
|
||||
0x56,0x41,0x4C,0x20,0x20,0x5B,0x23,0x31,0x36,0x44,0x30,0x5D,0x09,0x09,0x20,
|
||||
0x20,0x32,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x20,0x20,0x5B,0x23,0x31,0x37,
|
||||
0x44,0x30,0x5D,0x09,0x09,0x20,0x20,0x31,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,
|
||||
0x20,0x20,0x5B,0x23,0x35,0x5D,0x09,0x09,0x09,0x33,0x0A,0x49,0x4D,0x50,0x56,
|
||||
0x41,0x4C,0x20,0x20,0x5B,0x61,0x73,0x5D,0x09,0x09,0x09,0x33,0x0A,0x45,0x58,
|
||||
0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x37,0x5E,0x33,0x5D,0x09,0x09,0x09,0x09,
|
||||
0x09,0x4E,0x33,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x37,0x58,
|
||||
0x34,0x2B,0x5D,0x09,0x09,0x09,0x09,0x09,0x4E,0x33,0x2B,0x0A,0x45,0x58,0x54,
|
||||
0x54,0x59,0x50,0x09,0x5B,0x23,0x37,0x5E,0x32,0x5D,0x09,0x09,0x09,0x09,0x09,
|
||||
0x4E,0x70,0x6C,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x37,0x5E,
|
||||
0x31,0x5D,0x09,0x09,0x09,0x09,0x09,0x4E,0x31,0x0A,0x45,0x58,0x54,0x54,0x59,
|
||||
0x50,0x09,0x5B,0x24,0x28,0x4E,0x3D,0x2A,0x29,0x5D,0x09,0x09,0x09,0x09,0x4E,
|
||||
0x32,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x24,0x28,0x5B,0x4E,0x72,
|
||||
0x30,0x5D,0x43,0x28,0x3D,0x5B,0x4E,0x72,0x30,0x5D,0x29,0x5B,0x4E,0x72,0x30,
|
||||
0x5D,0x29,0x5D,0x09,0x09,0x4E,0x67,0x2B,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,
|
||||
0x09,0x5B,0x24,0x28,0x5B,0x4E,0x72,0x30,0x5D,0x3D,0x43,0x28,0x5B,0x4E,0x72,
|
||||
0x30,0x5D,0x29,0x5B,0x4E,0x72,0x30,0x5D,0x29,0x5D,0x09,0x09,0x4E,0x67,0x2B,
|
||||
0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x24,0x28,0x5B,0x4E,0x44,0x31,
|
||||
0x5D,0x3D,0x43,0x5B,0x4E,0x44,0x31,0x5D,0x29,0x5D,0x09,0x09,0x09,0x4E,0x67,
|
||||
0x2B,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x24,0x28,0x5B,0x4E,0x44,
|
||||
0x31,0x5D,0x43,0x3D,0x5B,0x4E,0x44,0x31,0x5D,0x29,0x5D,0x09,0x09,0x09,0x4E,
|
||||
0x67,0x2B,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x24,0x28,0x4E,0x28,
|
||||
0x4F,0x29,0x2A,0x29,0x5D,0x09,0x09,0x09,0x09,0x4E,0x6F,0x78,0x0A,0x45,0x58,
|
||||
0x54,0x54,0x59,0x50,0x09,0x5B,0x24,0x28,0x4E,0x43,0x3D,0x5B,0x4F,0x2C,0x53,
|
||||
0x5D,0x29,0x5D,0x09,0x09,0x09,0x09,0x4E,0x61,0x6D,0x0A,0x45,0x58,0x54,0x54,
|
||||
0x59,0x50,0x09,0x5B,0x24,0x28,0x4E,0x28,0x7E,0x5B,0x4F,0x44,0x31,0x5D,0x29,
|
||||
0x7E,0x5B,0x4F,0x44,0x31,0x5D,0x29,0x5D,0x09,0x09,0x09,0x4E,0x74,0x72,0x0A,
|
||||
0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x6E,0x5D,0x09,0x09,0x09,0x09,0x09,
|
||||
0x4E,0x61,0x72,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x36,0x5E,
|
||||
0x33,0x5D,0x09,0x09,0x09,0x09,0x09,0x43,0x33,0x0A,0x45,0x58,0x54,0x54,0x59,
|
||||
0x50,0x09,0x5B,0x23,0x36,0x5E,0x32,0x5D,0x09,0x09,0x09,0x09,0x09,0x43,0x32,
|
||||
0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x24,0x28,0x43,0x28,0x3D,0x4F,
|
||||
0x29,0x5B,0x4F,0x44,0x31,0x5D,0x29,0x5D,0x09,0x09,0x09,0x09,0x43,0x61,0x63,
|
||||
0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x63,0x5D,0x09,0x09,0x09,0x09,
|
||||
0x09,0x43,0x61,0x72,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x36,
|
||||
0x5E,0x31,0x5D,0x09,0x09,0x09,0x09,0x09,0x43,0x31,0x0A,0x45,0x58,0x54,0x54,
|
||||
0x59,0x50,0x09,0x5B,0x23,0x36,0x2B,0x5D,0x09,0x09,0x09,0x09,0x09,0x43,0x2B,
|
||||
0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x36,0x2D,0x5D,0x09,0x09,
|
||||
0x09,0x09,0x09,0x43,0x2D,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,
|
||||
0x38,0x5E,0x33,0x5D,0x09,0x09,0x09,0x09,0x09,0x4F,0x33,0x0A,0x45,0x58,0x54,
|
||||
0x54,0x59,0x50,0x09,0x5B,0x23,0x38,0x5E,0x32,0x5D,0x09,0x09,0x09,0x09,0x09,
|
||||
0x4F,0x32,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x20,0x20,0x5B,0x24,0x28,0x4F,
|
||||
0x61,0x29,0x5D,0x09,0x09,0x09,0x09,0x09,0x4F,0x32,0x0A,0x45,0x58,0x54,0x54,
|
||||
0x59,0x50,0x09,0x5B,0x24,0x28,0x5B,0x4F,0x44,0x32,0x5D,0x43,0x3D,0x5B,0x4F,
|
||||
0x2C,0x53,0x5D,0x29,0x5D,0x09,0x09,0x09,0x4F,0x33,0x09,0x23,0x65,0x73,0x74,
|
||||
0x65,0x72,0x20,0x6F,0x78,0x79,0x67,0x65,0x6E,0x0A,0x45,0x58,0x54,0x54,0x59,
|
||||
0x50,0x20,0x20,0x5B,0x24,0x28,0x4F,0x61,0x29,0x5D,0x09,0x09,0x09,0x09,0x09,
|
||||
0x4F,0x33,0x20,0x20,0x20,0x20,0x20,0x20,0x23,0x61,0x72,0x6F,0x6D,0x61,0x74,
|
||||
0x69,0x63,0x20,0x65,0x74,0x68,0x65,0x72,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,
|
||||
0x09,0x5B,0x23,0x38,0x2D,0x5D,0x09,0x09,0x09,0x09,0x09,0x4F,0x2D,0x0A,0x45,
|
||||
0x58,0x54,0x54,0x59,0x50,0x20,0x20,0x5B,0x24,0x28,0x5B,0x23,0x38,0x44,0x31,
|
||||
0x5D,0x7E,0x5B,0x23,0x36,0x5D,0x7E,0x5B,0x23,0x38,0x44,0x31,0x5D,0x29,0x5D,
|
||||
0x09,0x09,0x09,0x4F,0x2E,0x63,0x6F,0x32,0x20,0x20,0x0A,0x45,0x58,0x54,0x54,
|
||||
0x59,0x50,0x09,0x5B,0x23,0x31,0x35,0x5D,0x09,0x09,0x09,0x09,0x09,0x50,0x0A,
|
||||
0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x31,0x35,0x58,0x34,0x2B,0x5D,
|
||||
0x09,0x09,0x09,0x09,0x50,0x33,0x2B,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,
|
||||
0x5B,0x23,0x31,0x35,0x3B,0x24,0x28,0x5B,0x23,0x31,0x35,0x44,0x34,0x5D,0x28,
|
||||
0x7E,0x5B,0x4F,0x44,0x31,0x5D,0x29,0x28,0x7E,0x5B,0x4F,0x44,0x31,0x5D,0x29,
|
||||
0x7E,0x5B,0x4F,0x44,0x31,0x5D,0x29,0x5D,0x09,0x50,0x61,0x63,0x0A,0x45,0x58,
|
||||
0x54,0x54,0x59,0x50,0x20,0x20,0x5B,0x23,0x31,0x35,0x3B,0x24,0x28,0x5B,0x23,
|
||||
0x31,0x35,0x44,0x33,0x5D,0x28,0x7E,0x5B,0x4F,0x44,0x31,0x5D,0x29,0x7E,0x5B,
|
||||
0x4F,0x44,0x31,0x5D,0x29,0x5D,0x09,0x09,0x50,0x61,0x63,0x0A,0x45,0x58,0x54,
|
||||
0x54,0x59,0x50,0x09,0x5B,0x23,0x31,0x36,0x5D,0x09,0x09,0x09,0x09,0x09,0x53,
|
||||
0x33,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x31,0x36,0x44,0x33,
|
||||
0x2B,0x2C,0x23,0x31,0x36,0x58,0x33,0x2B,0x5D,0x09,0x09,0x09,0x09,0x53,0x33,
|
||||
0x2B,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x31,0x36,0x3B,0x73,
|
||||
0x2C,0x24,0x28,0x5B,0x53,0x44,0x31,0x5D,0x3D,0x2A,0x29,0x5D,0x09,0x09,0x09,
|
||||
0x53,0x32,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x31,0x36,0x44,
|
||||
0x34,0x3B,0x24,0x28,0x53,0x28,0x3D,0x4F,0x29,0x28,0x3D,0x4F,0x29,0x29,0x5D,
|
||||
0x09,0x09,0x09,0x53,0x6F,0x32,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,
|
||||
0x23,0x31,0x36,0x44,0x33,0x3B,0x24,0x28,0x53,0x28,0x3D,0x4F,0x29,0x29,0x5D,
|
||||
0x09,0x09,0x09,0x53,0x6F,0x78,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,
|
||||
0x23,0x31,0x36,0x3B,0x24,0x28,0x5B,0x23,0x31,0x36,0x44,0x34,0x5D,0x28,0x7E,
|
||||
0x5B,0x4F,0x44,0x31,0x5D,0x29,0x28,0x7E,0x5B,0x4F,0x44,0x31,0x5D,0x29,0x7E,
|
||||
0x5B,0x4F,0x44,0x31,0x5D,0x29,0x5D,0x09,0x53,0x61,0x63,0x0A,0x45,0x58,0x54,
|
||||
0x20,0x20,0x5B,0x23,0x31,0x37,0x44,0x30,0x2D,0x5D,0x09,0x20,0x20,0x30,0x20,
|
||||
0x23,0x5B,0x43,0x6C,0x2D,0x5D,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x20,0x20,
|
||||
0x5B,0x23,0x33,0x35,0x44,0x30,0x5D,0x09,0x09,0x20,0x20,0x31,0x0A,0x49,0x4D,
|
||||
0x50,0x56,0x41,0x4C,0x20,0x20,0x5B,0x23,0x33,0x35,0x44,0x30,0x2D,0x5D,0x09,
|
||||
0x20,0x20,0x30,0x20,0x23,0x5B,0x42,0x72,0x2D,0x5D,0x0A,0x49,0x4D,0x50,0x56,
|
||||
0x41,0x4C,0x20,0x20,0x5B,0x23,0x35,0x33,0x44,0x30,0x5D,0x09,0x09,0x20,0x20,
|
||||
0x31,0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x20,0x20,0x5B,0x23,0x35,0x33,0x44,
|
||||
0x30,0x2D,0x5D,0x09,0x20,0x20,0x30,0x20,0x23,0x5B,0x49,0x2D,0x5D,0x0A,0x49,
|
||||
0x4D,0x50,0x56,0x41,0x4C,0x20,0x20,0x5B,0x23,0x35,0x5D,0x09,0x09,0x09,0x33,
|
||||
0x0A,0x49,0x4D,0x50,0x56,0x41,0x4C,0x20,0x20,0x5B,0x61,0x73,0x5D,0x09,0x09,
|
||||
0x09,0x33,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x37,0x5E,0x33,
|
||||
0x5D,0x09,0x09,0x09,0x09,0x09,0x4E,0x33,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,
|
||||
0x09,0x5B,0x23,0x37,0x58,0x34,0x2B,0x5D,0x09,0x09,0x09,0x09,0x09,0x4E,0x33,
|
||||
0x2B,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x37,0x5E,0x32,0x5D,
|
||||
0x09,0x09,0x09,0x09,0x09,0x4E,0x70,0x6C,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,
|
||||
0x09,0x5B,0x23,0x37,0x5E,0x31,0x5D,0x09,0x09,0x09,0x09,0x09,0x4E,0x31,0x0A,
|
||||
0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x24,0x28,0x4E,0x3D,0x2A,0x29,0x5D,
|
||||
0x09,0x09,0x09,0x09,0x4E,0x32,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,
|
||||
0x24,0x28,0x5B,0x4E,0x72,0x30,0x5D,0x43,0x28,0x3D,0x5B,0x4E,0x72,0x30,0x5D,
|
||||
0x29,0x5B,0x4E,0x72,0x30,0x5D,0x29,0x5D,0x09,0x09,0x4E,0x67,0x2B,0x0A,0x45,
|
||||
0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x24,0x28,0x5B,0x4E,0x72,0x30,0x5D,0x3D,
|
||||
0x43,0x28,0x5B,0x4E,0x72,0x30,0x5D,0x29,0x5B,0x4E,0x72,0x30,0x5D,0x29,0x5D,
|
||||
0x09,0x09,0x4E,0x67,0x2B,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x24,
|
||||
0x28,0x5B,0x4E,0x44,0x31,0x5D,0x3D,0x43,0x5B,0x4E,0x44,0x31,0x5D,0x29,0x5D,
|
||||
0x09,0x09,0x09,0x4E,0x67,0x2B,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,
|
||||
0x24,0x28,0x5B,0x4E,0x44,0x31,0x5D,0x43,0x3D,0x5B,0x4E,0x44,0x31,0x5D,0x29,
|
||||
0x5D,0x09,0x09,0x09,0x4E,0x67,0x2B,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,
|
||||
0x5B,0x24,0x28,0x4E,0x28,0x4F,0x29,0x2A,0x29,0x5D,0x09,0x09,0x09,0x09,0x4E,
|
||||
0x6F,0x78,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x24,0x28,0x4E,0x43,
|
||||
0x3D,0x5B,0x4F,0x2C,0x53,0x5D,0x29,0x5D,0x09,0x09,0x09,0x09,0x4E,0x61,0x6D,
|
||||
0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x24,0x28,0x4E,0x28,0x7E,0x5B,
|
||||
0x4F,0x44,0x31,0x5D,0x29,0x7E,0x5B,0x4F,0x44,0x31,0x5D,0x29,0x5D,0x09,0x09,
|
||||
0x09,0x4E,0x74,0x72,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x6E,0x5D,
|
||||
0x09,0x09,0x09,0x09,0x09,0x4E,0x61,0x72,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,
|
||||
0x09,0x5B,0x23,0x36,0x5E,0x33,0x5D,0x09,0x09,0x09,0x09,0x09,0x43,0x33,0x0A,
|
||||
0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x36,0x5E,0x32,0x5D,0x09,0x09,
|
||||
0x09,0x09,0x09,0x43,0x32,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x24,
|
||||
0x28,0x43,0x28,0x3D,0x4F,0x29,0x5B,0x4F,0x44,0x31,0x5D,0x29,0x5D,0x09,0x09,
|
||||
0x09,0x09,0x43,0x61,0x63,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x63,
|
||||
0x5D,0x09,0x09,0x09,0x09,0x09,0x43,0x61,0x72,0x0A,0x45,0x58,0x54,0x54,0x59,
|
||||
0x50,0x09,0x5B,0x23,0x36,0x5E,0x31,0x5D,0x09,0x09,0x09,0x09,0x09,0x43,0x31,
|
||||
0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x36,0x2B,0x5D,0x09,0x09,
|
||||
0x09,0x09,0x09,0x43,0x2B,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,
|
||||
0x36,0x2D,0x5D,0x09,0x09,0x09,0x09,0x09,0x43,0x2D,0x0A,0x45,0x58,0x54,0x54,
|
||||
0x59,0x50,0x09,0x5B,0x23,0x38,0x5E,0x33,0x5D,0x09,0x09,0x09,0x09,0x09,0x4F,
|
||||
0x33,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x38,0x5E,0x32,0x5D,
|
||||
0x09,0x09,0x09,0x09,0x09,0x4F,0x32,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x20,
|
||||
0x20,0x5B,0x24,0x28,0x4F,0x61,0x29,0x5D,0x09,0x09,0x09,0x09,0x09,0x4F,0x32,
|
||||
0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x24,0x28,0x5B,0x4F,0x44,0x32,
|
||||
0x5D,0x43,0x3D,0x5B,0x4F,0x2C,0x53,0x5D,0x29,0x5D,0x09,0x09,0x09,0x4F,0x33,
|
||||
0x09,0x23,0x65,0x73,0x74,0x65,0x72,0x20,0x6F,0x78,0x79,0x67,0x65,0x6E,0x0A,
|
||||
0x45,0x58,0x54,0x54,0x59,0x50,0x20,0x20,0x5B,0x24,0x28,0x4F,0x61,0x29,0x5D,
|
||||
0x09,0x09,0x09,0x09,0x09,0x4F,0x33,0x20,0x20,0x20,0x20,0x20,0x20,0x23,0x61,
|
||||
0x72,0x6F,0x6D,0x61,0x74,0x69,0x63,0x20,0x65,0x74,0x68,0x65,0x72,0x0A,0x45,
|
||||
0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x38,0x2D,0x5D,0x09,0x09,0x09,0x09,
|
||||
0x09,0x4F,0x2D,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x20,0x20,0x5B,0x24,0x28,
|
||||
0x5B,0x23,0x38,0x44,0x31,0x5D,0x7E,0x5B,0x23,0x36,0x5D,0x7E,0x5B,0x23,0x38,
|
||||
0x44,0x31,0x5D,0x29,0x5D,0x09,0x09,0x09,0x4F,0x2E,0x63,0x6F,0x32,0x20,0x20,
|
||||
0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x31,0x35,0x5D,0x09,0x09,
|
||||
0x09,0x09,0x09,0x50,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x31,
|
||||
0x35,0x58,0x34,0x2B,0x5D,0x09,0x09,0x09,0x09,0x50,0x33,0x2B,0x0A,0x45,0x58,
|
||||
0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x31,0x35,0x3B,0x24,0x28,0x5B,0x23,0x31,
|
||||
0x35,0x44,0x34,0x5D,0x28,0x7E,0x5B,0x4F,0x44,0x31,0x5D,0x29,0x28,0x7E,0x5B,
|
||||
0x4F,0x44,0x31,0x5D,0x29,0x7E,0x5B,0x4F,0x44,0x31,0x5D,0x29,0x5D,0x09,0x50,
|
||||
0x61,0x63,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x20,0x20,0x5B,0x23,0x31,0x35,
|
||||
0x3B,0x24,0x28,0x5B,0x23,0x31,0x35,0x44,0x33,0x5D,0x28,0x7E,0x5B,0x4F,0x44,
|
||||
0x31,0x5D,0x29,0x7E,0x5B,0x4F,0x44,0x31,0x5D,0x29,0x5D,0x09,0x09,0x50,0x61,
|
||||
0x63,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x31,0x36,0x5D,0x09,
|
||||
0x09,0x09,0x09,0x09,0x53,0x33,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,
|
||||
0x23,0x31,0x36,0x44,0x33,0x2B,0x2C,0x23,0x31,0x36,0x58,0x33,0x2B,0x5D,0x09,
|
||||
0x09,0x09,0x09,0x53,0x33,0x2B,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,
|
||||
0x23,0x31,0x36,0x3B,0x73,0x2C,0x24,0x28,0x5B,0x53,0x44,0x31,0x5D,0x3D,0x2A,
|
||||
0x29,0x5D,0x09,0x09,0x09,0x53,0x32,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,
|
||||
0x5B,0x23,0x31,0x36,0x44,0x34,0x3B,0x24,0x28,0x53,0x28,0x3D,0x4F,0x29,0x28,
|
||||
0x3D,0x4F,0x29,0x29,0x5D,0x09,0x09,0x09,0x53,0x6F,0x32,0x0A,0x45,0x58,0x54,
|
||||
0x54,0x59,0x50,0x09,0x5B,0x23,0x31,0x36,0x44,0x33,0x3B,0x24,0x28,0x53,0x28,
|
||||
0x3D,0x4F,0x29,0x29,0x5D,0x09,0x09,0x09,0x53,0x6F,0x78,0x0A,0x45,0x58,0x54,
|
||||
0x54,0x59,0x50,0x09,0x5B,0x23,0x31,0x36,0x3B,0x24,0x28,0x5B,0x23,0x31,0x36,
|
||||
0x44,0x33,0x5D,0x28,0x7E,0x5B,0x4F,0x44,0x31,0x5D,0x29,0x7E,0x5B,0x4F,0x44,
|
||||
0x31,0x5D,0x29,0x5D,0x09,0x09,0x53,0x61,0x63,0x0A,0x45,0x58,0x54,0x54,0x59,
|
||||
0x50,0x09,0x5B,0x23,0x35,0x5D,0x09,0x09,0x09,0x09,0x09,0x42,0x32,0x0A,0x45,
|
||||
0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x35,0x44,0x34,0x5D,0x09,0x09,0x09,
|
||||
0x09,0x09,0x42,0x33,0x0A,0x00};
|
||||
0x44,0x34,0x5D,0x28,0x7E,0x5B,0x4F,0x44,0x31,0x5D,0x29,0x28,0x7E,0x5B,0x4F,
|
||||
0x44,0x31,0x5D,0x29,0x7E,0x5B,0x4F,0x44,0x31,0x5D,0x29,0x5D,0x09,0x53,0x61,
|
||||
0x63,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x31,0x36,0x3B,0x24,
|
||||
0x28,0x5B,0x23,0x31,0x36,0x44,0x33,0x5D,0x28,0x7E,0x5B,0x4F,0x44,0x31,0x5D,
|
||||
0x29,0x7E,0x5B,0x4F,0x44,0x31,0x5D,0x29,0x5D,0x09,0x09,0x53,0x61,0x63,0x0A,
|
||||
0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x35,0x5D,0x09,0x09,0x09,0x09,
|
||||
0x09,0x42,0x32,0x0A,0x45,0x58,0x54,0x54,0x59,0x50,0x09,0x5B,0x23,0x35,0x44,
|
||||
0x34,0x5D,0x09,0x09,0x09,0x09,0x09,0x42,0x33,0x0A,0x00};
|
||||
|
||||
} // namespace OpenBabel
|
||||
#endif // OB_ATOMTYP_H
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
# #
|
||||
##############################################################################
|
||||
|
||||
INTHYB [D4] 3 #any 4 valent atom
|
||||
INTHYB [C] 3 #sp3 carbon
|
||||
INTHYB [c,$(C=*)] 2 #sp2 carbon
|
||||
INTHYB [$([#6]([#8D1])[#8D1])] 2 #sp2 carbon
|
||||
@@ -32,7 +33,6 @@ INTHYB [O] 3 #sp3 oxygen
|
||||
INTHYB [o,$(O=*),$(O[#6,#7,#8]=,:*)] 2 #sp2 oxygen
|
||||
INTHYB [$([#8D1][#6][#8D1])] 2 #sp2 oxygen
|
||||
INTHYB [$(O#*)] 1 #sp oxygen
|
||||
INTHYB [D4] 3 #any 4 valent atom
|
||||
|
||||
INTHYB [P] 3 #sp3 phosphorus
|
||||
INTHYB [#15;$([PD1]=*)] 2 #sp2 phosphorus
|
||||
|
||||
@@ -57,12 +57,15 @@ AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_DOCS_FALSE = @BUILD_DOCS_FALSE@
|
||||
BUILD_DOCS_TRUE = @BUILD_DOCS_TRUE@
|
||||
BUILD_INCHI_FALSE = @BUILD_INCHI_FALSE@
|
||||
BUILD_INCHI_TRUE = @BUILD_INCHI_TRUE@
|
||||
BUILD_SCRIPTS_FALSE = @BUILD_SCRIPTS_FALSE@
|
||||
BUILD_SCRIPTS_TRUE = @BUILD_SCRIPTS_TRUE@
|
||||
BUILD_SHARED_FALSE = @BUILD_SHARED_FALSE@
|
||||
@@ -87,6 +90,7 @@ CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DOXYGEN = @DOXYGEN@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
@@ -111,6 +115,7 @@ MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
@@ -137,9 +142,12 @@ XML2_CONFIG = @XML2_CONFIG@
|
||||
XML_CPPFLAGS = @XML_CPPFLAGS@
|
||||
XML_LIBS = @XML_LIBS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_AS = @ac_ct_AS@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
@@ -199,9 +207,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu doc/Makefile
|
||||
$(AUTOMAKE) --foreign doc/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
|
||||
@@ -60,6 +60,8 @@ AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_DOCS_FALSE = @BUILD_DOCS_FALSE@
|
||||
BUILD_DOCS_TRUE = @BUILD_DOCS_TRUE@
|
||||
BUILD_INCHI_FALSE = @BUILD_INCHI_FALSE@
|
||||
BUILD_INCHI_TRUE = @BUILD_INCHI_TRUE@
|
||||
BUILD_SCRIPTS_FALSE = @BUILD_SCRIPTS_FALSE@
|
||||
BUILD_SCRIPTS_TRUE = @BUILD_SCRIPTS_TRUE@
|
||||
BUILD_SHARED_FALSE = @BUILD_SHARED_FALSE@
|
||||
@@ -201,9 +203,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu scripts/Makefile'; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign scripts/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu scripts/Makefile
|
||||
$(AUTOMAKE) --foreign scripts/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
|
||||
@@ -6,6 +6,12 @@
|
||||
#endif
|
||||
|
||||
%{
|
||||
// used to set import/export for Cygwin DLLs
|
||||
#ifdef WIN32
|
||||
#define USING_OBDLL
|
||||
#endif
|
||||
|
||||
|
||||
#include "obutil.h"
|
||||
#include "math/vector3.h"
|
||||
#include "math/matrix3x3.h"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# http://module-build.sourceforge.net/META-spec.html
|
||||
#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
|
||||
name: Chemistry-OpenBabel
|
||||
version: 1.0.0
|
||||
version: 1.2.0
|
||||
version_from:
|
||||
installdirs: site
|
||||
requires:
|
||||
|
||||
@@ -46,6 +46,7 @@ sub this {
|
||||
|
||||
package Chemistry::OpenBabel;
|
||||
|
||||
*OpenDatafile = *Chemistry::OpenBabelc::OpenDatafile;
|
||||
*DoubleMultiply = *Chemistry::OpenBabelc::DoubleMultiply;
|
||||
*DoubleAdd = *Chemistry::OpenBabelc::DoubleAdd;
|
||||
*DoubleModulus = *Chemistry::OpenBabelc::DoubleModulus;
|
||||
|
||||
@@ -1452,53 +1452,54 @@ SWIG_Perl_SetModule(swig_module_info *module) {
|
||||
#define SWIGTYPE_p_p_double swig_types[58]
|
||||
#define SWIGTYPE_p_p_int swig_types[59]
|
||||
#define SWIGTYPE_p_std__dequeTint_t swig_types[60]
|
||||
#define SWIGTYPE_p_std__istream swig_types[61]
|
||||
#define SWIGTYPE_p_std__mapTchar_const_p_OpenBabel__OBFormat_p_OpenBabel__CharPtrLess_t swig_types[62]
|
||||
#define SWIGTYPE_p_std__mapTint_OpenBabel__OBAtom_p_t swig_types[63]
|
||||
#define SWIGTYPE_p_std__mapTstd__string_std__string_t swig_types[64]
|
||||
#define SWIGTYPE_p_std__ostream swig_types[65]
|
||||
#define SWIGTYPE_p_std__out_of_range swig_types[66]
|
||||
#define SWIGTYPE_p_std__pairTOpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t swig_types[67]
|
||||
#define SWIGTYPE_p_std__streampos swig_types[68]
|
||||
#define SWIGTYPE_p_std__string swig_types[69]
|
||||
#define SWIGTYPE_p_std__type_info swig_types[70]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBAtom_p_t swig_types[71]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBAtom_p_t__iterator swig_types[72]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBBond_p_t swig_types[73]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBBond_t swig_types[74]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBEdgeBase_p_t__iterator swig_types[75]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBExternalBond_t swig_types[76]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBGenericData_p_t swig_types[77]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBGenericData_p_t__iterator swig_types[78]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBInternalCoord_p_t swig_types[79]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBInternalCoord_p_t__iterator swig_types[80]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBMol_t swig_types[81]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBNodeBase_p_t swig_types[82]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBNodeBase_p_t__iterator swig_types[83]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBResidue_p_t__iterator swig_types[84]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBResidue_t swig_types[85]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBRing_p_t swig_types[86]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBRing_p_t__iterator swig_types[87]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBRing_t swig_types[88]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBTorsion_t swig_types[89]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__tripleTOpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_t swig_types[90]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__vector3_t swig_types[91]
|
||||
#define SWIGTYPE_p_std__vectorTdouble_p_t swig_types[92]
|
||||
#define SWIGTYPE_p_std__vectorTdouble_p_t__iterator swig_types[93]
|
||||
#define SWIGTYPE_p_std__vectorTdouble_t swig_types[94]
|
||||
#define SWIGTYPE_p_std__vectorTint_t swig_types[95]
|
||||
#define SWIGTYPE_p_std__vectorTstd__pairTint_int_t_t swig_types[96]
|
||||
#define SWIGTYPE_p_std__vectorTstd__pairTstd__string_std__string_t_t swig_types[97]
|
||||
#define SWIGTYPE_p_std__vectorTstd__string_t swig_types[98]
|
||||
#define SWIGTYPE_p_std__vectorTstd__vectorTOpenBabel__vector3_t_t swig_types[99]
|
||||
#define SWIGTYPE_p_std__vectorTstd__vectorTint_t_t swig_types[100]
|
||||
#define SWIGTYPE_p_std__vectorTstd__vectorTint_t_t__iterator swig_types[101]
|
||||
#define SWIGTYPE_p_std__vectorTstd__vectorTunsigned_int_t_t swig_types[102]
|
||||
#define SWIGTYPE_p_std__vectorTunsigned_int_t swig_types[103]
|
||||
#define SWIGTYPE_p_std__vectorTunsigned_short_t swig_types[104]
|
||||
#define SWIGTYPE_p_unsigned_int swig_types[105]
|
||||
static swig_type_info *swig_types[107];
|
||||
static swig_module_info swig_module = {swig_types, 106, 0, 0, 0, 0};
|
||||
#define SWIGTYPE_p_std__ifstream swig_types[61]
|
||||
#define SWIGTYPE_p_std__istream swig_types[62]
|
||||
#define SWIGTYPE_p_std__mapTchar_const_p_OpenBabel__OBFormat_p_OpenBabel__CharPtrLess_t swig_types[63]
|
||||
#define SWIGTYPE_p_std__mapTint_OpenBabel__OBAtom_p_t swig_types[64]
|
||||
#define SWIGTYPE_p_std__mapTstd__string_std__string_t swig_types[65]
|
||||
#define SWIGTYPE_p_std__ostream swig_types[66]
|
||||
#define SWIGTYPE_p_std__out_of_range swig_types[67]
|
||||
#define SWIGTYPE_p_std__pairTOpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t swig_types[68]
|
||||
#define SWIGTYPE_p_std__streampos swig_types[69]
|
||||
#define SWIGTYPE_p_std__string swig_types[70]
|
||||
#define SWIGTYPE_p_std__type_info swig_types[71]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBAtom_p_t swig_types[72]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBAtom_p_t__iterator swig_types[73]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBBond_p_t swig_types[74]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBBond_t swig_types[75]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBEdgeBase_p_t__iterator swig_types[76]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBExternalBond_t swig_types[77]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBGenericData_p_t swig_types[78]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBGenericData_p_t__iterator swig_types[79]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBInternalCoord_p_t swig_types[80]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBInternalCoord_p_t__iterator swig_types[81]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBMol_t swig_types[82]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBNodeBase_p_t swig_types[83]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBNodeBase_p_t__iterator swig_types[84]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBResidue_p_t__iterator swig_types[85]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBResidue_t swig_types[86]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBRing_p_t swig_types[87]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBRing_p_t__iterator swig_types[88]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBRing_t swig_types[89]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBTorsion_t swig_types[90]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__tripleTOpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_t swig_types[91]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__vector3_t swig_types[92]
|
||||
#define SWIGTYPE_p_std__vectorTdouble_p_t swig_types[93]
|
||||
#define SWIGTYPE_p_std__vectorTdouble_p_t__iterator swig_types[94]
|
||||
#define SWIGTYPE_p_std__vectorTdouble_t swig_types[95]
|
||||
#define SWIGTYPE_p_std__vectorTint_t swig_types[96]
|
||||
#define SWIGTYPE_p_std__vectorTstd__pairTint_int_t_t swig_types[97]
|
||||
#define SWIGTYPE_p_std__vectorTstd__pairTstd__string_std__string_t_t swig_types[98]
|
||||
#define SWIGTYPE_p_std__vectorTstd__string_t swig_types[99]
|
||||
#define SWIGTYPE_p_std__vectorTstd__vectorTOpenBabel__vector3_t_t swig_types[100]
|
||||
#define SWIGTYPE_p_std__vectorTstd__vectorTint_t_t swig_types[101]
|
||||
#define SWIGTYPE_p_std__vectorTstd__vectorTint_t_t__iterator swig_types[102]
|
||||
#define SWIGTYPE_p_std__vectorTstd__vectorTunsigned_int_t_t swig_types[103]
|
||||
#define SWIGTYPE_p_std__vectorTunsigned_int_t swig_types[104]
|
||||
#define SWIGTYPE_p_std__vectorTunsigned_short_t swig_types[105]
|
||||
#define SWIGTYPE_p_unsigned_int swig_types[106]
|
||||
static swig_type_info *swig_types[108];
|
||||
static swig_module_info swig_module = {swig_types, 107, 0, 0, 0, 0};
|
||||
#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
|
||||
#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
|
||||
|
||||
@@ -1533,6 +1534,12 @@ SWIGEXPORT void SWIG_init (CV *cv, CPerlObj *);
|
||||
#endif
|
||||
|
||||
|
||||
// used to set import/export for Cygwin DLLs
|
||||
#ifdef WIN32
|
||||
#define USING_OBDLL
|
||||
#endif
|
||||
|
||||
|
||||
#include "obutil.h"
|
||||
#include "math/vector3.h"
|
||||
#include "math/matrix3x3.h"
|
||||
@@ -10872,6 +10879,52 @@ XS(_wrap_delete_OBResidueData) {
|
||||
}
|
||||
|
||||
|
||||
XS(_wrap_OpenDatafile) {
|
||||
{
|
||||
std::ifstream *arg1 = 0 ;
|
||||
std::string *arg2 = 0 ;
|
||||
std::string result;
|
||||
void *argp1 = 0 ;
|
||||
int res1 = 0 ;
|
||||
int res2 = SWIG_OLDOBJ ;
|
||||
int argvi = 0;
|
||||
dXSARGS;
|
||||
|
||||
if ((items < 2) || (items > 2)) {
|
||||
SWIG_croak("Usage: OpenDatafile(fs,filename);");
|
||||
}
|
||||
res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_std__ifstream, 0 );
|
||||
if (!SWIG_IsOK(res1)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OpenDatafile" "', argument " "1"" of type '" "std::ifstream &""'");
|
||||
}
|
||||
if (!argp1) {
|
||||
SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OpenDatafile" "', argument " "1"" of type '" "std::ifstream &""'");
|
||||
}
|
||||
arg1 = reinterpret_cast< std::ifstream * >(argp1);
|
||||
{
|
||||
std::string *ptr = (std::string *)0;
|
||||
res2 = SWIG_AsPtr_std_string SWIG_PERL_CALL_ARGS_2(ST(1), &ptr);
|
||||
if (!SWIG_IsOK(res2)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OpenDatafile" "', argument " "2"" of type '" "std::string const &""'");
|
||||
}
|
||||
if (!ptr) {
|
||||
SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OpenDatafile" "', argument " "2"" of type '" "std::string const &""'");
|
||||
}
|
||||
arg2 = ptr;
|
||||
}
|
||||
result = OpenBabel::OpenDatafile(*arg1,(std::string const &)*arg2);
|
||||
ST(argvi) = SWIG_From_std_string SWIG_PERL_CALL_ARGS_1(static_cast< std::string >(result)); argvi++ ;
|
||||
|
||||
if (SWIG_IsNewObj(res2)) delete arg2;
|
||||
XSRETURN(argvi);
|
||||
fail:
|
||||
|
||||
if (SWIG_IsNewObj(res2)) delete arg2;
|
||||
SWIG_croak_null();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
XS(_wrap_OBStopwatch_Start) {
|
||||
{
|
||||
OpenBabel::OBStopwatch *arg1 = (OpenBabel::OBStopwatch *) 0 ;
|
||||
@@ -25304,7 +25357,7 @@ XS(_wrap_OBConversion_AddChemObject) {
|
||||
{
|
||||
OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ;
|
||||
OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
|
||||
int result;
|
||||
bool result;
|
||||
void *argp1 = 0 ;
|
||||
int res1 = 0 ;
|
||||
void *argp2 = 0 ;
|
||||
@@ -25325,8 +25378,8 @@ XS(_wrap_OBConversion_AddChemObject) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_AddChemObject" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");
|
||||
}
|
||||
arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2);
|
||||
result = (int)(arg1)->AddChemObject(arg2);
|
||||
ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
|
||||
result = (bool)(arg1)->AddChemObject(arg2);
|
||||
ST(argvi) = SWIG_From_bool SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
|
||||
|
||||
|
||||
XSRETURN(argvi);
|
||||
@@ -46003,6 +46056,7 @@ static swig_type_info _swigt__p_p_OpenBabel__OBFormat = {"_p_p_OpenBabel__OBForm
|
||||
static swig_type_info _swigt__p_p_double = {"_p_p_double", "double **", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_p_int = {"_p_p_int", "int **", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_std__dequeTint_t = {"_p_std__dequeTint_t", "std::deque<int > *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_std__ifstream = {"_p_std__ifstream", "std::ifstream *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_std__istream = {"_p_std__istream", "std::istream *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_std__mapTchar_const_p_OpenBabel__OBFormat_p_OpenBabel__CharPtrLess_t = {"_p_std__mapTchar_const_p_OpenBabel__OBFormat_p_OpenBabel__CharPtrLess_t", "std::map<char const *,OpenBabel::OBFormat *,OpenBabel::CharPtrLess > *|OpenBabel::FMapType *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_std__mapTint_OpenBabel__OBAtom_p_t = {"_p_std__mapTint_OpenBabel__OBAtom_p_t", "std::map<int,OpenBabel::OBAtom * > *", 0, 0, (void*)0, 0};
|
||||
@@ -46111,6 +46165,7 @@ static swig_type_info *swig_type_initial[] = {
|
||||
&_swigt__p_p_double,
|
||||
&_swigt__p_p_int,
|
||||
&_swigt__p_std__dequeTint_t,
|
||||
&_swigt__p_std__ifstream,
|
||||
&_swigt__p_std__istream,
|
||||
&_swigt__p_std__mapTchar_const_p_OpenBabel__OBFormat_p_OpenBabel__CharPtrLess_t,
|
||||
&_swigt__p_std__mapTint_OpenBabel__OBAtom_p_t,
|
||||
@@ -46219,6 +46274,7 @@ static swig_cast_info _swigc__p_p_OpenBabel__OBFormat[] = { {&_swigt__p_p_OpenB
|
||||
static swig_cast_info _swigc__p_p_double[] = { {&_swigt__p_p_double, 0, 0, 0},{0, 0, 0, 0}};
|
||||
static swig_cast_info _swigc__p_p_int[] = { {&_swigt__p_p_int, 0, 0, 0},{0, 0, 0, 0}};
|
||||
static swig_cast_info _swigc__p_std__dequeTint_t[] = { {&_swigt__p_std__dequeTint_t, 0, 0, 0},{0, 0, 0, 0}};
|
||||
static swig_cast_info _swigc__p_std__ifstream[] = { {&_swigt__p_std__ifstream, 0, 0, 0},{0, 0, 0, 0}};
|
||||
static swig_cast_info _swigc__p_std__istream[] = { {&_swigt__p_std__istream, 0, 0, 0},{0, 0, 0, 0}};
|
||||
static swig_cast_info _swigc__p_std__mapTchar_const_p_OpenBabel__OBFormat_p_OpenBabel__CharPtrLess_t[] = { {&_swigt__p_std__mapTchar_const_p_OpenBabel__OBFormat_p_OpenBabel__CharPtrLess_t, 0, 0, 0},{0, 0, 0, 0}};
|
||||
static swig_cast_info _swigc__p_std__mapTint_OpenBabel__OBAtom_p_t[] = { {&_swigt__p_std__mapTint_OpenBabel__OBAtom_p_t, 0, 0, 0},{0, 0, 0, 0}};
|
||||
@@ -46327,6 +46383,7 @@ static swig_cast_info *swig_cast_initial[] = {
|
||||
_swigc__p_p_double,
|
||||
_swigc__p_p_int,
|
||||
_swigc__p_std__dequeTint_t,
|
||||
_swigc__p_std__ifstream,
|
||||
_swigc__p_std__istream,
|
||||
_swigc__p_std__mapTchar_const_p_OpenBabel__OBFormat_p_OpenBabel__CharPtrLess_t,
|
||||
_swigc__p_std__mapTint_OpenBabel__OBAtom_p_t,
|
||||
@@ -46571,6 +46628,7 @@ static swig_command_info swig_commands[] = {
|
||||
{"Chemistry::OpenBabelc::OBResidueData_LookupType", _wrap_OBResidueData_LookupType},
|
||||
{"Chemistry::OpenBabelc::OBResidueData_AssignBonds", _wrap_OBResidueData_AssignBonds},
|
||||
{"Chemistry::OpenBabelc::delete_OBResidueData", _wrap_delete_OBResidueData},
|
||||
{"Chemistry::OpenBabelc::OpenDatafile", _wrap_OpenDatafile},
|
||||
{"Chemistry::OpenBabelc::OBStopwatch_Start", _wrap_OBStopwatch_Start},
|
||||
{"Chemistry::OpenBabelc::OBStopwatch_Lap", _wrap_OBStopwatch_Lap},
|
||||
{"Chemistry::OpenBabelc::OBStopwatch_Elapsed", _wrap_OBStopwatch_Elapsed},
|
||||
|
||||
@@ -519,6 +519,7 @@ class OBResidueData(OBGlobalDataBase):
|
||||
OBResidueData_swigregister = _openbabel.OBResidueData_swigregister
|
||||
OBResidueData_swigregister(OBResidueData)
|
||||
|
||||
OpenDatafile = _openbabel.OpenDatafile
|
||||
FILE_SEP_CHAR = _openbabel.FILE_SEP_CHAR
|
||||
class OBStopwatch(object):
|
||||
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
|
||||
|
||||
@@ -2527,67 +2527,68 @@ SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags)
|
||||
#define SWIGTYPE_p_p_int swig_types[62]
|
||||
#define SWIGTYPE_p_size_type swig_types[63]
|
||||
#define SWIGTYPE_p_std__dequeTint_t swig_types[64]
|
||||
#define SWIGTYPE_p_std__invalid_argument swig_types[65]
|
||||
#define SWIGTYPE_p_std__istream swig_types[66]
|
||||
#define SWIGTYPE_p_std__mapTchar_const_p_OpenBabel__OBFormat_p_OpenBabel__CharPtrLess_std__allocatorTstd__pairTchar_const_pconst_OpenBabel__OBFormat_p_t_t_t swig_types[67]
|
||||
#define SWIGTYPE_p_std__mapTint_OpenBabel__OBAtom_p_std__lessTint_t_std__allocatorTstd__pairTint_const_OpenBabel__OBAtom_p_t_t_t swig_types[68]
|
||||
#define SWIGTYPE_p_std__mapTstd__string_std__string_std__lessTstd__string_t_std__allocatorTstd__pairTstd__string_const_std__string_t_t_t swig_types[69]
|
||||
#define SWIGTYPE_p_std__ostream swig_types[70]
|
||||
#define SWIGTYPE_p_std__pairTOpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t swig_types[71]
|
||||
#define SWIGTYPE_p_std__streampos swig_types[72]
|
||||
#define SWIGTYPE_p_std__string swig_types[73]
|
||||
#define SWIGTYPE_p_std__type_info swig_types[74]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBAtom_p_std__allocatorTOpenBabel__OBAtom_p_t_t swig_types[75]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBAtom_p_std__allocatorTOpenBabel__OBAtom_p_t_t__iterator swig_types[76]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBBond_p_std__allocatorTOpenBabel__OBBond_p_t_t swig_types[77]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBBond_std__allocatorTOpenBabel__OBBond_t_t swig_types[78]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBBond_std__allocatorTOpenBabel__OBBond_t_t__allocator_type swig_types[79]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBBond_std__allocatorTOpenBabel__OBBond_t_t__value_type swig_types[80]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBEdgeBase_p_std__allocatorTOpenBabel__OBEdgeBase_p_t_t__iterator swig_types[81]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBExternalBond_std__allocatorTOpenBabel__OBExternalBond_t_t swig_types[82]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBGenericData_p_std__allocatorTOpenBabel__OBGenericData_p_t_t swig_types[83]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBGenericData_p_std__allocatorTOpenBabel__OBGenericData_p_t_t__iterator swig_types[84]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBInternalCoord_p_std__allocatorTOpenBabel__OBInternalCoord_p_t_t swig_types[85]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBInternalCoord_p_std__allocatorTOpenBabel__OBInternalCoord_p_t_t__iterator swig_types[86]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBMol_std__allocatorTOpenBabel__OBMol_t_t swig_types[87]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBMol_std__allocatorTOpenBabel__OBMol_t_t__allocator_type swig_types[88]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBMol_std__allocatorTOpenBabel__OBMol_t_t__value_type swig_types[89]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBNodeBase_p_std__allocatorTOpenBabel__OBNodeBase_p_t_t swig_types[90]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBNodeBase_p_std__allocatorTOpenBabel__OBNodeBase_p_t_t__iterator swig_types[91]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBResidue_p_std__allocatorTOpenBabel__OBResidue_p_t_t__iterator swig_types[92]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBResidue_std__allocatorTOpenBabel__OBResidue_t_t swig_types[93]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBResidue_std__allocatorTOpenBabel__OBResidue_t_t__allocator_type swig_types[94]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBResidue_std__allocatorTOpenBabel__OBResidue_t_t__value_type swig_types[95]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBRing_p_std__allocatorTOpenBabel__OBRing_p_t_t swig_types[96]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBRing_p_std__allocatorTOpenBabel__OBRing_p_t_t__iterator swig_types[97]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBRing_std__allocatorTOpenBabel__OBRing_t_t swig_types[98]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBRing_std__allocatorTOpenBabel__OBRing_t_t__allocator_type swig_types[99]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBRing_std__allocatorTOpenBabel__OBRing_t_t__value_type swig_types[100]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBTorsion_std__allocatorTOpenBabel__OBTorsion_t_t swig_types[101]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__tripleTOpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_std__allocatorTOpenBabel__tripleTOpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_t_t swig_types[102]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__vector3_std__allocatorTOpenBabel__vector3_t_t swig_types[103]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__vector3_std__allocatorTOpenBabel__vector3_t_t__allocator_type swig_types[104]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__vector3_std__allocatorTOpenBabel__vector3_t_t__value_type swig_types[105]
|
||||
#define SWIGTYPE_p_std__vectorTdouble_p_std__allocatorTdouble_p_t_t swig_types[106]
|
||||
#define SWIGTYPE_p_std__vectorTdouble_p_std__allocatorTdouble_p_t_t__iterator swig_types[107]
|
||||
#define SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t swig_types[108]
|
||||
#define SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type swig_types[109]
|
||||
#define SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t swig_types[110]
|
||||
#define SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t__allocator_type swig_types[111]
|
||||
#define SWIGTYPE_p_std__vectorTstd__pairTint_int_t_std__allocatorTstd__pairTint_int_t_t_t swig_types[112]
|
||||
#define SWIGTYPE_p_std__vectorTstd__pairTstd__string_std__string_t_std__allocatorTstd__pairTstd__string_std__string_t_t_t swig_types[113]
|
||||
#define SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t swig_types[114]
|
||||
#define SWIGTYPE_p_std__vectorTstd__vectorTOpenBabel__vector3_std__allocatorTOpenBabel__vector3_t_t_std__allocatorTstd__vectorTOpenBabel__vector3_std__allocatorTOpenBabel__vector3_t_t_t_t swig_types[115]
|
||||
#define SWIGTYPE_p_std__vectorTstd__vectorTint_std__allocatorTint_t_t_std__allocatorTstd__vectorTint_std__allocatorTint_t_t_t_t swig_types[116]
|
||||
#define SWIGTYPE_p_std__vectorTstd__vectorTint_std__allocatorTint_t_t_std__allocatorTstd__vectorTint_std__allocatorTint_t_t_t_t__allocator_type swig_types[117]
|
||||
#define SWIGTYPE_p_std__vectorTstd__vectorTunsigned_int_std__allocatorTunsigned_int_t_t_std__allocatorTstd__vectorTunsigned_int_std__allocatorTunsigned_int_t_t_t_t swig_types[118]
|
||||
#define SWIGTYPE_p_std__vectorTunsigned_int_std__allocatorTunsigned_int_t_t swig_types[119]
|
||||
#define SWIGTYPE_p_std__vectorTunsigned_short_std__allocatorTunsigned_short_t_t swig_types[120]
|
||||
#define SWIGTYPE_p_swig__PySwigIterator swig_types[121]
|
||||
#define SWIGTYPE_p_unsigned_int swig_types[122]
|
||||
#define SWIGTYPE_p_value_type swig_types[123]
|
||||
static swig_type_info *swig_types[125];
|
||||
static swig_module_info swig_module = {swig_types, 124, 0, 0, 0, 0};
|
||||
#define SWIGTYPE_p_std__ifstream swig_types[65]
|
||||
#define SWIGTYPE_p_std__invalid_argument swig_types[66]
|
||||
#define SWIGTYPE_p_std__istream swig_types[67]
|
||||
#define SWIGTYPE_p_std__mapTchar_const_p_OpenBabel__OBFormat_p_OpenBabel__CharPtrLess_std__allocatorTstd__pairTchar_const_pconst_OpenBabel__OBFormat_p_t_t_t swig_types[68]
|
||||
#define SWIGTYPE_p_std__mapTint_OpenBabel__OBAtom_p_std__lessTint_t_std__allocatorTstd__pairTint_const_OpenBabel__OBAtom_p_t_t_t swig_types[69]
|
||||
#define SWIGTYPE_p_std__mapTstd__string_std__string_std__lessTstd__string_t_std__allocatorTstd__pairTstd__string_const_std__string_t_t_t swig_types[70]
|
||||
#define SWIGTYPE_p_std__ostream swig_types[71]
|
||||
#define SWIGTYPE_p_std__pairTOpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t swig_types[72]
|
||||
#define SWIGTYPE_p_std__streampos swig_types[73]
|
||||
#define SWIGTYPE_p_std__string swig_types[74]
|
||||
#define SWIGTYPE_p_std__type_info swig_types[75]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBAtom_p_std__allocatorTOpenBabel__OBAtom_p_t_t swig_types[76]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBAtom_p_std__allocatorTOpenBabel__OBAtom_p_t_t__iterator swig_types[77]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBBond_p_std__allocatorTOpenBabel__OBBond_p_t_t swig_types[78]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBBond_std__allocatorTOpenBabel__OBBond_t_t swig_types[79]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBBond_std__allocatorTOpenBabel__OBBond_t_t__allocator_type swig_types[80]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBBond_std__allocatorTOpenBabel__OBBond_t_t__value_type swig_types[81]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBEdgeBase_p_std__allocatorTOpenBabel__OBEdgeBase_p_t_t__iterator swig_types[82]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBExternalBond_std__allocatorTOpenBabel__OBExternalBond_t_t swig_types[83]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBGenericData_p_std__allocatorTOpenBabel__OBGenericData_p_t_t swig_types[84]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBGenericData_p_std__allocatorTOpenBabel__OBGenericData_p_t_t__iterator swig_types[85]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBInternalCoord_p_std__allocatorTOpenBabel__OBInternalCoord_p_t_t swig_types[86]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBInternalCoord_p_std__allocatorTOpenBabel__OBInternalCoord_p_t_t__iterator swig_types[87]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBMol_std__allocatorTOpenBabel__OBMol_t_t swig_types[88]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBMol_std__allocatorTOpenBabel__OBMol_t_t__allocator_type swig_types[89]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBMol_std__allocatorTOpenBabel__OBMol_t_t__value_type swig_types[90]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBNodeBase_p_std__allocatorTOpenBabel__OBNodeBase_p_t_t swig_types[91]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBNodeBase_p_std__allocatorTOpenBabel__OBNodeBase_p_t_t__iterator swig_types[92]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBResidue_p_std__allocatorTOpenBabel__OBResidue_p_t_t__iterator swig_types[93]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBResidue_std__allocatorTOpenBabel__OBResidue_t_t swig_types[94]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBResidue_std__allocatorTOpenBabel__OBResidue_t_t__allocator_type swig_types[95]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBResidue_std__allocatorTOpenBabel__OBResidue_t_t__value_type swig_types[96]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBRing_p_std__allocatorTOpenBabel__OBRing_p_t_t swig_types[97]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBRing_p_std__allocatorTOpenBabel__OBRing_p_t_t__iterator swig_types[98]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBRing_std__allocatorTOpenBabel__OBRing_t_t swig_types[99]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBRing_std__allocatorTOpenBabel__OBRing_t_t__allocator_type swig_types[100]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBRing_std__allocatorTOpenBabel__OBRing_t_t__value_type swig_types[101]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__OBTorsion_std__allocatorTOpenBabel__OBTorsion_t_t swig_types[102]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__tripleTOpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_std__allocatorTOpenBabel__tripleTOpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_t_t swig_types[103]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__vector3_std__allocatorTOpenBabel__vector3_t_t swig_types[104]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__vector3_std__allocatorTOpenBabel__vector3_t_t__allocator_type swig_types[105]
|
||||
#define SWIGTYPE_p_std__vectorTOpenBabel__vector3_std__allocatorTOpenBabel__vector3_t_t__value_type swig_types[106]
|
||||
#define SWIGTYPE_p_std__vectorTdouble_p_std__allocatorTdouble_p_t_t swig_types[107]
|
||||
#define SWIGTYPE_p_std__vectorTdouble_p_std__allocatorTdouble_p_t_t__iterator swig_types[108]
|
||||
#define SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t swig_types[109]
|
||||
#define SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type swig_types[110]
|
||||
#define SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t swig_types[111]
|
||||
#define SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t__allocator_type swig_types[112]
|
||||
#define SWIGTYPE_p_std__vectorTstd__pairTint_int_t_std__allocatorTstd__pairTint_int_t_t_t swig_types[113]
|
||||
#define SWIGTYPE_p_std__vectorTstd__pairTstd__string_std__string_t_std__allocatorTstd__pairTstd__string_std__string_t_t_t swig_types[114]
|
||||
#define SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t swig_types[115]
|
||||
#define SWIGTYPE_p_std__vectorTstd__vectorTOpenBabel__vector3_std__allocatorTOpenBabel__vector3_t_t_std__allocatorTstd__vectorTOpenBabel__vector3_std__allocatorTOpenBabel__vector3_t_t_t_t swig_types[116]
|
||||
#define SWIGTYPE_p_std__vectorTstd__vectorTint_std__allocatorTint_t_t_std__allocatorTstd__vectorTint_std__allocatorTint_t_t_t_t swig_types[117]
|
||||
#define SWIGTYPE_p_std__vectorTstd__vectorTint_std__allocatorTint_t_t_std__allocatorTstd__vectorTint_std__allocatorTint_t_t_t_t__allocator_type swig_types[118]
|
||||
#define SWIGTYPE_p_std__vectorTstd__vectorTunsigned_int_std__allocatorTunsigned_int_t_t_std__allocatorTstd__vectorTunsigned_int_std__allocatorTunsigned_int_t_t_t_t swig_types[119]
|
||||
#define SWIGTYPE_p_std__vectorTunsigned_int_std__allocatorTunsigned_int_t_t swig_types[120]
|
||||
#define SWIGTYPE_p_std__vectorTunsigned_short_std__allocatorTunsigned_short_t_t swig_types[121]
|
||||
#define SWIGTYPE_p_swig__PySwigIterator swig_types[122]
|
||||
#define SWIGTYPE_p_unsigned_int swig_types[123]
|
||||
#define SWIGTYPE_p_value_type swig_types[124]
|
||||
static swig_type_info *swig_types[126];
|
||||
static swig_module_info swig_module = {swig_types, 125, 0, 0, 0, 0};
|
||||
#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
|
||||
#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
|
||||
|
||||
@@ -2682,6 +2683,12 @@ namespace swig {
|
||||
}
|
||||
|
||||
|
||||
// used to set import/export for Cygwin DLLs
|
||||
#ifdef WIN32
|
||||
#define USING_OBDLL
|
||||
#endif
|
||||
|
||||
|
||||
#include "obutil.h"
|
||||
#include "math/vector3.h"
|
||||
#include "math/matrix3x3.h"
|
||||
@@ -21366,6 +21373,47 @@ SWIGINTERN PyObject *OBResidueData_swiginit(PyObject *SWIGUNUSEDPARM(self), PyOb
|
||||
return SWIG_Python_InitShadowInstance(args);
|
||||
}
|
||||
|
||||
SWIGINTERN PyObject *_wrap_OpenDatafile(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
||||
PyObject *resultobj = 0;
|
||||
std::ifstream *arg1 = 0 ;
|
||||
std::string *arg2 = 0 ;
|
||||
std::string result;
|
||||
void *argp1 = 0 ;
|
||||
int res1 = 0 ;
|
||||
int res2 = SWIG_OLDOBJ ;
|
||||
PyObject * obj0 = 0 ;
|
||||
PyObject * obj1 = 0 ;
|
||||
|
||||
if(!PyArg_UnpackTuple(args,(char *)"OpenDatafile",2,2,&obj0,&obj1)) SWIG_fail;
|
||||
res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_std__ifstream, 0 );
|
||||
if (!SWIG_IsOK(res1)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OpenDatafile" "', argument " "1"" of type '" "std::ifstream &""'");
|
||||
}
|
||||
if (!argp1) {
|
||||
SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OpenDatafile" "', argument " "1"" of type '" "std::ifstream &""'");
|
||||
}
|
||||
arg1 = reinterpret_cast< std::ifstream * >(argp1);
|
||||
{
|
||||
std::string *ptr = (std::string *)0;
|
||||
res2 = SWIG_AsPtr_std_string(obj1, &ptr);
|
||||
if (!SWIG_IsOK(res2)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OpenDatafile" "', argument " "2"" of type '" "std::string const &""'");
|
||||
}
|
||||
if (!ptr) {
|
||||
SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OpenDatafile" "', argument " "2"" of type '" "std::string const &""'");
|
||||
}
|
||||
arg2 = ptr;
|
||||
}
|
||||
result = OpenBabel::OpenDatafile(*arg1,(std::string const &)*arg2);
|
||||
resultobj = SWIG_From_std_string(static_cast< std::string >(result));
|
||||
if (SWIG_IsNewObj(res2)) delete arg2;
|
||||
return resultobj;
|
||||
fail:
|
||||
if (SWIG_IsNewObj(res2)) delete arg2;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
SWIGINTERN PyObject *_wrap_OBStopwatch_Start(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
||||
PyObject *resultobj = 0;
|
||||
OpenBabel::OBStopwatch *arg1 = (OpenBabel::OBStopwatch *) 0 ;
|
||||
@@ -33546,7 +33594,7 @@ SWIGINTERN PyObject *_wrap_OBConversion_AddChemObject(PyObject *SWIGUNUSEDPARM(s
|
||||
PyObject *resultobj = 0;
|
||||
OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ;
|
||||
OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
|
||||
int result;
|
||||
bool result;
|
||||
void *argp1 = 0 ;
|
||||
int res1 = 0 ;
|
||||
void *argp2 = 0 ;
|
||||
@@ -33565,8 +33613,8 @@ SWIGINTERN PyObject *_wrap_OBConversion_AddChemObject(PyObject *SWIGUNUSEDPARM(s
|
||||
SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_AddChemObject" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");
|
||||
}
|
||||
arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2);
|
||||
result = (int)(arg1)->AddChemObject(arg2);
|
||||
resultobj = SWIG_From_int(static_cast< int >(result));
|
||||
result = (bool)(arg1)->AddChemObject(arg2);
|
||||
resultobj = SWIG_From_bool(static_cast< bool >(result));
|
||||
return resultobj;
|
||||
fail:
|
||||
return NULL;
|
||||
@@ -49949,6 +49997,7 @@ static PyMethodDef SwigMethods[] = {
|
||||
{ (char *)"delete_OBResidueData", _wrap_delete_OBResidueData, METH_VARARGS, NULL},
|
||||
{ (char *)"OBResidueData_swigregister", OBResidueData_swigregister, METH_VARARGS, NULL},
|
||||
{ (char *)"OBResidueData_swiginit", OBResidueData_swiginit, METH_VARARGS, NULL},
|
||||
{ (char *)"OpenDatafile", _wrap_OpenDatafile, METH_VARARGS, NULL},
|
||||
{ (char *)"OBStopwatch_Start", _wrap_OBStopwatch_Start, METH_VARARGS, NULL},
|
||||
{ (char *)"OBStopwatch_Lap", _wrap_OBStopwatch_Lap, METH_VARARGS, NULL},
|
||||
{ (char *)"OBStopwatch_Elapsed", _wrap_OBStopwatch_Elapsed, METH_VARARGS, NULL},
|
||||
@@ -50914,6 +50963,7 @@ static swig_type_info _swigt__p_p_double = {"_p_p_double", "double **", 0, 0, (v
|
||||
static swig_type_info _swigt__p_p_int = {"_p_p_int", "int **", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_size_type = {"_p_size_type", "size_type *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_std__dequeTint_t = {"_p_std__dequeTint_t", "std::deque<int > *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_std__ifstream = {"_p_std__ifstream", "std::ifstream *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_std__invalid_argument = {"_p_std__invalid_argument", "std::invalid_argument *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_std__istream = {"_p_std__istream", "std::istream *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_std__mapTchar_const_p_OpenBabel__OBFormat_p_OpenBabel__CharPtrLess_std__allocatorTstd__pairTchar_const_pconst_OpenBabel__OBFormat_p_t_t_t = {"_p_std__mapTchar_const_p_OpenBabel__OBFormat_p_OpenBabel__CharPtrLess_std__allocatorTstd__pairTchar_const_pconst_OpenBabel__OBFormat_p_t_t_t", "std::map<char const *,OpenBabel::OBFormat *,OpenBabel::CharPtrLess,std::allocator<std::pair<char const *const,OpenBabel::OBFormat * > > > *|OpenBabel::FMapType *", 0, 0, (void*)0, 0};
|
||||
@@ -51040,6 +51090,7 @@ static swig_type_info *swig_type_initial[] = {
|
||||
&_swigt__p_p_int,
|
||||
&_swigt__p_size_type,
|
||||
&_swigt__p_std__dequeTint_t,
|
||||
&_swigt__p_std__ifstream,
|
||||
&_swigt__p_std__invalid_argument,
|
||||
&_swigt__p_std__istream,
|
||||
&_swigt__p_std__mapTchar_const_p_OpenBabel__OBFormat_p_OpenBabel__CharPtrLess_std__allocatorTstd__pairTchar_const_pconst_OpenBabel__OBFormat_p_t_t_t,
|
||||
@@ -51166,6 +51217,7 @@ static swig_cast_info _swigc__p_p_double[] = { {&_swigt__p_p_double, 0, 0, 0},{
|
||||
static swig_cast_info _swigc__p_p_int[] = { {&_swigt__p_p_int, 0, 0, 0},{0, 0, 0, 0}};
|
||||
static swig_cast_info _swigc__p_size_type[] = { {&_swigt__p_size_type, 0, 0, 0},{0, 0, 0, 0}};
|
||||
static swig_cast_info _swigc__p_std__dequeTint_t[] = { {&_swigt__p_std__dequeTint_t, 0, 0, 0},{0, 0, 0, 0}};
|
||||
static swig_cast_info _swigc__p_std__ifstream[] = { {&_swigt__p_std__ifstream, 0, 0, 0},{0, 0, 0, 0}};
|
||||
static swig_cast_info _swigc__p_std__invalid_argument[] = { {&_swigt__p_std__invalid_argument, 0, 0, 0},{0, 0, 0, 0}};
|
||||
static swig_cast_info _swigc__p_std__istream[] = { {&_swigt__p_std__istream, 0, 0, 0},{0, 0, 0, 0}};
|
||||
static swig_cast_info _swigc__p_std__mapTchar_const_p_OpenBabel__OBFormat_p_OpenBabel__CharPtrLess_std__allocatorTstd__pairTchar_const_pconst_OpenBabel__OBFormat_p_t_t_t[] = { {&_swigt__p_std__mapTchar_const_p_OpenBabel__OBFormat_p_OpenBabel__CharPtrLess_std__allocatorTstd__pairTchar_const_pconst_OpenBabel__OBFormat_p_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
|
||||
@@ -51292,6 +51344,7 @@ static swig_cast_info *swig_cast_initial[] = {
|
||||
_swigc__p_p_int,
|
||||
_swigc__p_size_type,
|
||||
_swigc__p_std__dequeTint_t,
|
||||
_swigc__p_std__ifstream,
|
||||
_swigc__p_std__invalid_argument,
|
||||
_swigc__p_std__istream,
|
||||
_swigc__p_std__mapTchar_const_p_OpenBabel__OBFormat_p_OpenBabel__CharPtrLess_std__allocatorTstd__pairTchar_const_pconst_OpenBabel__OBFormat_p_t_t_t,
|
||||
|
||||
@@ -2,6 +2,15 @@
|
||||
from distutils.core import *
|
||||
import os,sys
|
||||
|
||||
about = """The Open Babel package provides a Python wrapper
|
||||
to the Open Babel C++ chemistry library. Open Babel is a project
|
||||
designed to pick up where Babel left off, as a cross-platform program
|
||||
and library designed to interconvert between many file formats used in
|
||||
molecular modeling, computational chemistry, and many related
|
||||
areas. It provides a broad base of chemical functionality for custom
|
||||
development.
|
||||
"""
|
||||
|
||||
def find_likely_directory():
|
||||
"""Find (guess!) where Open Babel is installed.
|
||||
|
||||
@@ -15,7 +24,7 @@ def find_likely_directory():
|
||||
sys.stderr.write("ERROR: $OPENBABEL_INSTALL (%s) is not a directory\n" % name)
|
||||
else:
|
||||
return ([name+"/include/openbabel-2.0",name+"/include/openbabel-2.0/openbabel"],
|
||||
[name+"/lib/openbabel"])
|
||||
[name+"/lib"])
|
||||
|
||||
else: # OPENBABEL_INSTALL is not set
|
||||
sys.stderr.write("WARNING: Environment variable OPENBABEL_INSTALL is not set\n")
|
||||
@@ -30,7 +39,7 @@ def find_likely_directory():
|
||||
if os.path.isdir(dirname+"/include/openbabel-2.0"):
|
||||
sys.stderr.write("INFO: Setting OPENBABEL_INSTALL to %s\n" % dirname)
|
||||
return ([dirname+"/include/openbabel-2.0",dirname+"/include/openbabel-2.0/openbabel"],
|
||||
[dirname+"/lib/openbabel"])
|
||||
[dirname+"/lib"])
|
||||
|
||||
sys.stderr.write("ERROR: Cannot find Open Babel library directory\n")
|
||||
return (None,None)
|
||||
@@ -48,10 +57,34 @@ obExtension = Extension('_openbabel',
|
||||
)
|
||||
|
||||
setup(name='openbabel',
|
||||
version='1.1.0',
|
||||
description='Python interface to Open Babel',
|
||||
version='1.2.0',
|
||||
author='Geoff Hutchison',
|
||||
author_email='openbabel-scripting@lists.sourceforge.net',
|
||||
url='http://openbabel.sourceforge.net/',
|
||||
license='http://www.gnu.org/copyleft/gpl.html',
|
||||
py_modules=['openbabel','pyopenbabel'],
|
||||
ext_modules=[obExtension])
|
||||
ext_modules=[obExtension],
|
||||
description = 'openbabel: Python interface to the Open Babel chemistry library',
|
||||
classifiers=[
|
||||
'Development Status :: 5 - Production/Stable',
|
||||
'Environment :: Console',
|
||||
'Environment :: Other Environment',
|
||||
'Intended Audience :: Education',
|
||||
'Intended Audience :: Science/Research',
|
||||
'License :: OSI Approved :: GNU General Public License (GPL)',
|
||||
'Natural Language :: English',
|
||||
'Operating System :: MacOS :: MacOS X',
|
||||
'Operating System :: Microsoft :: Windows',
|
||||
'Operating System :: OS Independent',
|
||||
'Operating System :: POSIX',
|
||||
'Operating System :: POSIX :: Linux',
|
||||
'Operating System :: Unix',
|
||||
'Programming Language :: C++',
|
||||
'Programming Language :: Python',
|
||||
'Topic :: Scientific/Engineering :: Bio-Informatics',
|
||||
'Topic :: Scientific/Engineering :: Chemistry',
|
||||
'Topic :: Software Development :: Libraries',
|
||||
],
|
||||
long_description = about,
|
||||
)
|
||||
|
||||
|
||||
@@ -74,6 +74,7 @@ AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
@@ -104,6 +105,7 @@ CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DOXYGEN = @DOXYGEN@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
@@ -128,6 +130,7 @@ MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
@@ -154,9 +157,12 @@ XML2_CONFIG = @XML2_CONFIG@
|
||||
XML_CPPFLAGS = @XML_CPPFLAGS@
|
||||
XML_LIBS = @XML_LIBS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_AS = @ac_ct_AS@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
@@ -215,9 +221,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/GUI/Makefile'; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/GUI/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu src/GUI/Makefile
|
||||
$(AUTOMAKE) --foreign src/GUI/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
|
||||
@@ -478,9 +478,9 @@ with the output format.\nDo you wish to continue the conversion?",
|
||||
m_pInFilename->Expand(FileList);
|
||||
|
||||
//redirect cerr & clog & cout
|
||||
wxStreamToTextRedirector cerrCapture(m_pMessages, &std::cerr);
|
||||
wxStreamToTextRedirector clogCapture(m_pMessages, &std::clog);
|
||||
wxStreamToTextRedirector coutCapture(m_pOutText);
|
||||
// wxStreamToTextRedirector cerrCapture(m_pMessages, &std::cerr);
|
||||
// wxStreamToTextRedirector clogCapture(m_pMessages, &std::clog);
|
||||
// wxStreamToTextRedirector coutCapture(m_pOutText);
|
||||
|
||||
m_pOutText->Freeze();//Otherwise seems to be redrawn after each char from cout
|
||||
|
||||
@@ -551,7 +551,7 @@ void OBGUIFrame::OnGetInputFile(wxCommandEvent& WXUNUSED(event))
|
||||
DisplayInputFiles(filepatharray);
|
||||
}
|
||||
}
|
||||
void OBGUIFrame::DisplayInputFiles(wxArrayString& filepatharray)
|
||||
void OBGUIFrame::DisplayInputFiles(wxArrayString filepatharray)
|
||||
{
|
||||
int i, endsel=0, startsel=0;
|
||||
if(!wxGetKeyState(WXK_CONTROL))
|
||||
@@ -832,7 +832,7 @@ void OBGUIFrame::GetAvailableFormats()
|
||||
OutputFilterString+="|AllFiles(*.*)|*.*||";
|
||||
}
|
||||
|
||||
void OBGUIFrame::DisplayInFile(wxString& filename)
|
||||
void OBGUIFrame::DisplayInFile(wxString filename)
|
||||
{
|
||||
m_pInText->Clear();
|
||||
wxFileName fn(filename);
|
||||
|
||||
@@ -89,10 +89,10 @@ public:
|
||||
void OnSelectFormats(wxCommandEvent& event);
|
||||
void OnRestrictFormats(wxCommandEvent& event);
|
||||
|
||||
void DisplayInFile(wxString& filename);
|
||||
void DisplayInFile(wxString filename);
|
||||
wxString GetInFileBasePath(){ return m_InFileBasePath;}
|
||||
void DisplayMessage(wxString& message){m_pMessages->SetValue(message);}
|
||||
void DisplayInputFiles(wxArrayString& filepatharray);
|
||||
void DisplayInputFiles(wxArrayString filepatharray);
|
||||
void SetInitialFocus();
|
||||
|
||||
private:
|
||||
|
||||
@@ -131,6 +131,8 @@ AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_DOCS_FALSE = @BUILD_DOCS_FALSE@
|
||||
BUILD_DOCS_TRUE = @BUILD_DOCS_TRUE@
|
||||
BUILD_INCHI_FALSE = @BUILD_INCHI_FALSE@
|
||||
BUILD_INCHI_TRUE = @BUILD_INCHI_TRUE@
|
||||
BUILD_SCRIPTS_FALSE = @BUILD_SCRIPTS_FALSE@
|
||||
BUILD_SCRIPTS_TRUE = @BUILD_SCRIPTS_TRUE@
|
||||
BUILD_SHARED_FALSE = @BUILD_SHARED_FALSE@
|
||||
@@ -309,9 +311,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu src/Makefile
|
||||
$(AUTOMAKE) --foreign src/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
|
||||
21
src/atom.cpp
21
src/atom.cpp
@@ -2,7 +2,7 @@
|
||||
atom.cpp - Handle OBAtom class.
|
||||
|
||||
Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
|
||||
Some portions Copyright (C) 2001-2005 by Geoffrey R. Hutchison
|
||||
Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
|
||||
Some portions Copyright (C) 2003 by Michael Banck
|
||||
|
||||
This file is part of the Open Babel project.
|
||||
@@ -113,7 +113,11 @@ namespace OpenBabel
|
||||
OBAtom::~OBAtom()
|
||||
{
|
||||
if (_residue != NULL)
|
||||
{
|
||||
cerr << " atom has residue " << _residue->GetName() << endl;
|
||||
cerr << " and has " << _residue->GetNumAtoms() << endl;
|
||||
_residue->RemoveAtom(this);
|
||||
}
|
||||
/*
|
||||
if (!_vdata.empty())
|
||||
{
|
||||
@@ -391,6 +395,8 @@ namespace OpenBabel
|
||||
|
||||
OBResidue *OBAtom::GetResidue()
|
||||
{
|
||||
cerr << " called GetResidue " << endl;
|
||||
|
||||
if (_residue != NULL)
|
||||
return _residue;
|
||||
else if (!((OBMol*)GetParent())->HasChainsPerceived())
|
||||
@@ -399,8 +405,15 @@ namespace OpenBabel
|
||||
if ( chainsparser.PerceiveChains(*((OBMol*)GetParent())) )
|
||||
return _residue;
|
||||
else
|
||||
{
|
||||
if (_residue)
|
||||
{
|
||||
delete _residue;
|
||||
_residue = NULL;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
@@ -922,8 +935,10 @@ namespace OpenBabel
|
||||
if (mol && !mol->HasImplicitValencePerceived())
|
||||
atomtyper.AssignImplicitValence(*((OBMol*)((OBAtom*)this)->GetParent()));
|
||||
|
||||
int impval = _impval - GetHvyValence();
|
||||
//Jan 05 Implicit valency now left alone; use spin multiplicity for implicit Hs
|
||||
// _impval is assigned by the atomtyper -- same as calling GetImplicitValence()
|
||||
int impval = _impval - GetValence();
|
||||
|
||||
// we need to modify this implicit valence if we're a radical center
|
||||
int mult = GetSpinMultiplicity();
|
||||
if(mult==2) //radical
|
||||
impval-=1;
|
||||
|
||||
@@ -83,6 +83,9 @@ int DLHandler::findFiles (std::vector <std::string>& file_list,const std::string
|
||||
if (paths.size() == 0)
|
||||
paths.push_back("./"); // defaults to current directory
|
||||
|
||||
/* Old method using scandir. Replaced with readdir (below) as for example
|
||||
* Solaris pre 10 doesn't implement scandir.
|
||||
|
||||
struct dirent **entries_pp;
|
||||
int count;
|
||||
|
||||
@@ -100,7 +103,47 @@ int DLHandler::findFiles (std::vector <std::string>& file_list,const std::string
|
||||
|
||||
if (entries_pp)
|
||||
free(entries_pp);
|
||||
return count;
|
||||
*
|
||||
*/
|
||||
|
||||
DIR *dp;
|
||||
struct dirent *entry;
|
||||
|
||||
for (unsigned int i = 0; i < paths.size(); i++)
|
||||
{
|
||||
currentPath=paths[i];
|
||||
|
||||
if ((dp = opendir(currentPath.c_str())) == NULL)
|
||||
continue; // no big deal, this path causes an error
|
||||
else
|
||||
{
|
||||
while((entry = readdir(dp)) != NULL)
|
||||
{
|
||||
if (matchFiles(entry) != 0)
|
||||
file_list.push_back(currentPath + getSeparator() + (entry)->d_name);
|
||||
}
|
||||
closedir(dp); // calls free(dp) -- no memory leak
|
||||
}
|
||||
}
|
||||
|
||||
if (file_list.size() == 0)
|
||||
return(-1); // error, didn't find any files at all
|
||||
return file_list.size();
|
||||
}
|
||||
|
||||
int DLHandler::findFiles (std::vector<std::string>& file_list,const std::string &filename)
|
||||
{
|
||||
if(filename.find_first_of("*?")==string::npos)
|
||||
{
|
||||
//no wildcard in filename
|
||||
file_list.push_back(filename);
|
||||
return -1;
|
||||
}
|
||||
int pos = filename.find_last_of("\\/");
|
||||
if(pos!=string::npos)
|
||||
return findFiles(file_list,filename.substr(pos+1), filename.substr(0,pos+1));
|
||||
else
|
||||
return findFiles(file_list,filename, "");
|
||||
}
|
||||
|
||||
bool DLHandler::openLib(const string& lib_name)
|
||||
|
||||
@@ -71,12 +71,15 @@ AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_DOCS_FALSE = @BUILD_DOCS_FALSE@
|
||||
BUILD_DOCS_TRUE = @BUILD_DOCS_TRUE@
|
||||
BUILD_INCHI_FALSE = @BUILD_INCHI_FALSE@
|
||||
BUILD_INCHI_TRUE = @BUILD_INCHI_TRUE@
|
||||
BUILD_SCRIPTS_FALSE = @BUILD_SCRIPTS_FALSE@
|
||||
BUILD_SCRIPTS_TRUE = @BUILD_SCRIPTS_TRUE@
|
||||
BUILD_SHARED_FALSE = @BUILD_SHARED_FALSE@
|
||||
@@ -101,6 +104,7 @@ CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DOXYGEN = @DOXYGEN@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
@@ -125,6 +129,7 @@ MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
@@ -151,9 +156,12 @@ XML2_CONFIG = @XML2_CONFIG@
|
||||
XML_CPPFLAGS = @XML_CPPFLAGS@
|
||||
XML_LIBS = @XML_LIBS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_AS = @ac_ct_AS@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
@@ -209,9 +217,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/fingerprints/Makefile'; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/fingerprints/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu src/fingerprints/Makefile
|
||||
$(AUTOMAKE) --foreign src/fingerprints/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
|
||||
@@ -1,23 +1,29 @@
|
||||
SUBDIRS = inchi
|
||||
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/data
|
||||
# Make sure to install the inchi_api.h header
|
||||
libopenbabelincludedir = $(includedir)/openbabel-2.0/openbabel
|
||||
libopenbabelinclude_HEADERS = inchi_api.h obmolecformat.h
|
||||
|
||||
EXTRA_DIST = exampleformat.cpp
|
||||
SUBDIRS =
|
||||
|
||||
if BUILD_XML
|
||||
SUBDIRS += xml
|
||||
endif
|
||||
|
||||
if BUILD_INCHI
|
||||
SUBDIRS += inchi
|
||||
endif
|
||||
|
||||
# Unfortunately there are a few formats which still cannot compile shared
|
||||
# modules (e.g., Cygwin). So we need to keep a duplicate target for "libformats"
|
||||
|
||||
if !BUILD_SHARED
|
||||
noinst_LTLIBRARIES = libformats.la
|
||||
if BUILD_INCHI
|
||||
libformats_la_LIBADD = inchi/libinchi.la
|
||||
else
|
||||
libformats_la_LIBADD = -linchi
|
||||
endif
|
||||
libformats_la_SOURCES = \
|
||||
APIInterface.cpp \
|
||||
CSRformat.cpp PQSformat.cpp alchemyformat.cpp \
|
||||
@@ -151,7 +157,12 @@ hinformat_la_SOURCES = hinformat.cpp obmolecformat.cpp
|
||||
hinformat_la_LDFLAGS = -module -avoid-version
|
||||
|
||||
inchiformat_la_SOURCES = inchiformat.cpp obmolecformat.cpp
|
||||
if BUILD_INCHI
|
||||
inchiformat_la_LDFLAGS = -module -avoid-version inchi/libinchi.la
|
||||
else
|
||||
inchiformat_la_LDFLAGS = -module -avoid-version
|
||||
inchiformat_la_LIBADD = -linchi
|
||||
endif
|
||||
|
||||
jaguarformat_la_SOURCES = jaguarformat.cpp obmolecformat.cpp
|
||||
jaguarformat_la_LDFLAGS = -module -avoid-version
|
||||
|
||||
@@ -37,6 +37,8 @@ PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
@BUILD_XML_TRUE@am__append_1 = xml
|
||||
@BUILD_INCHI_TRUE@am__append_2 = inchi
|
||||
subdir = src/formats
|
||||
DIST_COMMON = $(libopenbabelinclude_HEADERS) $(srcdir)/Makefile.am \
|
||||
$(srcdir)/Makefile.in
|
||||
@@ -235,7 +237,7 @@ am__hinformat_la_SOURCES_DIST = hinformat.cpp obmolecformat.cpp
|
||||
@BUILD_SHARED_TRUE@ obmolecformat.lo
|
||||
hinformat_la_OBJECTS = $(am_hinformat_la_OBJECTS)
|
||||
@BUILD_SHARED_TRUE@am_hinformat_la_rpath = -rpath $(pkglibdir)
|
||||
inchiformat_la_LIBADD =
|
||||
inchiformat_la_DEPENDENCIES =
|
||||
am__inchiformat_la_SOURCES_DIST = inchiformat.cpp obmolecformat.cpp
|
||||
@BUILD_SHARED_TRUE@am_inchiformat_la_OBJECTS = inchiformat.lo \
|
||||
@BUILD_SHARED_TRUE@ obmolecformat.lo
|
||||
@@ -247,7 +249,8 @@ am__jaguarformat_la_SOURCES_DIST = jaguarformat.cpp obmolecformat.cpp
|
||||
@BUILD_SHARED_TRUE@ obmolecformat.lo
|
||||
jaguarformat_la_OBJECTS = $(am_jaguarformat_la_OBJECTS)
|
||||
@BUILD_SHARED_TRUE@am_jaguarformat_la_rpath = -rpath $(pkglibdir)
|
||||
@BUILD_SHARED_FALSE@libformats_la_DEPENDENCIES = inchi/libinchi.la
|
||||
@BUILD_INCHI_TRUE@@BUILD_SHARED_FALSE@libformats_la_DEPENDENCIES = \
|
||||
@BUILD_INCHI_TRUE@@BUILD_SHARED_FALSE@ inchi/libinchi.la
|
||||
am__libformats_la_SOURCES_DIST = APIInterface.cpp CSRformat.cpp \
|
||||
PQSformat.cpp alchemyformat.cpp amberformat.cpp \
|
||||
balstformat.cpp bgfformat.cpp boxformat.cpp cacaoformat.cpp \
|
||||
@@ -381,6 +384,12 @@ am__smilesformat_la_SOURCES_DIST = smilesformat.cpp obmolecformat.cpp
|
||||
@BUILD_SHARED_TRUE@ obmolecformat.lo
|
||||
smilesformat_la_OBJECTS = $(am_smilesformat_la_OBJECTS)
|
||||
@BUILD_SHARED_TRUE@am_smilesformat_la_rpath = -rpath $(pkglibdir)
|
||||
thermoformat_la_LIBADD =
|
||||
am__thermoformat_la_SOURCES_DIST = thermoformat.cpp obmolecformat.cpp
|
||||
@BUILD_SHARED_TRUE@am_thermoformat_la_OBJECTS = thermoformat.lo \
|
||||
@BUILD_SHARED_TRUE@ obmolecformat.lo
|
||||
thermoformat_la_OBJECTS = $(am_thermoformat_la_OBJECTS)
|
||||
@BUILD_SHARED_TRUE@am_thermoformat_la_rpath = -rpath $(pkglibdir)
|
||||
tinkerformat_la_LIBADD =
|
||||
am__tinkerformat_la_SOURCES_DIST = tinkerformat.cpp
|
||||
@BUILD_SHARED_TRUE@am_tinkerformat_la_OBJECTS = tinkerformat.lo
|
||||
@@ -470,11 +479,11 @@ SOURCES = $(APIInterface_la_SOURCES) $(CSRformat_la_SOURCES) \
|
||||
$(povrayformat_la_SOURCES) $(qchemformat_la_SOURCES) \
|
||||
$(reportformat_la_SOURCES) $(rxnformat_la_SOURCES) \
|
||||
$(shelxformat_la_SOURCES) $(smilesformat_la_SOURCES) \
|
||||
$(tinkerformat_la_SOURCES) $(titleformat_la_SOURCES) \
|
||||
$(turbomoleformat_la_SOURCES) $(unichemformat_la_SOURCES) \
|
||||
$(viewmolformat_la_SOURCES) $(xedformat_la_SOURCES) \
|
||||
$(xyzformat_la_SOURCES) $(yasaraformat_la_SOURCES) \
|
||||
$(zindoformat_la_SOURCES)
|
||||
$(thermoformat_la_SOURCES) $(tinkerformat_la_SOURCES) \
|
||||
$(titleformat_la_SOURCES) $(turbomoleformat_la_SOURCES) \
|
||||
$(unichemformat_la_SOURCES) $(viewmolformat_la_SOURCES) \
|
||||
$(xedformat_la_SOURCES) $(xyzformat_la_SOURCES) \
|
||||
$(yasaraformat_la_SOURCES) $(zindoformat_la_SOURCES)
|
||||
DIST_SOURCES = $(am__APIInterface_la_SOURCES_DIST) \
|
||||
$(am__CSRformat_la_SOURCES_DIST) \
|
||||
$(am__PQSformat_la_SOURCES_DIST) \
|
||||
@@ -523,6 +532,7 @@ DIST_SOURCES = $(am__APIInterface_la_SOURCES_DIST) \
|
||||
$(am__rxnformat_la_SOURCES_DIST) \
|
||||
$(am__shelxformat_la_SOURCES_DIST) \
|
||||
$(am__smilesformat_la_SOURCES_DIST) \
|
||||
$(am__thermoformat_la_SOURCES_DIST) \
|
||||
$(am__tinkerformat_la_SOURCES_DIST) \
|
||||
$(am__titleformat_la_SOURCES_DIST) \
|
||||
$(am__turbomoleformat_la_SOURCES_DIST) \
|
||||
@@ -542,19 +552,22 @@ libopenbabelincludeHEADERS_INSTALL = $(INSTALL_HEADER)
|
||||
HEADERS = $(libopenbabelinclude_HEADERS)
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
DIST_SUBDIRS = xml inchi
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_DOCS_FALSE = @BUILD_DOCS_FALSE@
|
||||
BUILD_DOCS_TRUE = @BUILD_DOCS_TRUE@
|
||||
BUILD_INCHI_FALSE = @BUILD_INCHI_FALSE@
|
||||
BUILD_INCHI_TRUE = @BUILD_INCHI_TRUE@
|
||||
BUILD_SCRIPTS_FALSE = @BUILD_SCRIPTS_FALSE@
|
||||
BUILD_SCRIPTS_TRUE = @BUILD_SCRIPTS_TRUE@
|
||||
BUILD_SHARED_FALSE = @BUILD_SHARED_FALSE@
|
||||
@@ -579,6 +592,7 @@ CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DOXYGEN = @DOXYGEN@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
@@ -603,6 +617,7 @@ MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
@@ -629,9 +644,12 @@ XML2_CONFIG = @XML2_CONFIG@
|
||||
XML_CPPFLAGS = @XML_CPPFLAGS@
|
||||
XML_LIBS = @XML_LIBS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_AS = @ac_ct_AS@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
@@ -671,19 +689,18 @@ sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
SUBDIRS = inchi
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/data
|
||||
# Make sure to install the inchi_api.h header
|
||||
libopenbabelincludedir = $(includedir)/openbabel-2.0/openbabel
|
||||
libopenbabelinclude_HEADERS = inchi_api.h obmolecformat.h
|
||||
EXTRA_DIST = exampleformat.cpp
|
||||
|
||||
# SUBDIRS += xml
|
||||
SUBDIRS = $(am__append_1) $(am__append_2)
|
||||
|
||||
# Unfortunately there are a few formats which still cannot compile shared
|
||||
# modules (e.g., Cygwin). So we need to keep a duplicate target for "libformats"
|
||||
@BUILD_SHARED_FALSE@noinst_LTLIBRARIES = libformats.la
|
||||
@BUILD_SHARED_FALSE@libformats_la_LIBADD = inchi/libinchi.la
|
||||
@BUILD_INCHI_FALSE@@BUILD_SHARED_FALSE@libformats_la_LIBADD = -linchi
|
||||
@BUILD_INCHI_TRUE@@BUILD_SHARED_FALSE@libformats_la_LIBADD = inchi/libinchi.la
|
||||
@BUILD_SHARED_FALSE@libformats_la_SOURCES = \
|
||||
@BUILD_SHARED_FALSE@ APIInterface.cpp \
|
||||
@BUILD_SHARED_FALSE@ CSRformat.cpp PQSformat.cpp alchemyformat.cpp \
|
||||
@@ -719,7 +736,7 @@ EXTRA_DIST = exampleformat.cpp
|
||||
@BUILD_SHARED_TRUE@ mol2format.la mopacformat.la mpqcformat.la nwchemformat.la \
|
||||
@BUILD_SHARED_TRUE@ pcmodelformat.la \
|
||||
@BUILD_SHARED_TRUE@ pdbformat.la povrayformat.la qchemformat.la reportformat.la \
|
||||
@BUILD_SHARED_TRUE@ rxnformat.la shelxformat.la smilesformat.la \
|
||||
@BUILD_SHARED_TRUE@ rxnformat.la shelxformat.la smilesformat.la thermoformat.la \
|
||||
@BUILD_SHARED_TRUE@ tinkerformat.la titleformat.la \
|
||||
@BUILD_SHARED_TRUE@ turbomoleformat.la unichemformat.la viewmolformat.la \
|
||||
@BUILD_SHARED_TRUE@ xedformat.la xyzformat.la yasaraformat.la zindoformat.la
|
||||
@@ -785,7 +802,9 @@ EXTRA_DIST = exampleformat.cpp
|
||||
@BUILD_SHARED_TRUE@hinformat_la_SOURCES = hinformat.cpp obmolecformat.cpp
|
||||
@BUILD_SHARED_TRUE@hinformat_la_LDFLAGS = -module -avoid-version
|
||||
@BUILD_SHARED_TRUE@inchiformat_la_SOURCES = inchiformat.cpp obmolecformat.cpp
|
||||
@BUILD_SHARED_TRUE@inchiformat_la_LDFLAGS = -module -avoid-version inchi/libinchi.la
|
||||
@BUILD_INCHI_FALSE@@BUILD_SHARED_TRUE@inchiformat_la_LDFLAGS = -module -avoid-version
|
||||
@BUILD_INCHI_TRUE@@BUILD_SHARED_TRUE@inchiformat_la_LDFLAGS = -module -avoid-version inchi/libinchi.la
|
||||
@BUILD_INCHI_FALSE@@BUILD_SHARED_TRUE@inchiformat_la_LIBADD = -linchi
|
||||
@BUILD_SHARED_TRUE@jaguarformat_la_SOURCES = jaguarformat.cpp obmolecformat.cpp
|
||||
@BUILD_SHARED_TRUE@jaguarformat_la_LDFLAGS = -module -avoid-version
|
||||
@BUILD_SHARED_TRUE@mdlformat_la_SOURCES = mdlformat.cpp obmolecformat.cpp
|
||||
@@ -818,9 +837,8 @@ EXTRA_DIST = exampleformat.cpp
|
||||
@BUILD_SHARED_TRUE@shelxformat_la_LDFLAGS = -module -avoid-version
|
||||
@BUILD_SHARED_TRUE@smilesformat_la_SOURCES = smilesformat.cpp obmolecformat.cpp
|
||||
@BUILD_SHARED_TRUE@smilesformat_la_LDFLAGS = -module -avoid-version
|
||||
|
||||
# thermoformat_la_SOURCES = thermoformat.cpp obmolecformat.cpp
|
||||
# thermoformat_la_LDFLAGS = -module -avoid-version
|
||||
@BUILD_SHARED_TRUE@thermoformat_la_SOURCES = thermoformat.cpp obmolecformat.cpp
|
||||
@BUILD_SHARED_TRUE@thermoformat_la_LDFLAGS = -module -avoid-version
|
||||
@BUILD_SHARED_TRUE@tinkerformat_la_SOURCES = tinkerformat.cpp
|
||||
@BUILD_SHARED_TRUE@tinkerformat_la_LDFLAGS = -module -avoid-version
|
||||
@BUILD_SHARED_TRUE@titleformat_la_SOURCES = titleformat.cpp obmolecformat.cpp
|
||||
@@ -852,9 +870,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/formats/Makefile'; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/formats/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu src/formats/Makefile
|
||||
$(AUTOMAKE) --foreign src/formats/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
@@ -1004,6 +1022,8 @@ shelxformat.la: $(shelxformat_la_OBJECTS) $(shelxformat_la_DEPENDENCIES)
|
||||
$(CXXLINK) $(am_shelxformat_la_rpath) $(shelxformat_la_LDFLAGS) $(shelxformat_la_OBJECTS) $(shelxformat_la_LIBADD) $(LIBS)
|
||||
smilesformat.la: $(smilesformat_la_OBJECTS) $(smilesformat_la_DEPENDENCIES)
|
||||
$(CXXLINK) $(am_smilesformat_la_rpath) $(smilesformat_la_LDFLAGS) $(smilesformat_la_OBJECTS) $(smilesformat_la_LIBADD) $(LIBS)
|
||||
thermoformat.la: $(thermoformat_la_OBJECTS) $(thermoformat_la_DEPENDENCIES)
|
||||
$(CXXLINK) $(am_thermoformat_la_rpath) $(thermoformat_la_LDFLAGS) $(thermoformat_la_OBJECTS) $(thermoformat_la_LIBADD) $(LIBS)
|
||||
tinkerformat.la: $(tinkerformat_la_OBJECTS) $(tinkerformat_la_DEPENDENCIES)
|
||||
$(CXXLINK) $(am_tinkerformat_la_rpath) $(tinkerformat_la_LDFLAGS) $(tinkerformat_la_OBJECTS) $(tinkerformat_la_LIBADD) $(LIBS)
|
||||
titleformat.la: $(titleformat_la_OBJECTS) $(titleformat_la_DEPENDENCIES)
|
||||
|
||||
@@ -103,7 +103,7 @@ bool CRK2DFormat::ReadMolecule(OBBase* pOb, OBConversion* pConv)
|
||||
}
|
||||
|
||||
mol.SetDimension(2);
|
||||
return ReadCRK(ifs,mol,"<Structure2D>");
|
||||
return ReadCRK(ifs,mol,"Structure2D");
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
@@ -201,7 +201,7 @@ bool CRK3DFormat::ReadMolecule(OBBase* pOb, OBConversion* pConv)
|
||||
return false;
|
||||
}
|
||||
|
||||
return CRK2DFormat::ReadCRK(ifs,mol,"<Structure3D>");
|
||||
return CRK2DFormat::ReadCRK(ifs,mol,"Structure3D");
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
@@ -254,8 +254,10 @@ bool CRK2DFormat::ReadCRK(std::istream &ifs,OBMol &mol,const char *classTag)
|
||||
|
||||
while (ifs.getline(buffer,BUFF_SIZE))
|
||||
{
|
||||
if (strstr(buffer,classTag))
|
||||
if (strstr(buffer,classTag) && foundClass == false)
|
||||
foundClass=true;
|
||||
else if (strstr(buffer,classTag) && foundClass == true)
|
||||
break;
|
||||
else if (strstr(buffer,"<Atom"))
|
||||
{
|
||||
atomID=0;
|
||||
@@ -403,6 +405,13 @@ bool CRK2DFormat::ReadCRK(std::istream &ifs,OBMol &mol,const char *classTag)
|
||||
|
||||
mol.EndModify();
|
||||
|
||||
// we likely have an </Property> line to gobble up
|
||||
if (ifs.peek() != EOF && ifs.good())
|
||||
{
|
||||
ifs.getline(buffer,BUFF_SIZE);
|
||||
if (strstr(buffer,"</Property>") == 0)
|
||||
return false; // something messed up
|
||||
}
|
||||
|
||||
return foundClass;
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/data
|
||||
|
||||
lib_LTLIBRARIES = libinchi.la
|
||||
|
||||
libinchi_la_LDFLAGS = -no-undefined
|
||||
libinchi_la_SOURCES = \
|
||||
IChICan2.c IChICano.c IChIPrt1.c IChIPrt2.c \
|
||||
IChIPrt3.c IchiMak2.c IchiMake.c IchiNorm.c \
|
||||
@@ -14,14 +15,15 @@ libinchi_la_SOURCES = \
|
||||
strutil.c util.c
|
||||
|
||||
libinchiincludedir = $(includedir)/inchi
|
||||
libinchiinclude_HEADERS = \
|
||||
# Only install the required header to expose to the outside world
|
||||
libinchiinclude_HEADERS = inchi_api.h
|
||||
|
||||
EXTRA_DIST = README.html COPYING.LIB \
|
||||
aux2atom.h comdef.h extr_ct.h ichi.h ichi_bns.h \
|
||||
ichicano.h ichicant.h ichicomn.h ichicomp.h \
|
||||
ichidrp.h ichierr.h ichimain.h ichimake.h \
|
||||
ichinorm.h ichiparm.h ichiring.h ichisize.h \
|
||||
ichister.h ichitaut.h ichitime.h inchi_api.h \
|
||||
inchi_dll.h inchi_dll_main.h inpdef.h \
|
||||
lreadmol.h mode.h strutil.h util.h
|
||||
|
||||
EXTRA_DIST = README.html COPYING.LIB
|
||||
lreadmol.h mode.h strutil.h util.h inpdef.h \
|
||||
ichister.h ichitaut.h ichitime.h \
|
||||
inchi_dll.h inchi_dll_main.h
|
||||
|
||||
|
||||
@@ -89,12 +89,15 @@ AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_DOCS_FALSE = @BUILD_DOCS_FALSE@
|
||||
BUILD_DOCS_TRUE = @BUILD_DOCS_TRUE@
|
||||
BUILD_INCHI_FALSE = @BUILD_INCHI_FALSE@
|
||||
BUILD_INCHI_TRUE = @BUILD_INCHI_TRUE@
|
||||
BUILD_SCRIPTS_FALSE = @BUILD_SCRIPTS_FALSE@
|
||||
BUILD_SCRIPTS_TRUE = @BUILD_SCRIPTS_TRUE@
|
||||
BUILD_SHARED_FALSE = @BUILD_SHARED_FALSE@
|
||||
@@ -119,6 +122,7 @@ CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DOXYGEN = @DOXYGEN@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
@@ -143,6 +147,7 @@ MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
@@ -169,9 +174,12 @@ XML2_CONFIG = @XML2_CONFIG@
|
||||
XML_CPPFLAGS = @XML_CPPFLAGS@
|
||||
XML_LIBS = @XML_LIBS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_AS = @ac_ct_AS@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
@@ -215,6 +223,7 @@ target_alias = @target_alias@
|
||||
# Not sure if this is actually needed -GRH
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/data
|
||||
lib_LTLIBRARIES = libinchi.la
|
||||
libinchi_la_LDFLAGS = -no-undefined
|
||||
libinchi_la_SOURCES = \
|
||||
IChICan2.c IChICano.c IChIPrt1.c IChIPrt2.c \
|
||||
IChIPrt3.c IchiMak2.c IchiMake.c IchiNorm.c \
|
||||
@@ -225,16 +234,17 @@ libinchi_la_SOURCES = \
|
||||
strutil.c util.c
|
||||
|
||||
libinchiincludedir = $(includedir)/inchi
|
||||
libinchiinclude_HEADERS = \
|
||||
# Only install the required header to expose to the outside world
|
||||
libinchiinclude_HEADERS = inchi_api.h
|
||||
EXTRA_DIST = README.html COPYING.LIB \
|
||||
aux2atom.h comdef.h extr_ct.h ichi.h ichi_bns.h \
|
||||
ichicano.h ichicant.h ichicomn.h ichicomp.h \
|
||||
ichidrp.h ichierr.h ichimain.h ichimake.h \
|
||||
ichinorm.h ichiparm.h ichiring.h ichisize.h \
|
||||
ichister.h ichitaut.h ichitime.h inchi_api.h \
|
||||
inchi_dll.h inchi_dll_main.h inpdef.h \
|
||||
lreadmol.h mode.h strutil.h util.h
|
||||
lreadmol.h mode.h strutil.h util.h inpdef.h \
|
||||
ichister.h ichitaut.h ichitime.h \
|
||||
inchi_dll.h inchi_dll_main.h
|
||||
|
||||
EXTRA_DIST = README.html COPYING.LIB
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@@ -248,9 +258,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/formats/inchi/Makefile'; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/formats/inchi/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu src/formats/inchi/Makefile
|
||||
$(AUTOMAKE) --foreign src/formats/inchi/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
|
||||
@@ -31,7 +31,8 @@ GNU General Public License for more details.
|
||||
#include "chiral.h"
|
||||
|
||||
using namespace std;
|
||||
namespace OpenBabel {
|
||||
namespace OpenBabel
|
||||
{
|
||||
|
||||
class MOLFormat : public OBMoleculeFormat
|
||||
{
|
||||
@@ -114,6 +115,7 @@ Write Options, e.g. -x3\n \
|
||||
istream &ifs = *pConv->GetInStream();
|
||||
OBMol &mol = *pmol;
|
||||
_mapcd.clear();
|
||||
bool chiralWatch=false;
|
||||
|
||||
// Allows addition of further disconnected atoms to an existing molecule
|
||||
int offset = mol.NumAtoms();
|
||||
@@ -158,13 +160,13 @@ Write Options, e.g. -x3\n \
|
||||
char type[5];
|
||||
vector3 v;
|
||||
OBAtom atom;
|
||||
int charge, scanArgs;
|
||||
int charge, scanArgs, stereo;
|
||||
|
||||
for (i = 0;i < natoms;i++) {
|
||||
if (!ifs.getline(buffer,BUFF_SIZE))
|
||||
return(false);
|
||||
|
||||
scanArgs = sscanf(buffer,"%lf %lf %lf %s %*d %d",&x,&y,&z,type,&charge);
|
||||
scanArgs = sscanf(buffer,"%lf %lf %lf %s %*d %d %d",&x,&y,&z,type,&charge, &stereo);
|
||||
if (scanArgs <4)
|
||||
return(false);
|
||||
v.SetX(x);v.SetY(y);v.SetZ(z);
|
||||
@@ -175,9 +177,10 @@ Write Options, e.g. -x3\n \
|
||||
if(iso)
|
||||
atom.SetIsotope(iso);
|
||||
|
||||
if (scanArgs == 5) {
|
||||
|
||||
switch (charge) {
|
||||
if (scanArgs >= 5)
|
||||
{
|
||||
switch (charge)
|
||||
{
|
||||
case 0: break;
|
||||
case 3: atom.SetFormalCharge(1); break;
|
||||
case 2: atom.SetFormalCharge(2); break;
|
||||
@@ -188,12 +191,34 @@ Write Options, e.g. -x3\n \
|
||||
}
|
||||
}
|
||||
|
||||
if (scanArgs == 6) // set a stereo mark
|
||||
{
|
||||
//Stereo configuration: 0 none; 1 odd parity; 2 even parity; 3 unspecified)
|
||||
if (stereo == 2)
|
||||
{
|
||||
chiralWatch=true;
|
||||
atom.SetAntiClockwiseStereo();
|
||||
}
|
||||
else if (stereo == 1)
|
||||
{
|
||||
chiralWatch=true;
|
||||
atom.SetClockwiseStereo();
|
||||
}
|
||||
else if(stereo == 3)
|
||||
{
|
||||
chiralWatch=true;
|
||||
atom.SetChiral();
|
||||
}
|
||||
}
|
||||
|
||||
if (!mol.AddAtom(atom))
|
||||
return(false);
|
||||
if(chiralWatch) // fill the map with data for each chiral atom
|
||||
_mapcd[mol.GetAtom(mol.NumAtoms())] = new OBChiralData;
|
||||
atom.Clear();
|
||||
}
|
||||
|
||||
int start,end,order,flag,stereo;
|
||||
int start,end,order,flag;
|
||||
for (i = 0;i < nbonds;i++) {
|
||||
flag = 0;
|
||||
if (!ifs.getline(buffer,BUFF_SIZE))
|
||||
@@ -216,6 +241,22 @@ Write Options, e.g. -x3\n \
|
||||
}
|
||||
|
||||
if (!mol.AddBond(start+offset,end+offset,order,flag)) return(false);
|
||||
|
||||
// after adding a bond to atom # "start+offset"
|
||||
// search to see if atom is bonded to a chiral atom
|
||||
map<OBAtom*,OBChiralData*>::iterator ChiralSearch;
|
||||
ChiralSearch = _mapcd.find(mol.GetAtom(start+offset));
|
||||
if (ChiralSearch!=_mapcd.end())
|
||||
{
|
||||
(ChiralSearch->second)->AddAtomRef(end+offset, input);
|
||||
}
|
||||
// after adding a bond to atom # "end + offset"
|
||||
// search to see if atom is bonded to a chiral atom
|
||||
ChiralSearch = _mapcd.find(mol.GetAtom(end+offset));
|
||||
if (ChiralSearch!=_mapcd.end())
|
||||
{
|
||||
(ChiralSearch->second)->AddAtomRef(start+offset, input);
|
||||
}
|
||||
}
|
||||
|
||||
//CM start 18 Sept 2003
|
||||
@@ -640,11 +681,11 @@ Write Options, e.g. -x3\n \
|
||||
//TODO Bond Configuration 2 or 3D??
|
||||
if (val == 1)
|
||||
{
|
||||
flag |= OB_WEDGE_BOND;//OB_TORUP_BOND; CM09/09/05
|
||||
flag |= OB_WEDGE_BOND;
|
||||
}
|
||||
else if (val == 3)
|
||||
{
|
||||
flag |= OB_HASH_BOND;//OB_TORDOWN_BOND;
|
||||
flag |= OB_HASH_BOND;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -180,7 +180,8 @@ bool MOL2Format::ReadMolecule(OBBase* pOb, OBConversion* pConv)
|
||||
hasPartialCharges = true;
|
||||
|
||||
// Add residue information if it exists
|
||||
if (resnum != -1 && resname != "")
|
||||
if (resnum != -1 && resnum != 0 &&
|
||||
strlen(resname) != 0 && strncmp(resname,"<1>", 3) != 0)
|
||||
{
|
||||
OBResidue *res = (mol.NumResidues() > 0) ?
|
||||
mol.GetResidue(mol.NumResidues()-1) : NULL;
|
||||
|
||||
@@ -84,9 +84,12 @@ public:
|
||||
|
||||
#ifdef _WIN32
|
||||
typedef stdext::hash_map<std::string, unsigned> NameIndexType;
|
||||
#else
|
||||
typedef std::map<std::string, unsigned> NameIndexType;
|
||||
#endif
|
||||
|
||||
static bool ReadNameIndex(NameIndexType& index, const std::string& datafilename,
|
||||
OBFormat* pInFormat);
|
||||
#endif
|
||||
|
||||
const std::type_info& GetType()
|
||||
{
|
||||
|
||||
@@ -362,7 +362,7 @@ namespace OpenBabel
|
||||
static bool readIntegerFromRecord(char *buffer, unsigned int columnAsSpecifiedInPDB, long int *target)
|
||||
{
|
||||
char integerBuffer[6];
|
||||
integerBuffer[5] = 0;
|
||||
integerBuffer[5] = '\0';
|
||||
|
||||
strncpy(integerBuffer, buffer+columnAsSpecifiedInPDB-1, 5);
|
||||
|
||||
@@ -403,8 +403,10 @@ namespace OpenBabel
|
||||
#else
|
||||
strstream errorMsg;
|
||||
#endif
|
||||
string clearError;
|
||||
|
||||
// Setup strings and string buffers
|
||||
vector<string> vs;
|
||||
buffer[70] = '\0';
|
||||
if (strlen(buffer) < 70)
|
||||
{
|
||||
@@ -412,46 +414,16 @@ namespace OpenBabel
|
||||
<< " Problems reading a CONECT record.\n"
|
||||
<< " According to the PDB specification,\n"
|
||||
<< " the record should have 70 columns, but OpenBabel found "
|
||||
<< strlen(buffer) << " columns.";
|
||||
<< strlen(buffer) << " columns." << endl;
|
||||
obErrorLog.ThrowError(__FUNCTION__, errorMsg.str() , obInfo);
|
||||
errorMsg.str(clearError);
|
||||
}
|
||||
|
||||
// Serial number of the first atom, read from column 7-11 of the
|
||||
// connect record, to which the other atoms connect to.
|
||||
long int startAtomSerialNumber;
|
||||
if (readIntegerFromRecord(buffer, 7, &startAtomSerialNumber) == false)
|
||||
{
|
||||
errorMsg << "WARNING: Problems reading a PDB file\n"
|
||||
<< " Problems reading a CONECT record.\n"
|
||||
<< " According to the PDB specification,\n"
|
||||
<< " columns 7-11 should contain the serial number of an atom.\n"
|
||||
<< " THIS CONECT RECORD WILL BE IGNORED.";
|
||||
obErrorLog.ThrowError(__FUNCTION__, errorMsg.str() , obWarning);
|
||||
return(false);
|
||||
}
|
||||
|
||||
// Find a pointer to the first atom.
|
||||
OBAtom *firstAtom = 0L;
|
||||
vector<OBNodeBase*>::iterator i;
|
||||
for (OBAtom *a1 = mol.BeginAtom(i);a1;a1 = mol.NextAtom(i))
|
||||
if (static_cast<long int>(a1->GetResidue()->
|
||||
GetSerialNum(a1)) == startAtomSerialNumber)
|
||||
{
|
||||
firstAtom = a1;
|
||||
break;
|
||||
}
|
||||
if (firstAtom == 0L)
|
||||
{
|
||||
errorMsg << "WARNING: Problems reading a PDB file:\n"
|
||||
<< " Problems reading a CONECT record.\n"
|
||||
<< " According to the PDB specification,\n"
|
||||
<< " columns 7-11 should contain the serial number of an atom.\n"
|
||||
<< " No atom was found with this serial number.\n"
|
||||
<< " THIS CONECT RECORD WILL BE IGNORED.";
|
||||
obErrorLog.ThrowError(__FUNCTION__, errorMsg.str() , obWarning);
|
||||
return(false);
|
||||
}
|
||||
|
||||
// A pointer to the first atom.
|
||||
OBAtom *firstAtom = NULL;
|
||||
// Serial numbers of the atoms which bind to firstAtom, read from
|
||||
// columns 12-16, 17-21, 22-27 and 27-31 of the connect record. Note
|
||||
// that we reserve space for 5 integers, but read only four of
|
||||
@@ -463,6 +435,73 @@ namespace OpenBabel
|
||||
// invalid
|
||||
bool boundedAtomsSerialNumbersValid[5] = {false, false, false, false, false};
|
||||
|
||||
// Pragmatic approach -- too many non-standard PDB files out there
|
||||
// (including some old ones from us)
|
||||
// So if we have a small number of atoms, then try to break by spaces
|
||||
// Otherwise (i.e., NumAtoms() > 9,999 we need to go by position)
|
||||
// We'll switch back and forth a few times to save duplicating common code
|
||||
|
||||
if (mol.NumAtoms() <= 9999)
|
||||
{
|
||||
// make sure we don't look at salt bridges or whatever, so cut the buffer short
|
||||
buffer[32] = '\0';
|
||||
tokenize(vs,buffer);
|
||||
if( vs.empty() || vs.size() < 2)
|
||||
return false;
|
||||
vs.erase(vs.begin()); // remove "CONECT"
|
||||
|
||||
startAtomSerialNumber = atoi(vs[0].c_str());
|
||||
}
|
||||
else
|
||||
{
|
||||
if (readIntegerFromRecord(buffer, 7, &startAtomSerialNumber) == false)
|
||||
{
|
||||
errorMsg << "WARNING: Problems reading a PDB file\n"
|
||||
<< " Problems reading a CONECT record.\n"
|
||||
<< " According to the PDB specification,\n"
|
||||
<< " columns 7-11 should contain the serial number of an atom.\n"
|
||||
<< " THIS CONECT RECORD WILL BE IGNORED." << endl;
|
||||
obErrorLog.ThrowError(__FUNCTION__, errorMsg.str() , obWarning);
|
||||
return(false);
|
||||
}
|
||||
}
|
||||
|
||||
vector<OBNodeBase*>::iterator i;
|
||||
for (OBAtom *a1 = mol.BeginAtom(i);a1;a1 = mol.NextAtom(i))
|
||||
if (static_cast<long int>(a1->GetResidue()->
|
||||
GetSerialNum(a1)) == startAtomSerialNumber)
|
||||
{
|
||||
firstAtom = a1;
|
||||
break;
|
||||
}
|
||||
if (firstAtom == NULL)
|
||||
{
|
||||
errorMsg << "WARNING: Problems reading a PDB file:\n"
|
||||
<< " Problems reading a CONECT record.\n"
|
||||
<< " According to the PDB specification,\n"
|
||||
<< " columns 7-11 should contain the serial number of an atom.\n"
|
||||
<< " No atom was found with this serial number.\n"
|
||||
<< " THIS CONECT RECORD WILL BE IGNORED." << endl;
|
||||
obErrorLog.ThrowError(__FUNCTION__, errorMsg.str() , obWarning);
|
||||
return(false);
|
||||
}
|
||||
|
||||
if (mol.NumAtoms() < 9999)
|
||||
{
|
||||
if (vs.size() > 1) boundedAtomsSerialNumbers[0] = atoi(vs[1].c_str());
|
||||
if (vs.size() > 2) boundedAtomsSerialNumbers[1] = atoi(vs[2].c_str());
|
||||
if (vs.size() > 3) boundedAtomsSerialNumbers[2] = atoi(vs[3].c_str());
|
||||
if (vs.size() > 4) boundedAtomsSerialNumbers[3] = atoi(vs[4].c_str());
|
||||
|
||||
unsigned int limit = 4;
|
||||
if (vs.size() <= 4)
|
||||
limit = vs.size() - 1;
|
||||
|
||||
for (unsigned int i = 0; i < limit; i++)
|
||||
boundedAtomsSerialNumbersValid[i] = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Now read the serial numbers. If the first serial number is not
|
||||
// present, this connect record probably contains only hydrogen
|
||||
// bonds and salt bridges, which we ignore. In that case, we just
|
||||
@@ -473,6 +512,7 @@ namespace OpenBabel
|
||||
boundedAtomsSerialNumbersValid[1] = readIntegerFromRecord(buffer, 17, boundedAtomsSerialNumbers+1);
|
||||
boundedAtomsSerialNumbersValid[2] = readIntegerFromRecord(buffer, 22, boundedAtomsSerialNumbers+2);
|
||||
boundedAtomsSerialNumbersValid[3] = readIntegerFromRecord(buffer, 27, boundedAtomsSerialNumbers+3);
|
||||
}
|
||||
|
||||
// Now iterate over the VALID boundedAtomsSerialNumbers and connect
|
||||
// the atoms.
|
||||
@@ -496,9 +536,9 @@ namespace OpenBabel
|
||||
<< " and #" << boundedAtomsSerialNumbers[k]
|
||||
<< " should be connected\n"
|
||||
<< " However, an atom with serial #" << boundedAtomsSerialNumbers[k] << " was not found.\n"
|
||||
<< " THIS CONECT RECORD WILL BE IGNORED.";
|
||||
<< " THIS CONECT RECORD WILL BE IGNORED." << endl;
|
||||
obErrorLog.ThrowError(__FUNCTION__, errorMsg.str() , obWarning);
|
||||
break;
|
||||
return(false);
|
||||
}
|
||||
|
||||
// Figure the bond order
|
||||
|
||||
@@ -107,12 +107,15 @@ AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_DOCS_FALSE = @BUILD_DOCS_FALSE@
|
||||
BUILD_DOCS_TRUE = @BUILD_DOCS_TRUE@
|
||||
BUILD_INCHI_FALSE = @BUILD_INCHI_FALSE@
|
||||
BUILD_INCHI_TRUE = @BUILD_INCHI_TRUE@
|
||||
BUILD_SCRIPTS_FALSE = @BUILD_SCRIPTS_FALSE@
|
||||
BUILD_SCRIPTS_TRUE = @BUILD_SCRIPTS_TRUE@
|
||||
BUILD_SHARED_FALSE = @BUILD_SHARED_FALSE@
|
||||
@@ -137,6 +140,7 @@ CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DOXYGEN = @DOXYGEN@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
@@ -161,6 +165,7 @@ MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
@@ -187,9 +192,12 @@ XML2_CONFIG = @XML2_CONFIG@
|
||||
XML_CPPFLAGS = @XML_CPPFLAGS@
|
||||
XML_LIBS = @XML_LIBS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_AS = @ac_ct_AS@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
@@ -257,9 +265,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/formats/xml/Makefile'; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/formats/xml/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu src/formats/xml/Makefile
|
||||
$(AUTOMAKE) --foreign src/formats/xml/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
|
||||
@@ -16,8 +16,9 @@ GNU General Public License for more details.
|
||||
#include "mol.h"
|
||||
#include "obconversion.h"
|
||||
#include "obmolecformat.h"
|
||||
#include "libxml/xmlreader.h"
|
||||
#include "libxml/xmlwriter.h"
|
||||
|
||||
#include <libxml/xmlreader.h>
|
||||
#include <libxml/xmlwriter.h>
|
||||
|
||||
namespace OpenBabel
|
||||
{
|
||||
|
||||
@@ -82,12 +82,15 @@ AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_DOCS_FALSE = @BUILD_DOCS_FALSE@
|
||||
BUILD_DOCS_TRUE = @BUILD_DOCS_TRUE@
|
||||
BUILD_INCHI_FALSE = @BUILD_INCHI_FALSE@
|
||||
BUILD_INCHI_TRUE = @BUILD_INCHI_TRUE@
|
||||
BUILD_SCRIPTS_FALSE = @BUILD_SCRIPTS_FALSE@
|
||||
BUILD_SCRIPTS_TRUE = @BUILD_SCRIPTS_TRUE@
|
||||
BUILD_SHARED_FALSE = @BUILD_SHARED_FALSE@
|
||||
@@ -112,6 +115,7 @@ CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DOXYGEN = @DOXYGEN@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
@@ -136,6 +140,7 @@ MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
@@ -162,9 +167,12 @@ XML2_CONFIG = @XML2_CONFIG@
|
||||
XML_CPPFLAGS = @XML_CPPFLAGS@
|
||||
XML_LIBS = @XML_LIBS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_AS = @ac_ct_AS@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
@@ -224,9 +232,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/math/Makefile'; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/math/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu src/math/Makefile
|
||||
$(AUTOMAKE) --foreign src/math/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
|
||||
14
src/mol.cpp
14
src/mol.cpp
@@ -2,7 +2,7 @@
|
||||
mol.cpp - Handle molecules.
|
||||
|
||||
Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
|
||||
Some portions Copyright (C) 2001-2005 by Geoffrey R. Hutchison
|
||||
Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
|
||||
Some portions Copyright (C) 2003 by Michael Banck
|
||||
|
||||
This file is part of the Open Babel project.
|
||||
@@ -2614,6 +2614,9 @@ bool OBMol::DeleteResidue(OBResidue *residue)
|
||||
|
||||
bool OBMol::AddBond(int first,int second,int order,int stereo,int insertpos)
|
||||
{
|
||||
if (first == second)
|
||||
return(false);
|
||||
|
||||
BeginModify();
|
||||
|
||||
if ((unsigned)first <= NumAtoms() && (unsigned)second <= NumAtoms()
|
||||
@@ -2906,15 +2909,6 @@ OBMol::~OBMol()
|
||||
for (k = _vconf.begin();k != _vconf.end();k++)
|
||||
delete [] *k;
|
||||
_vconf.clear();
|
||||
|
||||
/* if (!_vdata.empty())
|
||||
{
|
||||
vector<OBGenericData*>::iterator m;
|
||||
for (m = _vdata.begin();m != _vdata.end();m++)
|
||||
delete *m;
|
||||
_vdata.clear();
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
bool OBMol::HasNonZeroCoords()
|
||||
|
||||
@@ -654,6 +654,10 @@ namespace OpenBabel
|
||||
//@{
|
||||
bool IsAromatic() const;
|
||||
bool IsInRing() const;
|
||||
//! Is the bond a rotatable bond?
|
||||
//! Currently, this function classifies any bond with at least one heavy
|
||||
//! atom, no sp-hybrid atoms (e.g., a triple bond somewhere) not in a ring
|
||||
//! as a potential rotor. No other bond typing is attempted.
|
||||
bool IsRotor();
|
||||
bool IsAmide();
|
||||
bool IsPrimaryAmide();
|
||||
@@ -842,7 +846,7 @@ namespace OpenBabel
|
||||
unsigned int NumHvyAtoms();
|
||||
//! \return the number of residues (i.e. OBResidue substituents)
|
||||
unsigned int NumResidues() const { return(_residue.size()); }
|
||||
//! \return the number of rotatble bonds
|
||||
//! \return the number of rotatble bonds. See OBBond::IsRotor() for details
|
||||
unsigned int NumRotors();
|
||||
|
||||
OBAtom *GetAtom(int);
|
||||
|
||||
@@ -195,7 +195,8 @@ OBFormat* OBConversion::pDefaultFormat=NULL;
|
||||
OBConversion::OBConversion(istream* is, ostream* os) :
|
||||
pInFormat(NULL),pOutFormat(NULL), Index(0), StartNumber(1),
|
||||
EndNumber(0), Count(-1), m_IsLast(true), MoreFilesToCome(false),
|
||||
OneObjectOnly(false), pOb1(NULL), pAuxConv(NULL),m_IsFirstInput(true)
|
||||
OneObjectOnly(false), CheckedForGzip(false), pOb1(NULL),
|
||||
pAuxConv(NULL), m_IsFirstInput(true)
|
||||
{
|
||||
pInStream=is;
|
||||
pOutStream=os;
|
||||
@@ -252,6 +253,7 @@ OBConversion::OBConversion(const OBConversion& o)
|
||||
pOb1 = o.pOb1;
|
||||
ReadyToInput = o.ReadyToInput;
|
||||
m_IsFirstInput = o.m_IsFirstInput;
|
||||
CheckedForGzip = o.CheckedForGzip;
|
||||
|
||||
pAuxConv = NULL;
|
||||
}
|
||||
@@ -411,11 +413,14 @@ bool OBConversion::SetOutFormat(const char* outID)
|
||||
//////////////////////////////////////////////////////
|
||||
int OBConversion::Convert(istream* is, ostream* os)
|
||||
{
|
||||
if(is) pInStream=is;
|
||||
if(is) {pInStream=is; CheckedForGzip = false;}
|
||||
if(os) pOutStream=os;
|
||||
ostream* pOrigOutStream = pOutStream;
|
||||
|
||||
#ifdef HAVE_LIBZ
|
||||
if (!CheckedForGzip)
|
||||
{
|
||||
CheckedForGzip = true;
|
||||
zlib_stream::zip_istream zIn(*pInStream);
|
||||
if(zIn.is_gzip())
|
||||
pInStream = &zIn;
|
||||
@@ -427,6 +432,7 @@ int OBConversion::Convert(istream* is, ostream* os)
|
||||
zOut.make_gzip();
|
||||
pOutStream = &zOut;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
int count = Convert();
|
||||
@@ -688,13 +694,20 @@ OBFormat* OBConversion::FormatFromMIME(const char* MIME)
|
||||
bool OBConversion::Read(OBBase* pOb, std::istream* pin)
|
||||
{
|
||||
if(pin)
|
||||
{
|
||||
pInStream=pin;
|
||||
CheckedForGzip = false;
|
||||
}
|
||||
if(!pInFormat) return false;
|
||||
|
||||
#ifdef HAVE_LIBZ
|
||||
if (!CheckedForGzip)
|
||||
{
|
||||
CheckedForGzip = true;
|
||||
zlib_stream::zip_istream zIn(*pInStream);
|
||||
if(zIn.is_gzip())
|
||||
pInStream = &zIn;
|
||||
}
|
||||
#endif
|
||||
return pInFormat->ReadMolecule(pOb, this);
|
||||
}
|
||||
@@ -776,8 +789,8 @@ bool OBConversion::WriteFile(OBBase* pOb, string filePath)
|
||||
////////////////////////////////////////////
|
||||
bool OBConversion::ReadString(OBBase* pOb, std::string input)
|
||||
{
|
||||
stringstream pin(input);
|
||||
return Read(pOb,&pin);
|
||||
stringstream *pin = new stringstream(input);
|
||||
return Read(pOb, pin);
|
||||
}
|
||||
|
||||
|
||||
@@ -786,18 +799,18 @@ bool OBConversion::ReadFile(OBBase* pOb, std::string filePath)
|
||||
{
|
||||
if(!pInFormat) return false;
|
||||
|
||||
ifstream ifs;
|
||||
ifstream *ifs = new ifstream;
|
||||
ios_base::openmode imode =
|
||||
pInFormat->Flags() & READBINARY ? ios_base::in|ios_base::binary : ios_base::in;
|
||||
|
||||
ifs.open(filePath.c_str(),imode);
|
||||
if(!ifs)
|
||||
ifs->open(filePath.c_str(),imode);
|
||||
if(!ifs || !ifs->good())
|
||||
{
|
||||
cerr << "Cannot read from " << filePath << endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
return Read(pOb,&ifs);
|
||||
return Read(pOb,ifs);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -382,6 +382,8 @@ protected:
|
||||
bool MoreFilesToCome;
|
||||
bool OneObjectOnly;
|
||||
bool ReadyToInput;
|
||||
bool CheckedForGzip; ///< input stream was already checked if it is gzip-encoded
|
||||
|
||||
static int FormatFilesLoaded;
|
||||
OBBase* pOb1;
|
||||
std::streampos wInpos; ///<position in the input stream of the object being written
|
||||
|
||||
@@ -145,7 +145,7 @@ Output from the error log typically looks like:
|
||||
**/
|
||||
|
||||
OBMessageHandler::OBMessageHandler() :
|
||||
_outputLevel(obWarning), _outputStream(&clog), _logging(true)
|
||||
_outputLevel(obWarning), _outputStream(&clog), _logging(true), _maxEntries(100)
|
||||
{
|
||||
// StartErrorWrap(); // (don't turn on error wrapping by default)
|
||||
}
|
||||
|
||||
107
src/parsmart.cpp
107
src/parsmart.cpp
@@ -587,7 +587,6 @@ static AtomExpr *ParseSimpleAtomPrimitive( void )
|
||||
case '*':
|
||||
return BuildAtomLeaf(AL_CONST,True);
|
||||
#ifndef OB_PARSMART_STRICT
|
||||
|
||||
case 'A':
|
||||
return BuildAtomLeaf(AL_AROM,False);
|
||||
#endif
|
||||
@@ -622,7 +621,6 @@ static AtomExpr *ParseSimpleAtomPrimitive( void )
|
||||
return GenerateAromElem(16,False);
|
||||
|
||||
#ifndef OB_PARSMART_STRICT
|
||||
|
||||
case 'a':
|
||||
return BuildAtomLeaf(AL_AROM,True);
|
||||
#endif
|
||||
@@ -649,7 +647,8 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
|
||||
switch( *LexPtr++ )
|
||||
{
|
||||
case('#'): if( !isdigit(*LexPtr) )
|
||||
case('#'):
|
||||
if( !isdigit(*LexPtr) )
|
||||
return( (AtomExpr*)0 );
|
||||
|
||||
index = 0;
|
||||
@@ -664,14 +663,13 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
return( (AtomExpr*)0 );
|
||||
return( GenerateElement(index) );
|
||||
|
||||
case('$'): if( *LexPtr != '(' )
|
||||
case('$'):
|
||||
if( *LexPtr != '(' )
|
||||
return( (AtomExpr*)0 );
|
||||
LexPtr++;
|
||||
#ifdef OB_PARSMART_STRICT
|
||||
|
||||
pat = ParseSMARTSPart(AllocPattern(),0);
|
||||
#else
|
||||
|
||||
pat = ParseSMARTSPattern();
|
||||
#endif
|
||||
|
||||
@@ -685,9 +683,11 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
LexPtr++;
|
||||
return( BuildAtomRecurs(pat) );
|
||||
|
||||
case('*'): return( BuildAtomLeaf(AL_CONST,True) );
|
||||
case('*'):
|
||||
return( BuildAtomLeaf(AL_CONST,True) );
|
||||
|
||||
case('+'): if( isdigit(*LexPtr) )
|
||||
case('+'):
|
||||
if( isdigit(*LexPtr) )
|
||||
{
|
||||
index = 0;
|
||||
while( isdigit(*LexPtr) )
|
||||
@@ -704,7 +704,8 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
}
|
||||
return( BuildAtomLeaf(AL_POSITIVE,index) );
|
||||
|
||||
case('-'): if( isdigit(*LexPtr) )
|
||||
case('-'):
|
||||
if( isdigit(*LexPtr) )
|
||||
{
|
||||
index = 0;
|
||||
while( isdigit(*LexPtr) )
|
||||
@@ -745,7 +746,8 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
index = index*10 + ((*LexPtr++)-'0');
|
||||
return BuildAtomLeaf(AL_MASS,index);
|
||||
|
||||
case('A'): switch( *LexPtr++ )
|
||||
case('A'):
|
||||
switch( *LexPtr++ )
|
||||
{
|
||||
case('c'): return GenerateElement(89);
|
||||
case('g'): return GenerateElement(47);
|
||||
@@ -759,7 +761,8 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
LexPtr--;
|
||||
return BuildAtomLeaf(AL_AROM,False);
|
||||
|
||||
case('B'): switch( *LexPtr++ )
|
||||
case('B'):
|
||||
switch( *LexPtr++ )
|
||||
{
|
||||
case('a'): return GenerateElement(56);
|
||||
case('e'): return GenerateElement( 4);
|
||||
@@ -770,7 +773,8 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
LexPtr--;
|
||||
return GenerateElement(5);
|
||||
|
||||
case('C'): switch( *LexPtr++ )
|
||||
case('C'):
|
||||
switch( *LexPtr++ )
|
||||
{
|
||||
case('a'): return GenerateElement(20);
|
||||
case('d'): return GenerateElement(48);
|
||||
@@ -786,7 +790,8 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
LexPtr--;
|
||||
return GenerateAromElem(6,False);
|
||||
|
||||
case('D'): if( *LexPtr == 'y' )
|
||||
case('D'):
|
||||
if( *LexPtr == 'y' )
|
||||
{
|
||||
LexPtr++;
|
||||
return GenerateElement(66);
|
||||
@@ -800,7 +805,8 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
}
|
||||
break;
|
||||
|
||||
case('E'): if( *LexPtr == 'r' )
|
||||
case('E'):
|
||||
if( *LexPtr == 'r' )
|
||||
{
|
||||
LexPtr++;
|
||||
return GenerateElement(68);
|
||||
@@ -817,7 +823,8 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
}
|
||||
break;
|
||||
|
||||
case('F'): if( *LexPtr == 'e' )
|
||||
case('F'):
|
||||
if( *LexPtr == 'e' )
|
||||
{
|
||||
LexPtr++;
|
||||
return GenerateElement(26);
|
||||
@@ -834,7 +841,8 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
}
|
||||
return GenerateElement(9);
|
||||
|
||||
case('G'): if( *LexPtr == 'a' )
|
||||
case('G'):
|
||||
if( *LexPtr == 'a' )
|
||||
{
|
||||
LexPtr++;
|
||||
return( GenerateElement(31) );
|
||||
@@ -851,7 +859,8 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
}
|
||||
break;
|
||||
|
||||
case('H'): if( *LexPtr == 'e' )
|
||||
case('H'):
|
||||
if( *LexPtr == 'e' )
|
||||
{
|
||||
LexPtr++;
|
||||
return( GenerateElement( 2) );
|
||||
@@ -879,10 +888,9 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
return( BuildAtomLeaf(AL_HCOUNT,index) );
|
||||
}
|
||||
return( BuildAtomLeaf(AL_HCOUNT,1) );
|
||||
/* BuildAtomLeaf(AL_HCOUNT,1) ??? */
|
||||
/* or else GenerateElement(1) ??? */
|
||||
|
||||
case('I'): if( *LexPtr == 'n' )
|
||||
case('I'):
|
||||
if( *LexPtr == 'n' )
|
||||
{
|
||||
LexPtr++;
|
||||
return( GenerateElement(49) );
|
||||
@@ -894,14 +902,16 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
}
|
||||
return( GenerateElement(53) );
|
||||
|
||||
case('K'): if( *LexPtr == 'r' )
|
||||
case('K'):
|
||||
if( *LexPtr == 'r' )
|
||||
{
|
||||
LexPtr++;
|
||||
return( GenerateElement(36) );
|
||||
}
|
||||
return( GenerateElement(19) );
|
||||
|
||||
case('L'): if( *LexPtr == 'a' )
|
||||
case('L'):
|
||||
if( *LexPtr == 'a' )
|
||||
{
|
||||
LexPtr++;
|
||||
return( GenerateElement( 57) );
|
||||
@@ -923,7 +933,8 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
}
|
||||
break;
|
||||
|
||||
case('M'): if( *LexPtr == 'd' )
|
||||
case('M'):
|
||||
if( *LexPtr == 'd' )
|
||||
{
|
||||
LexPtr++;
|
||||
return( GenerateElement(101) );
|
||||
@@ -945,7 +956,8 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
}
|
||||
break;
|
||||
|
||||
case('N'): switch( *LexPtr++ )
|
||||
case('N'):
|
||||
switch( *LexPtr++ )
|
||||
{
|
||||
case('a'): return( GenerateElement( 11) );
|
||||
case('b'): return( GenerateElement( 41) );
|
||||
@@ -958,14 +970,16 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
LexPtr--;
|
||||
return( GenerateAromElem(7,False) );
|
||||
|
||||
case('O'): if( *LexPtr == 's' )
|
||||
case('O'):
|
||||
if( *LexPtr == 's' )
|
||||
{
|
||||
LexPtr++;
|
||||
return( GenerateElement(76) );
|
||||
}
|
||||
return( GenerateAromElem(8,False) );
|
||||
|
||||
case('P'): switch( *LexPtr++ )
|
||||
case('P'):
|
||||
switch( *LexPtr++ )
|
||||
{
|
||||
case('a'): return( GenerateElement(91) );
|
||||
case('b'): return( GenerateElement(82) );
|
||||
@@ -979,7 +993,8 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
LexPtr--;
|
||||
return( GenerateElement(15) );
|
||||
|
||||
case('R'): switch( *LexPtr++ )
|
||||
case('R'):
|
||||
switch( *LexPtr++ )
|
||||
{
|
||||
case('a'): return( GenerateElement(88) );
|
||||
case('b'): return( GenerateElement(37) );
|
||||
@@ -999,7 +1014,8 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
index = -1;
|
||||
return( BuildAtomLeaf(AL_RINGS,index) );
|
||||
|
||||
case('S'): switch( *LexPtr++ )
|
||||
case('S'):
|
||||
switch( *LexPtr++ )
|
||||
{
|
||||
case('b'): return( GenerateElement(51) );
|
||||
case('c'): return( GenerateElement(21) );
|
||||
@@ -1012,7 +1028,8 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
LexPtr--;
|
||||
return( GenerateAromElem(16,False) );
|
||||
|
||||
case('T'): switch( *LexPtr++ )
|
||||
case('T'):
|
||||
switch( *LexPtr++ )
|
||||
{
|
||||
case('a'): return( GenerateElement(73) );
|
||||
case('b'): return( GenerateElement(65) );
|
||||
@@ -1030,12 +1047,13 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
case('V'): return( GenerateElement(23) );
|
||||
case('W'): return( GenerateElement(74) );
|
||||
|
||||
case('X'): if( *LexPtr == 'e' )
|
||||
case('X'):
|
||||
if( *LexPtr == 'e' )
|
||||
{
|
||||
LexPtr++;
|
||||
return( GenerateElement(54) );
|
||||
}
|
||||
else
|
||||
else if( isdigit(*LexPtr) )
|
||||
{
|
||||
index = 0;
|
||||
while( isdigit(*LexPtr) )
|
||||
@@ -1046,14 +1064,16 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
}
|
||||
break;
|
||||
|
||||
case('Y'): if( *LexPtr == 'b' )
|
||||
case('Y'):
|
||||
if( *LexPtr == 'b' )
|
||||
{
|
||||
LexPtr++;
|
||||
return( GenerateElement(70) );
|
||||
}
|
||||
return( GenerateElement(39) );
|
||||
|
||||
case('Z'): if( *LexPtr == 'n' )
|
||||
case('Z'):
|
||||
if( *LexPtr == 'n' )
|
||||
{
|
||||
LexPtr++;
|
||||
return GenerateElement(30);
|
||||
@@ -1065,7 +1085,8 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
}
|
||||
break;
|
||||
|
||||
case('a'): if( *LexPtr == 's' )
|
||||
case('a'):
|
||||
if( *LexPtr == 's' )
|
||||
{
|
||||
LexPtr++;
|
||||
return GenerateAromElem(33,True);
|
||||
@@ -1074,7 +1095,8 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
|
||||
case('c'): return GenerateAromElem(6,True);
|
||||
|
||||
case('h'): if( isdigit(*LexPtr) )
|
||||
case('h'):
|
||||
if( isdigit(*LexPtr) )
|
||||
{
|
||||
index = 0;
|
||||
while( isdigit(*LexPtr) )
|
||||
@@ -1088,7 +1110,8 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
case('o'): return GenerateAromElem(8,True);
|
||||
case('p'): return GenerateAromElem(15,True);
|
||||
|
||||
case('r'): if( isdigit(*LexPtr) )
|
||||
case('r'):
|
||||
if( isdigit(*LexPtr) )
|
||||
{
|
||||
index = 0;
|
||||
while( isdigit(*LexPtr) )
|
||||
@@ -1099,14 +1122,16 @@ static AtomExpr *ParseComplexAtomPrimitive( void )
|
||||
}
|
||||
return BuildAtomLeaf(AL_RINGS,-1);
|
||||
|
||||
case('s'): if( *LexPtr == 'i' )
|
||||
case('s'):
|
||||
if( *LexPtr == 'i' )
|
||||
{
|
||||
LexPtr++;
|
||||
return GenerateAromElem(14,True);
|
||||
}
|
||||
return GenerateAromElem(16,True);
|
||||
|
||||
case('v'): if( isdigit(*LexPtr) )
|
||||
case('v'):
|
||||
if( isdigit(*LexPtr) )
|
||||
{
|
||||
index = 0;
|
||||
while( isdigit(*LexPtr) )
|
||||
@@ -2738,8 +2763,8 @@ static bool EvalAtomExpr(AtomExpr *expr,OBAtom *atom)
|
||||
if( !expr->leaf.value )
|
||||
return !atom->IsAromatic();
|
||||
return atom->IsAromatic();
|
||||
case AL_HCOUNT: // should always return the number of explicit Hs.
|
||||
return (expr->leaf.value==(signed int)atom->ExplicitHydrogenCount());
|
||||
case AL_HCOUNT:
|
||||
return (expr->leaf.value==(signed int)atom->ExplicitHydrogenCount() + (signed int)atom->ImplicitHydrogenCount());
|
||||
case AL_DEGREE:
|
||||
return(expr->leaf.value == (int)atom->GetValence());
|
||||
case AL_VALENCE:
|
||||
@@ -2770,7 +2795,7 @@ static bool EvalAtomExpr(AtomExpr *expr,OBAtom *atom)
|
||||
return atom->IsInRingSize(expr->leaf.value);
|
||||
|
||||
case AL_IMPLICIT:
|
||||
return expr->leaf.value == (int)atom->ImplicitHydrogenCount();
|
||||
return expr->leaf.value == (signed int)atom->ImplicitHydrogenCount();
|
||||
|
||||
case AL_CONST:
|
||||
if( !expr->leaf.value )
|
||||
|
||||
@@ -779,6 +779,8 @@ OBResidue::OBResidue()
|
||||
_resnum = 0;
|
||||
_resname = "";
|
||||
_vdata.clear();
|
||||
|
||||
cerr << " created residue ! " << endl;
|
||||
}
|
||||
|
||||
OBResidue::OBResidue(const OBResidue &src)
|
||||
@@ -792,6 +794,8 @@ OBResidue::OBResidue(const OBResidue &src)
|
||||
_atomid = src._atomid;
|
||||
_hetatm = src._hetatm;
|
||||
_sernum = src._sernum;
|
||||
|
||||
cerr << " copied residue ! " << endl;
|
||||
}
|
||||
|
||||
OBResidue::~OBResidue()
|
||||
@@ -800,14 +804,8 @@ OBResidue::~OBResidue()
|
||||
for ( a = _atoms.begin() ; a != _atoms.end() ; a++ )
|
||||
(*a)->SetResidue(NULL);
|
||||
_atoms.clear();
|
||||
/* if (!_vdata.empty())
|
||||
{
|
||||
vector<OBGenericData*>::iterator m;
|
||||
for (m = _vdata.begin();m != _vdata.end();m++)
|
||||
delete *m;
|
||||
_vdata.clear();
|
||||
}
|
||||
*/
|
||||
|
||||
cerr << " deleted residue ! " << endl;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
@@ -865,11 +863,11 @@ void OBResidue::InsertAtom(OBAtom *atom)
|
||||
|
||||
void OBResidue::RemoveAtom(OBAtom *atom)
|
||||
{
|
||||
if (atom != NULL)
|
||||
if (atom != NULL && _atoms.size())
|
||||
{
|
||||
for ( unsigned int i = 0 ; i < _atoms.size() ; i++ )
|
||||
{
|
||||
if (_atoms[i] == atom)
|
||||
if (_atoms[i] != NULL && _atoms[i] == atom)
|
||||
{
|
||||
atom->SetResidue(NULL);
|
||||
_atoms.erase(_atoms.begin() + i);
|
||||
|
||||
239
src/typer.cpp
239
src/typer.cpp
@@ -241,29 +241,6 @@ void OBAtomTyper::AssignImplicitValence(OBMol &mol)
|
||||
atom->SetImplicitValence(atom->GetValence());
|
||||
}
|
||||
|
||||
//FF moved to OBMol::AssignSpinMultiplicity();
|
||||
//begin CM 18 Sept 2003
|
||||
//if there are any explicit Hs on an atom, then they consitute all the Hs
|
||||
//Any discrepancy with the expected atom valency is because it is a radical of some sort
|
||||
//Also adjust the ImplicitValence for radical atoms
|
||||
//for (atom = mol.BeginAtom(k);atom;atom = mol.NextAtom(k))
|
||||
// {
|
||||
// if (!atom->IsHydrogen() && atom->ExplicitHydrogenCount()!=0)
|
||||
// {
|
||||
// int diff=atom->GetImplicitValence() - (atom->GetHvyValence() + atom->ExplicitHydrogenCount());
|
||||
// if (diff)
|
||||
// atom->SetSpinMultiplicity(diff+1);//radicals =2; all carbenes =3
|
||||
// }
|
||||
|
||||
// int mult=atom->GetSpinMultiplicity();
|
||||
// if(mult) //radical or carbene
|
||||
// atom->DecrementImplicitValence();
|
||||
// if(mult==1 || mult==3) //e.g.singlet or triplet carbene
|
||||
// atom->DecrementImplicitValence();
|
||||
// }
|
||||
//end CM
|
||||
//FF end
|
||||
|
||||
// FF Come back to the initial flags
|
||||
mol.SetFlags(oldflags);
|
||||
|
||||
@@ -281,222 +258,6 @@ void OBAtomTyper::CorrectAromaticNitrogens(OBMol &mol)
|
||||
mol.SetAromaticCorrected();
|
||||
|
||||
return;
|
||||
|
||||
// int j;
|
||||
// OBAtom *atom,*nbr,*a;
|
||||
// vector<OBNodeBase*>::iterator i,m;
|
||||
// vector<OBEdgeBase*>::iterator k;
|
||||
// OBBitVec curr,used,next;
|
||||
// vector<OBNodeBase*> v_N,v_OS;
|
||||
|
||||
// vector<bool> _aromNH;
|
||||
// _aromNH.clear();
|
||||
// _aromNH.resize(mol.NumAtoms()+1);
|
||||
|
||||
// for (atom = mol.BeginAtom(i);atom;atom = mol.NextAtom(i))
|
||||
// if (atom->IsAromatic() && !atom->IsCarbon() && !used[atom->GetIdx()])
|
||||
// {
|
||||
// vector<OBNodeBase*> rsys;
|
||||
// rsys.push_back(atom);
|
||||
// curr |= atom->GetIdx();
|
||||
// used |= atom->GetIdx();
|
||||
|
||||
// while (!curr.Empty())
|
||||
// {
|
||||
// next.Clear();
|
||||
// for (j = curr.NextBit(0);j != curr.EndBit();j = curr.NextBit(j))
|
||||
// {
|
||||
// atom = mol.GetAtom(j);
|
||||
// for (nbr = atom->BeginNbrAtom(k);nbr;nbr = atom->NextNbrAtom(k))
|
||||
// {
|
||||
// if (!(*k)->IsAromatic())
|
||||
// continue;
|
||||
// if (used[nbr->GetIdx()])
|
||||
// continue;
|
||||
|
||||
// rsys.push_back(nbr);
|
||||
// next |= nbr->GetIdx();
|
||||
// used |= nbr->GetIdx();
|
||||
// }
|
||||
// }
|
||||
|
||||
// curr = next;
|
||||
// }
|
||||
|
||||
// //count number of electrons in the ring system
|
||||
// v_N.clear();
|
||||
// v_OS.clear();
|
||||
// int nelectrons = 0;
|
||||
|
||||
// for (m = rsys.begin();m != rsys.end();m++)
|
||||
// {
|
||||
// a = (OBAtom *)*m;
|
||||
|
||||
// int hasExoDoubleBond = false;
|
||||
// for (nbr = a->BeginNbrAtom(k);nbr;nbr = a->NextNbrAtom(k))
|
||||
// if ((*k)->GetBO() == 2 && !(*k)->IsInRing())
|
||||
// if (nbr->IsOxygen() || nbr->IsSulfur() || nbr->IsNitrogen())
|
||||
// hasExoDoubleBond = true;
|
||||
|
||||
// if (a->IsCarbon() && hasExoDoubleBond)
|
||||
// continue;
|
||||
|
||||
// if (a->IsCarbon())
|
||||
// nelectrons++;
|
||||
// else
|
||||
// if (a->IsOxygen() || a->IsSulfur())
|
||||
// {
|
||||
// v_OS.push_back(a);
|
||||
// nelectrons += 2;
|
||||
// }
|
||||
// else
|
||||
// if (a->IsNitrogen())
|
||||
// {
|
||||
// v_N.push_back(a); //store nitrogens
|
||||
// nelectrons++;
|
||||
// }
|
||||
// }
|
||||
|
||||
// //calculate what the number of electrons should be for aromaticity
|
||||
// int naromatic = 2+4*((int)((double)(rsys.size()-2)*0.25+0.5));
|
||||
|
||||
// if (nelectrons > naromatic) //try to give one electron back to O or S
|
||||
// for (m = v_OS.begin();m != v_OS.end();m++)
|
||||
// {
|
||||
// if (naromatic == nelectrons)
|
||||
// break;
|
||||
// if ((*m)->GetValence() == 2 && (*m)->GetHvyValence() == 2)
|
||||
// {
|
||||
// nelectrons--;
|
||||
// ((OBAtom*)*m)->SetFormalCharge(1);
|
||||
// }
|
||||
// }
|
||||
|
||||
// if (v_N.empty())
|
||||
// continue; //no nitrogens found in ring
|
||||
|
||||
// //check for protonated nitrogens
|
||||
// for (m = v_N.begin();m != v_N.end();m++)
|
||||
// {
|
||||
// if (naromatic == nelectrons)
|
||||
// break;
|
||||
// if (((OBAtom*)*m)->GetValence() == 3 &&
|
||||
// ((OBAtom*)*m)->GetHvyValence() == 2)
|
||||
// {
|
||||
// nelectrons++;
|
||||
// _aromNH[((OBAtom*)*m)->GetIdx()] = true;
|
||||
// }
|
||||
// if (((OBAtom*)*m)->GetFormalCharge() == -1)
|
||||
// {
|
||||
// nelectrons++;
|
||||
// _aromNH[((OBAtom*)*m)->GetIdx()] = false;
|
||||
// }
|
||||
// }
|
||||
|
||||
// //charge up tert nitrogens
|
||||
// for (m = v_N.begin();m != v_N.end();m++)
|
||||
// if (((OBAtom*)*m)->GetHvyValence() == 3
|
||||
// && ((OBAtom*)*m)->BOSum() < 5)
|
||||
// ((OBAtom*)*m)->SetFormalCharge(1);
|
||||
|
||||
// //try to uncharge nitrogens first
|
||||
// for (m = v_N.begin();m != v_N.end();m++)
|
||||
// {
|
||||
// if (((OBAtom*)*m)->BOSum() > 4)
|
||||
// continue; //skip n=O
|
||||
// if (naromatic == nelectrons)
|
||||
// break;
|
||||
// if (((OBAtom*)*m)->GetHvyValence() == 3)
|
||||
// {
|
||||
// nelectrons++;
|
||||
// ((OBAtom*)*m)->SetFormalCharge(0);
|
||||
// }
|
||||
// }
|
||||
|
||||
// if (naromatic == nelectrons)
|
||||
// continue;
|
||||
|
||||
// //try to protonate amides next
|
||||
// for (m = v_N.begin();m != v_N.end();m++)
|
||||
// {
|
||||
// if (naromatic == nelectrons)
|
||||
// break;
|
||||
// if (((OBAtom*)*m)->IsAmideNitrogen() &&
|
||||
// ((OBAtom*)*m)->GetValence() == 2 &&
|
||||
// ((OBAtom*)*m)->GetHvyValence() == 2 &&
|
||||
// !_aromNH[((OBAtom*)*m)->GetIdx()])
|
||||
// {
|
||||
// nelectrons++;
|
||||
// _aromNH[((OBAtom*)*m)->GetIdx()] = true;
|
||||
// }
|
||||
// }
|
||||
|
||||
// if (naromatic == nelectrons)
|
||||
// continue;
|
||||
|
||||
// //protonate amines in 5 membered rings first - try to match kekule
|
||||
// for (m = v_N.begin();m != v_N.end();m++)
|
||||
// {
|
||||
// if (naromatic == nelectrons)
|
||||
// break;
|
||||
// if (((OBAtom*)*m)->GetValence() == 2 &&
|
||||
// !_aromNH[((OBAtom*)*m)->GetIdx()] &&
|
||||
// ((OBAtom*)*m)->IsInRingSize(5) &&
|
||||
// ((OBAtom*)*m)->BOSum() == 2)
|
||||
// {
|
||||
// nelectrons++;
|
||||
// _aromNH[((OBAtom*)*m)->GetIdx()] = true;
|
||||
// }
|
||||
// }
|
||||
|
||||
// if (naromatic == nelectrons)
|
||||
// continue;
|
||||
|
||||
// //protonate amines in 5 membered rings first - no kekule restriction
|
||||
// for (m = v_N.begin();m != v_N.end();m++)
|
||||
// {
|
||||
// if (naromatic == nelectrons)
|
||||
// break;
|
||||
// if ((*m)->GetValence() == 2 && !_aromNH[(*m)->GetIdx()] &&
|
||||
// (*m)->IsInRingSize(5))
|
||||
// {
|
||||
// nelectrons++;
|
||||
// _aromNH[(*m)->GetIdx()] = true;
|
||||
// }
|
||||
// }
|
||||
|
||||
// if (naromatic == nelectrons)
|
||||
// continue;
|
||||
|
||||
// //then others -- try to find an atom w/o a double bond first
|
||||
// for (m = v_N.begin();m != v_N.end();m++)
|
||||
// {
|
||||
// if (naromatic == nelectrons)
|
||||
// break;
|
||||
// if (((OBAtom*)*m)->GetHvyValence() == 2 &&
|
||||
// !_aromNH[((OBAtom*)*m)->GetIdx()] &&
|
||||
// !((OBAtom*)*m)->HasDoubleBond())
|
||||
// {
|
||||
// nelectrons++;
|
||||
// _aromNH[(*m)->GetIdx()] = true;
|
||||
// }
|
||||
// }
|
||||
|
||||
// for (m = v_N.begin();m != v_N.end();m++)
|
||||
// {
|
||||
// if (naromatic == nelectrons)
|
||||
// break;
|
||||
// if ((*m)->GetHvyValence() == 2 && !_aromNH[(*m)->GetIdx()])
|
||||
// {
|
||||
// nelectrons++;
|
||||
// _aromNH[(*m)->GetIdx()] = true;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// for (atom = mol.BeginAtom(i);atom;atom = mol.NextAtom(i))
|
||||
// if (_aromNH[atom->GetIdx()] && atom->GetValence() == 2)
|
||||
// atom->SetImplicitValence(3);
|
||||
}
|
||||
|
||||
/*! \class OBAromaticTyper
|
||||
|
||||
@@ -21,7 +21,7 @@ EXTRA_DIST = smartsresults.txt smartstest.txt \
|
||||
cml.sh test-set.sh \
|
||||
matrix.pl unitcell.pl rings.pl \
|
||||
smarts.pl test-set.pl cml.pl \
|
||||
aromatest.pl
|
||||
aromatest.pl aromatics.smi
|
||||
|
||||
matrixtest_SOURCES = matrixtest.cpp
|
||||
ringtest_SOURCES = ringtest.cpp
|
||||
|
||||
@@ -113,6 +113,8 @@ AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_DOCS_FALSE = @BUILD_DOCS_FALSE@
|
||||
BUILD_DOCS_TRUE = @BUILD_DOCS_TRUE@
|
||||
BUILD_INCHI_FALSE = @BUILD_INCHI_FALSE@
|
||||
BUILD_INCHI_TRUE = @BUILD_INCHI_TRUE@
|
||||
BUILD_SCRIPTS_FALSE = @BUILD_SCRIPTS_FALSE@
|
||||
BUILD_SCRIPTS_TRUE = @BUILD_SCRIPTS_TRUE@
|
||||
BUILD_SHARED_FALSE = @BUILD_SHARED_FALSE@
|
||||
@@ -251,7 +253,7 @@ EXTRA_DIST = smartsresults.txt smartstest.txt \
|
||||
cml.sh test-set.sh \
|
||||
matrix.pl unitcell.pl rings.pl \
|
||||
smarts.pl test-set.pl cml.pl \
|
||||
aromatest.pl
|
||||
aromatest.pl aromatics.smi
|
||||
|
||||
matrixtest_SOURCES = matrixtest.cpp
|
||||
ringtest_SOURCES = ringtest.cpp
|
||||
@@ -272,9 +274,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile'; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu test/Makefile
|
||||
$(AUTOMAKE) --foreign test/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
|
||||
@@ -35,14 +35,18 @@ int main(int argc,char *argv[])
|
||||
{
|
||||
if (argc != 2)
|
||||
{
|
||||
cout << "Usage: aromatest <file1>" << endl;
|
||||
cout << "Usage: aromatest <file>" << endl;
|
||||
cout << " Tests aromaticity perception -- all non-hydrogen atoms"
|
||||
<< " are expected to be aromatic." << endl;
|
||||
return(-1);
|
||||
}
|
||||
|
||||
cout << endl << "# Testing aromaticity perception... " << endl;
|
||||
|
||||
ifstream ifs(argv[1]);
|
||||
if (!ifs)
|
||||
{
|
||||
cerr << argv[0] << ": Cannot read input file!" << endl;
|
||||
cout << "Bail out! Cannot read input file!" << endl;
|
||||
return(-1);
|
||||
}
|
||||
|
||||
@@ -52,7 +56,7 @@ int main(int argc,char *argv[])
|
||||
pFormat = conv.FormatFromExt(argv[1]);
|
||||
if ( pFormat == NULL )
|
||||
{
|
||||
cerr << argv[0] << ": Cannot read file format!" << endl;
|
||||
cout << "Bail out! Cannot read file format!" << endl;
|
||||
return(-1);
|
||||
}
|
||||
|
||||
@@ -60,9 +64,11 @@ int main(int argc,char *argv[])
|
||||
OBMol mol;
|
||||
OBAtom *atom;
|
||||
|
||||
unsigned int testCount = 1;
|
||||
|
||||
if (! conv.SetInAndOutFormats(pFormat, pFormat))
|
||||
{
|
||||
ThrowError("File format isn't loaded");
|
||||
cout << "Bail out! File format isn't loaded" << endl;
|
||||
return (-1);
|
||||
}
|
||||
|
||||
@@ -76,16 +82,25 @@ int main(int argc,char *argv[])
|
||||
for(unsigned int i = 1;i <= mol.NumAtoms(); i++)
|
||||
{
|
||||
atom = mol.GetAtom(i);
|
||||
if (!atom->IsHydrogen() && !atom->IsAromatic())
|
||||
if (atom->IsHydrogen())
|
||||
continue;
|
||||
|
||||
if (atom->IsAromatic())
|
||||
cout << "ok " << testCount++ << endl;
|
||||
else
|
||||
{
|
||||
cerr << "Atom isn't aromatic!" << endl;
|
||||
cerr << " atom idx " << i
|
||||
<< " in molecule " << molCount << endl;
|
||||
return(-1);
|
||||
cout << "not ok " << testCount++ << " # atom isn't aromatic!"
|
||||
<< endl;
|
||||
cout << "# atom idx " << i
|
||||
<< " in molecule " << molCount << " "
|
||||
<< mol.GetTitle() << endl;
|
||||
}
|
||||
}
|
||||
|
||||
} // while reading molecules
|
||||
|
||||
// output the number of tests run
|
||||
cout << "1.." << testCount-1 << endl;
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
system("./aromatest");
|
||||
system("./aromatest aromatics.smi");
|
||||
|
||||
# If the program failed to execute, ignore the test
|
||||
if ($? == -1) {
|
||||
|
||||
38
test/aromatics.smi
Normal file
38
test/aromatics.smi
Normal file
@@ -0,0 +1,38 @@
|
||||
c1ccco1 furan
|
||||
c1cccs1 thiophene
|
||||
c1cncs1 thiazole
|
||||
c1cnco1 oxazole
|
||||
c1ccno1 isoxazole
|
||||
c1nnco1 1,3,4-oxadiazole
|
||||
n1ccno1 1,2,5-oxadiazole
|
||||
c1ncno1 1,2,4-oxadiazole
|
||||
c1cnno1 1,2,3-oxadiazole
|
||||
n1cnno1 1,2,3,5-oxatriazole
|
||||
c1nnno1 1,2,3,4-oxatriazole
|
||||
c1ccns1 isothaizole
|
||||
c1nncs1 1,3,4-thiadiazole
|
||||
c1cnns1 1,2,3-thiadiazole
|
||||
n1ccns1 1,2,5-thiadiazole
|
||||
c1ncns1 1,2,4-thiadiazole
|
||||
c1nnns1 1,2,3,4-thiatriazole
|
||||
n1cnns1 1,2,3,4-thiatriazole
|
||||
c1ccc[se]1 selenophene
|
||||
c1ccccc1 benzene
|
||||
c1ccccn1 pyridine
|
||||
c1ccnnn1 1,2,3-triazine
|
||||
c1cncnn1 1,2,4-triazine
|
||||
c1ncncn1 s-triazine
|
||||
c1ccncn1 pyrimidine
|
||||
c1cnccn1 pyrazine
|
||||
c1cccnn1 pyridazine
|
||||
c1nncnn1 1,2,4,5-tetrazine
|
||||
c1cnnnn1 1,2,3,4-tetrazine
|
||||
n1cnnnc1 1,2,3,5-tetrazine
|
||||
c12ccccc1cccc2 naphthalene
|
||||
c12ccccc1cc3c(cccc3)c2 anthracene
|
||||
c12cccnc1cccc2 quinoline
|
||||
c12cccc1ccccc2 azulene
|
||||
n1nncc1 1H-1,2,3-triazole
|
||||
n1nnnc1 1H-tetrazole
|
||||
n1nccc1 1H-pyrazole
|
||||
n1ncnc1 1H-1,2,4-triazole
|
||||
@@ -60,6 +60,8 @@ AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_DOCS_FALSE = @BUILD_DOCS_FALSE@
|
||||
BUILD_DOCS_TRUE = @BUILD_DOCS_TRUE@
|
||||
BUILD_INCHI_FALSE = @BUILD_INCHI_FALSE@
|
||||
BUILD_INCHI_TRUE = @BUILD_INCHI_TRUE@
|
||||
BUILD_SCRIPTS_FALSE = @BUILD_SCRIPTS_FALSE@
|
||||
BUILD_SCRIPTS_TRUE = @BUILD_SCRIPTS_TRUE@
|
||||
BUILD_SHARED_FALSE = @BUILD_SHARED_FALSE@
|
||||
@@ -198,9 +200,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/cmltest/Makefile'; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/cmltest/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu test/cmltest/Makefile
|
||||
$(AUTOMAKE) --foreign test/cmltest/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
|
||||
@@ -5,11 +5,13 @@
|
||||
# call, in case the test is called from somewhere eles
|
||||
if `env | grep ^builddir > /dev/null 2>&1`; then
|
||||
BABEL=$builddir/../src/babel
|
||||
export BABEL_LIBDIR="$builddir/../src/formats/.libs:$builddir/../src/formats/xml/.libs"
|
||||
BABEL_LIBDIR="$builddir/../src/formats/.libs:$builddir/../src/formats/xml/.libs"
|
||||
export BABEL_LIBDIR
|
||||
else
|
||||
builddir=..
|
||||
BABEL=../../src/babel
|
||||
export BABEL_LIBDIR="`pwd`/../../src/formats/.libs:`pwd`/../../src/formats/xml/.libs"
|
||||
BABEL_LIBDIR="../../src/formats/.libs:../../src/formats/xml/.libs"
|
||||
export BABEL_LIBDIR
|
||||
fi
|
||||
|
||||
# test input
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -54,7 +54,6 @@
|
||||
cout << endl << "# Testing SMARTS... " << endl;
|
||||
|
||||
#ifdef TESTDATADIR
|
||||
|
||||
string testdatadir = TESTDATADIR;
|
||||
string smarts_file = testdatadir + "smartstest.txt";
|
||||
string results_file = testdatadir + "smartsresults.txt";
|
||||
|
||||
@@ -2,12 +2,13 @@
|
||||
|
||||
# Run "prove" on all Perl programs
|
||||
|
||||
TESTS="matrix.pl unitcell.pl rings.pl smarts.pl cml.pl test-set.pl"
|
||||
TESTS="matrix.pl unitcell.pl rings.pl smarts.pl aromatest.pl cml.pl test-set.pl"
|
||||
PROVE=prove
|
||||
|
||||
if [ -d ../src/formats/.libs ]; then
|
||||
if [ "x${BABEL_LIBDIR}" = "x" ]; then
|
||||
export BABEL_LIBDIR="`pwd`/../src/formats/.libs:`pwd`/../src/formats/xml/.libs"
|
||||
BABEL_LIBDIR="`pwd`/../src/formats/.libs:`pwd`/../src/formats/xml/.libs"
|
||||
export BABEL_LIBDIR
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
@@ -92,12 +92,15 @@ AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_DOCS_FALSE = @BUILD_DOCS_FALSE@
|
||||
BUILD_DOCS_TRUE = @BUILD_DOCS_TRUE@
|
||||
BUILD_INCHI_FALSE = @BUILD_INCHI_FALSE@
|
||||
BUILD_INCHI_TRUE = @BUILD_INCHI_TRUE@
|
||||
BUILD_SCRIPTS_FALSE = @BUILD_SCRIPTS_FALSE@
|
||||
BUILD_SCRIPTS_TRUE = @BUILD_SCRIPTS_TRUE@
|
||||
BUILD_SHARED_FALSE = @BUILD_SHARED_FALSE@
|
||||
@@ -122,6 +125,7 @@ CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DOXYGEN = @DOXYGEN@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
@@ -146,6 +150,7 @@ MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
@@ -172,9 +177,12 @@ XML2_CONFIG = @XML2_CONFIG@
|
||||
XML_CPPFLAGS = @XML_CPPFLAGS@
|
||||
XML_LIBS = @XML_LIBS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_AS = @ac_ct_AS@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
@@ -246,9 +254,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/Makefile'; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tools/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu tools/Makefile
|
||||
$(AUTOMAKE) --foreign tools/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
|
||||
Reference in New Issue
Block a user