├── .gitmodules ├── src ├── chem │ ├── .gitignore │ ├── configure_symbol_scrape.py │ ├── configure_symbol_scrape.pyc │ └── lispClasses │ │ ├── atomGrid.fwd.h │ │ └── table.fwd.h ├── .gitignore ├── lisp │ ├── smarts │ │ ├── version-string.sexp │ │ ├── examples │ │ │ ├── test.smarts │ │ │ ├── ethane.smiles │ │ │ └── test2.smarts │ │ ├── bison-smarts │ │ │ ├── smarts.lisp │ │ │ └── smarts.asd │ │ ├── figures │ │ │ └── metamodel.png │ │ ├── src │ │ │ ├── smiles │ │ │ │ └── parser │ │ │ │ │ ├── variables.lisp │ │ │ │ │ ├── test.lisp │ │ │ │ │ ├── protocol.lisp │ │ │ │ │ └── package.lisp │ │ │ └── smarts │ │ │ │ └── parser │ │ │ │ ├── trash.lisp │ │ │ │ ├── package.lisp │ │ │ │ ├── protocol.lisp │ │ │ │ └── test.lisp │ │ ├── smarts.asd │ │ └── language.smarts.language-server.asd │ ├── leap-commands │ │ ├── commands.lisp │ │ └── leap-commands.asd │ ├── topology │ │ ├── README.md │ │ ├── commands.lisp │ │ ├── readtable.lisp │ │ ├── workbench.lisp │ │ ├── packages-jupyter.lisp │ │ ├── topology-jupyter.asd │ │ ├── packages-foldamer.lisp │ │ ├── documentation.lisp │ │ ├── serial.lisp │ │ └── topology.asd │ ├── pas │ │ ├── README.md │ │ ├── pas.asd │ │ └── packages.lisp │ ├── leap │ │ ├── prep.lisp │ │ ├── sequence.lisp │ │ ├── parmchk2.lisp │ │ ├── atom-types.lisp │ │ ├── leap.asd │ │ ├── easy.lisp │ │ └── cando-database.lisp │ ├── docs │ │ └── documentation.md │ ├── chem-extras │ │ ├── packages.lisp │ │ └── chem-extras.asd │ ├── sketch2d │ │ ├── examples │ │ │ ├── .ipynb_checkpoints │ │ │ │ └── Untitled-checkpoint.ipynb │ │ │ ├── examples.lisp │ │ │ └── test.svg │ │ └── sketch2d.asd │ ├── cando │ │ ├── candoview │ │ │ ├── packages.lisp │ │ │ ├── molview.asd │ │ │ └── candoview.asd │ │ ├── units.lisp │ │ ├── utility │ │ │ ├── packages.lisp │ │ │ ├── utility.asd │ │ │ └── directories.lisp │ │ ├── documentation.lisp │ │ ├── modelling │ │ │ ├── modelling.asd │ │ │ └── modelling.lisp │ │ ├── geometry │ │ │ └── geometry.asd │ │ ├── inet │ │ │ ├── inet.asd │ │ │ └── inet.lisp │ │ ├── aromaticity │ │ │ └── aromaticity.asd │ │ ├── smirnoff │ │ │ ├── workbench.lisp │ │ │ ├── smirnoff.asd │ │ │ └── assign.lisp │ │ ├── charges │ │ │ └── charges.asd │ │ ├── basic.lisp │ │ ├── environment.lisp │ │ ├── stereochemistry.lisp │ │ ├── chemistry.lisp │ │ ├── constitution.lisp │ │ └── search.lisp │ ├── kinematics-extras │ │ ├── packages.lisp │ │ ├── kinematics.lisp │ │ └── kinematics-extras.asd │ ├── tirun │ │ ├── makefile │ │ ├── test.lisp │ │ ├── tirun-version.lisp │ │ ├── README.md │ │ └── gml.lisp │ ├── lomap │ │ ├── README.md │ │ ├── lomap.asd │ │ └── src │ │ │ └── packages.lisp │ ├── cando-user-install │ │ ├── packages.lisp │ │ └── cando-user-install.asd │ ├── geometry-tests │ │ ├── packages.lisp │ │ └── geometry-tests.asd │ ├── solid-modeller │ │ ├── packages.lisp │ │ └── solid-modeller.asd │ ├── cando-primop │ │ └── cando-primop.asd │ ├── cando-serialize │ │ └── cando-serialize.asd │ ├── chem-info │ │ ├── pucker.lisp │ │ └── chem-info.asd │ ├── smiles │ │ └── smiles.asd │ ├── yampi │ │ ├── yampi.asd │ │ └── packages.lisp │ ├── cando-build │ │ ├── cando-build.asd │ │ └── build.lisp │ ├── numscl │ │ ├── numscl.asd │ │ └── integrate.lisp │ ├── spanning │ │ ├── spanning.asd │ │ └── packages.lisp │ ├── smarts-jupyter │ │ └── smarts-jupyter.asd │ ├── amber │ │ ├── amber.asd │ │ ├── amber-jupyter.asd │ │ ├── params.lisp │ │ └── examples │ │ │ └── smilesModelBuilding.lisp │ ├── regression-tests │ │ ├── data │ │ │ └── frcmod.pho │ │ ├── spanning-tree.lisp │ │ ├── leap.lisp │ │ ├── run-all.lisp │ │ └── geometry.lisp │ ├── render │ │ └── packages.lisp │ ├── cando-sdf │ │ └── cando-sdf.asd │ ├── cando-jupyter │ │ └── cando-jupyter.asd │ ├── molecule-graph │ │ ├── molecule-graph.asd │ │ └── packages.lisp │ ├── structure-editor │ │ ├── structure-editor.asd │ │ └── packages.lisp │ ├── tirun-jupyter │ │ ├── tirun-jupyter.asd │ │ └── packages.lisp │ ├── cando-user │ │ ├── cando-user.asd │ │ └── graphviz.lisp │ └── cando-widgets │ │ ├── cando-widgets.asd │ │ └── packages.lisp ├── data │ ├── force-field │ │ └── .gitignore │ ├── molecules │ │ ├── others.cdx │ │ └── chanmon0.cdx │ └── common │ │ ├── serialize.lisp │ │ └── runcmd_with_docker ├── tests │ ├── alanine-demo │ │ ├── .gitignore │ │ ├── 01_Min.in │ │ ├── mdinfo │ │ ├── 01_Heat.in │ │ ├── restrt │ │ ├── alanine_cando.crd │ │ └── workbench.lisp │ ├── charge │ │ └── example.cdx │ ├── boron │ │ ├── arylboronate2d.png │ │ ├── boron parameters.xlsx │ │ ├── boronic_acid.dat │ │ └── frcmod.boronic-ester │ ├── tiny │ │ └── 01_Min.in │ └── smarts │ │ └── smarts-tests.lisp ├── main │ ├── _symbolTableAfterBuild.txt │ ├── cscript.lisp │ ├── foo.lisp │ ├── mymps.c │ ├── tgc.sh │ ├── mainMpi.cc │ ├── allHeaders.cc │ └── tub.sh ├── geom │ ├── configure_symbol_scrape.py │ ├── configure_symbol_scrape.pyc │ ├── symbols.lisp │ ├── cscript.lisp │ ├── Jamfile.jam │ └── t.sh ├── adapt │ ├── configure_symbol_scrape.py │ └── cscript.lisp ├── examples │ ├── lysozyme-tirun │ │ ├── .gitignore │ │ ├── ligands.png │ │ ├── setup.env │ │ ├── bnz_phn.pdb │ │ └── tirun.leaprc │ └── thrombin-tirun │ │ ├── ligand2.png │ │ └── ligand3.png ├── units │ ├── configure_symbol_scrape.py │ ├── registerSignals.log │ ├── configure_symbol_scrape.pyc │ ├── cscript.lisp │ ├── initScripting.inc │ ├── Jamfile.jam │ ├── initSignals.inc │ ├── symbols.inc │ ├── symbols.m4 │ ├── makefile │ └── tu.l ├── mathematica │ └── makefile ├── kinematics │ ├── configure_symbol_scrape.pyc │ ├── configure_symbol_scrape.py │ └── cscript.lisp ├── makefile ├── openmmPackage │ ├── configure_symbol_scrape.py │ ├── symbols.m4 │ ├── makefile │ └── otherPackageClasses.h └── cscript.lisp ├── documentation ├── CANDO_map.png ├── tex-dependencies ├── strip-dependence ├── cando.tex └── Makefile ├── include ├── cscript.lisp └── cando │ ├── chem │ ├── energy_functions │ │ ├── _ImproperRestraint_debugEvalDeclares.cc │ │ ├── _Oozp_debugEvalDeclares.cc │ │ ├── _AnchorRestraint_debugEvalDeclares.cc │ │ ├── _ImproperRestraint_debugEvalSet.cc │ │ ├── _FixedNonbond_debugEvalDeclares.cc │ │ ├── _PointToLineRestraint_debugEvalDeclares.cc │ │ ├── _Oozp_debugEvalSet.cc │ │ ├── _Oozp_termDeclares.cc │ │ ├── _AnchorRestraint_debugEvalSet.cc │ │ ├── _NONBONDRBPB_debugEvalDeclares.cc │ │ ├── _PointToLineRestraint_debugEvalSet.cc │ │ ├── _FixedNonbond_debugEvalSet.cc │ │ ├── _AnchorRestraint_termDeclares.cc │ │ ├── _Erep_debugEvalDeclares.cc │ │ ├── _Stretch_debugEvalDeclares.cc │ │ ├── _Nonbond_debugEvalDeclares.cc │ │ ├── _NONBONDRBPB_debugEvalSet.cc │ │ ├── _Erep_debugEvalSet.cc │ │ ├── _ImproperRestraint_debugEvalSerialize.cc │ │ ├── _Stretch_debugEvalSet.cc │ │ ├── _Oozp_debugEvalSerialize.cc │ │ ├── _NONBONDRBPB_POSITIONS_termDeclares.cc │ │ ├── _AnchorRestraint_debugEvalSerialize.cc │ │ ├── _Nonbond_debugEvalSet.cc │ │ └── _Angle_debugEvalDeclares.cc │ ├── units_scrape_flag.h │ ├── alias.fwd.h │ ├── command.fwd.h │ ├── matter.fwd.h │ ├── atomId.fwd.h │ ├── molecule.fwd.h │ ├── oligomer.fwd.h │ ├── aggregate.fwd.h │ ├── alchemist.fwd.h │ ├── ffTypesDb.fwd.h │ ├── pdb.fwd.h │ ├── coordSys.fwd.h │ ├── loop.fwd.h │ ├── energyAngle.fwd.h │ ├── ffVdwDb.fwd.h │ ├── virtualAtom.fwd.h │ └── spanningLoop.fwd.h │ ├── energy-functions │ ├── _STAPLE_debugEvalDeclares.cc │ ├── _NONBONDRB_debugEvalDeclares.cc │ ├── _STAPLE_debugEvalSet.cc │ ├── _NONBONDRB_debugEvalSet.cc │ └── _NONBOND_POSITIONS_termDeclares.cc │ ├── adapt │ ├── generated │ │ └── _symbolTableAfterBuild.txt │ ├── adapters.h │ ├── retired │ │ └── objRef.fwd.h │ ├── objectSet.fwd.h │ ├── symbolSet.fwd.h │ ├── symbolList.fwd.h │ ├── iterateCons.fwd.h │ └── quickDom.fwd.h │ ├── geom │ ├── otherPackageClasses.h │ ├── color.fwd.h │ ├── archive │ │ ├── range.fwd.h │ │ └── container.fwd.h │ ├── omatrix.fwd.h │ ├── vector3.fwd.h │ ├── ovector2.fwd.h │ └── ovector3.fwd.h │ ├── units │ └── otherPackageClasses.h │ └── kinematics │ └── old │ └── otherPackageClasses.h ├── .gitignore ├── .github └── dependabot.yml ├── .clang-format ├── cscript.lisp ├── chem-lisp └── print-read.lisp ├── cando-user-install └── docker └── Dockerfile /.gitmodules: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/chem/.gitignore: -------------------------------------------------------------------------------- 1 | *.output -------------------------------------------------------------------------------- /src/.gitignore: -------------------------------------------------------------------------------- 1 | bin/ 2 | *.log 3 | *.pyc -------------------------------------------------------------------------------- /src/lisp/smarts/version-string.sexp: -------------------------------------------------------------------------------- 1 | "0.1.0" -------------------------------------------------------------------------------- /src/data/force-field/.gitignore: -------------------------------------------------------------------------------- 1 | .ipynb_checkpoints/* -------------------------------------------------------------------------------- /src/tests/alanine-demo/.gitignore: -------------------------------------------------------------------------------- 1 | .ipynb_checkpoints/* -------------------------------------------------------------------------------- /src/lisp/leap-commands/commands.lisp: -------------------------------------------------------------------------------- 1 | #| nothing |# 2 | -------------------------------------------------------------------------------- /src/lisp/smarts/examples/test.smarts: -------------------------------------------------------------------------------- 1 | [a]1#[Br@SP3]N1 2 | -------------------------------------------------------------------------------- /src/lisp/topology/README.md: -------------------------------------------------------------------------------- 1 | # topology 2 | # topology 3 | -------------------------------------------------------------------------------- /src/main/_symbolTableAfterBuild.txt: -------------------------------------------------------------------------------- 1 | // symbolTable 2 | -------------------------------------------------------------------------------- /src/lisp/smarts/examples/ethane.smiles: -------------------------------------------------------------------------------- 1 | bla 2 | bla 3 | bla 4 | -------------------------------------------------------------------------------- /src/lisp/topology/commands.lisp: -------------------------------------------------------------------------------- 1 | (in-package :foldamer) 2 | 3 | -------------------------------------------------------------------------------- /src/lisp/topology/readtable.lisp: -------------------------------------------------------------------------------- 1 | (in-package :topology) 2 | 3 | -------------------------------------------------------------------------------- /src/main/cscript.lisp: -------------------------------------------------------------------------------- 1 | (k:sources :libclasp #~"extension.cc") 2 | -------------------------------------------------------------------------------- /src/chem/configure_symbol_scrape.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | packageName = "ChemPkg" 4 | -------------------------------------------------------------------------------- /src/geom/configure_symbol_scrape.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | packageName = "GeomPkg" 4 | -------------------------------------------------------------------------------- /src/lisp/pas/README.md: -------------------------------------------------------------------------------- 1 | # Positional Analogue Scanning for Cando 2 | 3 | -------------------------------------------------------------------------------- /src/lisp/smarts/bison-smarts/smarts.lisp: -------------------------------------------------------------------------------- 1 | (in-package :smarts) 2 | 3 | -------------------------------------------------------------------------------- /src/adapt/configure_symbol_scrape.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | packageName = "AdaptPkg" 4 | -------------------------------------------------------------------------------- /src/examples/lysozyme-tirun/.gitignore: -------------------------------------------------------------------------------- 1 | .ipynb_checkpoints 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /src/units/configure_symbol_scrape.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | packageName = "UnitsPkg" 4 | -------------------------------------------------------------------------------- /src/units/registerSignals.log: -------------------------------------------------------------------------------- 1 | initSignals.inc will be unchanged --> NOT UPDATED 2 | -------------------------------------------------------------------------------- /src/main/foo.lisp: -------------------------------------------------------------------------------- 1 | (defun a () (break "test")) 2 | (defun b () (a)) 3 | (defun c () (b)) 4 | -------------------------------------------------------------------------------- /src/lisp/leap/prep.lisp: -------------------------------------------------------------------------------- 1 | 2 | (in-package :amber-prep) 3 | 4 | (defun parse-atom (line) 5 | 6 | -------------------------------------------------------------------------------- /src/mathematica/makefile: -------------------------------------------------------------------------------- 1 | 2 | install: 3 | install -c _*.cc ../../include/cando/energy-functions/ 4 | -------------------------------------------------------------------------------- /documentation/CANDO_map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/HEAD/documentation/CANDO_map.png -------------------------------------------------------------------------------- /include/cscript.lisp: -------------------------------------------------------------------------------- 1 | (k:includes #~"" #~"cando/main/") 2 | 3 | (k:sources :install-code #~"cando/") 4 | 5 | -------------------------------------------------------------------------------- /src/lisp/docs/documentation.md: -------------------------------------------------------------------------------- 1 | # Welcome to Cando 2 | 3 | This is the documentation body of the first page! 4 | -------------------------------------------------------------------------------- /src/data/molecules/others.cdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/HEAD/src/data/molecules/others.cdx -------------------------------------------------------------------------------- /src/lisp/smarts/examples/test2.smarts: -------------------------------------------------------------------------------- 1 | ([br]1(#[N,++;@AL3]1([A,a,*]~Br/?Br-Br[Br++])=[8Al:10]1[Br@:10]))[Br@SP1] 2 | -------------------------------------------------------------------------------- /src/tests/charge/example.cdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/HEAD/src/tests/charge/example.cdx -------------------------------------------------------------------------------- /src/data/molecules/chanmon0.cdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/HEAD/src/data/molecules/chanmon0.cdx -------------------------------------------------------------------------------- /src/tests/boron/arylboronate2d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/HEAD/src/tests/boron/arylboronate2d.png -------------------------------------------------------------------------------- /src/chem/configure_symbol_scrape.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/HEAD/src/chem/configure_symbol_scrape.pyc -------------------------------------------------------------------------------- /src/geom/configure_symbol_scrape.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/HEAD/src/geom/configure_symbol_scrape.pyc -------------------------------------------------------------------------------- /src/geom/symbols.lisp: -------------------------------------------------------------------------------- 1 | (load "../common/symbolCreation.lisp") 2 | 3 | 4 | (currentPackage "ExtPkg") 5 | 6 | 7 | (finish) 8 | 9 | -------------------------------------------------------------------------------- /src/lisp/smarts/figures/metamodel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/HEAD/src/lisp/smarts/figures/metamodel.png -------------------------------------------------------------------------------- /src/tests/boron/boron parameters.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/HEAD/src/tests/boron/boron parameters.xlsx -------------------------------------------------------------------------------- /src/units/configure_symbol_scrape.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/HEAD/src/units/configure_symbol_scrape.pyc -------------------------------------------------------------------------------- /src/examples/lysozyme-tirun/ligands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/HEAD/src/examples/lysozyme-tirun/ligands.png -------------------------------------------------------------------------------- /src/examples/thrombin-tirun/ligand2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/HEAD/src/examples/thrombin-tirun/ligand2.png -------------------------------------------------------------------------------- /src/examples/thrombin-tirun/ligand3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/HEAD/src/examples/thrombin-tirun/ligand3.png -------------------------------------------------------------------------------- /src/lisp/chem-extras/packages.lisp: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | (defpackage #:chem.extras 5 | (:use #:common-lisp) 6 | (:export 7 | )) 8 | 9 | -------------------------------------------------------------------------------- /src/kinematics/configure_symbol_scrape.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/HEAD/src/kinematics/configure_symbol_scrape.pyc -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | local.config 2 | **/*.fasl 3 | **/*.o 4 | **/*.bc 5 | **/.bak 6 | *.fasl 7 | *.dwarf 8 | *.info 9 | *~ 10 | .ipynb_checkpoints 11 | \#*\# -------------------------------------------------------------------------------- /src/examples/lysozyme-tirun/setup.env: -------------------------------------------------------------------------------- 1 | export LD_LIBRARY_PATH=/usr/local/cuda/lib64 && sudo ldconfig 2 | export PATH=~/Development/cando/build/boehm:$PATH 3 | -------------------------------------------------------------------------------- /src/lisp/topology/workbench.lisp: -------------------------------------------------------------------------------- 1 | (ql:quickload :topology) 2 | 3 | 4 | 5 | (defparameter confs (cando.serialize:load-cando "conformations.cando")) 6 | 7 | -------------------------------------------------------------------------------- /src/makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | SRC-SUB-DIRS = geom units adapt chem # kinematics 4 | 5 | sub-prebuild: 6 | $(foreach var,$(SRC-SUB-DIRS), make -C $(var)/ $@; ) 7 | -------------------------------------------------------------------------------- /src/kinematics/configure_symbol_scrape.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | packageName = "KinPkg" 4 | symbolsOutput = "symbols_scraped_inc.h" 5 | exportOutput = "symbols_exported_inc.h" 6 | -------------------------------------------------------------------------------- /src/lisp/sketch2d/examples/.ipynb_checkpoints/Untitled-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [], 3 | "metadata": {}, 4 | "nbformat": 4, 5 | "nbformat_minor": 2 6 | } 7 | -------------------------------------------------------------------------------- /src/openmmPackage/configure_symbol_scrape.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | packageName = "OmmPkg" 4 | symbolsOutput = "symbols_scraped.inc" 5 | exportOutput = "symbols_exported.inc" 6 | -------------------------------------------------------------------------------- /src/lisp/cando/candoview/packages.lisp: -------------------------------------------------------------------------------- 1 | 2 | (defpackage #:molview 3 | (:use :cl) 4 | (:export 5 | #:molview 6 | #:view 7 | #:current-aggregate-set 8 | )) 9 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "github-actions" 4 | directory: "/.github/workflows/" 5 | schedule: 6 | interval: "weekly" 7 | -------------------------------------------------------------------------------- /src/lisp/kinematics-extras/packages.lisp: -------------------------------------------------------------------------------- 1 | (defpackage #:kin.extras 2 | (:use #:common-lisp) 3 | (:export 4 | #:kinematics-error 5 | #:undefined-internal-coordinates 6 | )) 7 | -------------------------------------------------------------------------------- /src/lisp/leap/sequence.lisp: -------------------------------------------------------------------------------- 1 | 2 | (in-package :leap.sequence) 3 | 4 | 5 | #+(or) 6 | (defun sequence (args) 7 | (format t "This is where the sequence magic happens args: ~a~%" args)) 8 | -------------------------------------------------------------------------------- /src/lisp/tirun/makefile: -------------------------------------------------------------------------------- 1 | 2 | git-version: 3 | echo "(in-package :tirun)" > src/tirun-version.lisp 4 | echo "(defparameter *version* \"`git rev-parse HEAD`\")" >> src/tirun-version.lisp 5 | -------------------------------------------------------------------------------- /src/lisp/lomap/README.md: -------------------------------------------------------------------------------- 1 | # An implementation the lomap algorithm for Cando 2 | 3 | Journal of Computer-Aided Molecular Design volume 27, pages755–770(2013) 4 | doi: 10.1007/s10822-013-9678-y 5 | -------------------------------------------------------------------------------- /.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | Language: Cpp 3 | BasedOnStyle: LLVM 4 | ColumnLimit: 132 5 | SortIncludes: false 6 | WhitespaceSensitiveMacros: ['CL_LAMBDA', 'CL_LISPIFY_NAME', 'CL_DECLARE', 'CL_NAME'] 7 | ... 8 | -------------------------------------------------------------------------------- /src/units/cscript.lisp: -------------------------------------------------------------------------------- 1 | (k:sources :libclasp 2 | #~"dimension.cc" 3 | #~"unit.cc" 4 | #~"namedUnit.cc" 5 | #~"quantity.cc" 6 | #~"unitsPackage.cc") 7 | 8 | -------------------------------------------------------------------------------- /src/lisp/cando-user-install/packages.lisp: -------------------------------------------------------------------------------- 1 | (defpackage #:cando-user-install 2 | (:use #:common-lisp) 3 | (:export #:install 4 | #:*snapshot-timestamp* 5 | #:update 6 | #:updatep)) -------------------------------------------------------------------------------- /src/lisp/tirun/test.lisp: -------------------------------------------------------------------------------- 1 | ;;; Copyright (c) 2019, Christian E. Schafmeister 2 | ;;; Published under the GPL 2.0. See COPYING 3 | ;;; 4 | 5 | (defun foo () 6 | (asdfjasdfjasdf) 7 | (print "Hello world")) 8 | 9 | -------------------------------------------------------------------------------- /src/tests/tiny/01_Min.in: -------------------------------------------------------------------------------- 1 | Minimize 2 | &cntrl 3 | imin=1, 4 | ntb=0, 5 | igb=0, 6 | ntx=1, 7 | ntxo=1, 8 | irest=0, 9 | maxcyc=0, 10 | ncyc=0, 11 | ntpr=5, 12 | ntwx=0, 13 | cut=20.0, 14 | / 15 | -------------------------------------------------------------------------------- /src/lisp/cando/units.lisp: -------------------------------------------------------------------------------- 1 | (in-package :units) 2 | 3 | ;;; 4 | ;;; Extra functionality for units 5 | ;;; 6 | 7 | (defmethod print-object ((obj units:quantity) stream) 8 | (format stream "~a" (core:repr obj))) 9 | 10 | -------------------------------------------------------------------------------- /documentation/tex-dependencies: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #set -x 4 | TEXFILES=$(./strip-dependence inputtex $1) 5 | echo -n $TEXFILES 6 | for i in $TEXFILES 7 | do 8 | echo -n " " $(./tex-dependencies $i) 9 | done 10 | echo 11 | -------------------------------------------------------------------------------- /src/lisp/topology/packages-jupyter.lisp: -------------------------------------------------------------------------------- 1 | 2 | (cl:in-package #:common-lisp-user) 3 | 4 | (defpackage #:topology-jupyter 5 | (:use #:cl) 6 | (:nicknames #:tj) 7 | (:shadow #:class) 8 | (:export 9 | #:sketch-svg)) 10 | -------------------------------------------------------------------------------- /src/tests/alanine-demo/01_Min.in: -------------------------------------------------------------------------------- 1 | Minimize 2 | &cntrl 3 | imin=1, 4 | ntb=0, 5 | igb=0, 6 | ntx=1, 7 | ntxo=1, 8 | irest=0, 9 | maxcyc=0, 10 | ncyc=0, 11 | ntpr=5, 12 | ntwx=0, 13 | cut=1000.0, 14 | / 15 | -------------------------------------------------------------------------------- /cscript.lisp: -------------------------------------------------------------------------------- 1 | (k:recurse #P"include/" #P"src/") 2 | 3 | (k:systems :cando-user) 4 | 5 | (k:sources :install-bin 6 | #~"cando-user-install" 7 | #~"cando-apptainer-install" 8 | #~"scando-apptainer-install") 9 | -------------------------------------------------------------------------------- /src/lisp/sketch2d/examples/examples.lisp: -------------------------------------------------------------------------------- 1 | (ql:quickload :sketch2d) 2 | 3 | (defparameter *agg* (load-mol2 "017.mol2")) 4 | 5 | (defparameter *mol* (chem:content-at *agg* 0)) 6 | 7 | (defparameter *d* (sketch2d::sketch2d-dynamics *mol*))o 8 | -------------------------------------------------------------------------------- /src/lisp/tirun/tirun-version.lisp: -------------------------------------------------------------------------------- 1 | ;;; Copyright (c) 2019, Christian E. Schafmeister 2 | ;;; Published under the GPL 2.0. See COPYING 3 | ;;; 4 | 5 | (in-package :tirun) 6 | (defparameter *version* "b4da22a456bb6f2797215049181201be92897ccc") 7 | -------------------------------------------------------------------------------- /documentation/strip-dependence: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | CHAINE=$1 3 | MOTIF="^\\\\$CHAINE\{.*\}" 4 | shift 5 | for i in $* 6 | do 7 | egrep $MOTIF $i \ 8 | | sed "s/^\\\\$CHAINE{\(.*\)}/\1/" \ 9 | | tr ['\n'] [' '] 10 | done 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/units/initScripting.inc: -------------------------------------------------------------------------------- 1 | // ---------------- python initializers 2 | #ifdef USEBOOSTPYTHON 3 | #ifdef EXPOSE_TO_PYTHON 4 | #endif // EXPOSE_TO_PYTHON 5 | #endif 6 | // ---------------- after class initializers 7 | #ifdef EXPOSE_TO_PYTHON 8 | #endif // EXPOSE_TO_PYTHON 9 | -------------------------------------------------------------------------------- /src/lisp/cando/utility/packages.lisp: -------------------------------------------------------------------------------- 1 | (cl:in-package #:common-lisp-user) 2 | 3 | (defpackage #:cando-utility 4 | (:use #:common-lisp) 5 | (:export 6 | #:|:=| 7 | #:mkdir 8 | #:set-current-directory 9 | #:current-directory 10 | #:directory-files 11 | #:home/)) 12 | -------------------------------------------------------------------------------- /src/lisp/cando/documentation.lisp: -------------------------------------------------------------------------------- 1 | 2 | (in-package :cando) 3 | 4 | (mgl-pax:defsection @cando-manual (:title "CANDO manual") 5 | "Documentation for CANDO" 6 | (@cando-align mgl-pax:section)) 7 | 8 | 9 | (mgl-pax:defsection @cando-align (:title "Align structures") 10 | (align-atoms function)) 11 | -------------------------------------------------------------------------------- /src/openmmPackage/symbols.m4: -------------------------------------------------------------------------------- 1 | include(`../common/symbols.m4') 2 | 3 | 4 | currentPackage(OmmPkg) 5 | 6 | 7 | symbol(positions) 8 | symbol(velocities) 9 | symbol(forces) 10 | symbol(energy) 11 | symbol(parameters) 12 | symbol2(enforcePeriodicBox,enforce-periodic-box) 13 | 14 | 15 | 16 | 17 | finish() -------------------------------------------------------------------------------- /src/lisp/geometry-tests/packages.lisp: -------------------------------------------------------------------------------- 1 | ;; -^- 2 | (cl:in-package #:common-lisp-user) 3 | 4 | (defpackage #:geometry-tests 5 | (:use #:cl ) 6 | (:nicknames :gt) 7 | (:export 8 | #:plane-from-atoms 9 | ) 10 | (:documentation 11 | "Run tests on geometry to determine if there are problems")) 12 | -------------------------------------------------------------------------------- /src/lisp/solid-modeller/packages.lisp: -------------------------------------------------------------------------------- 1 | 2 | (defpackage #:solid-modeller 3 | (:use #:common-lisp) 4 | (:nicknames #:modl) 5 | (:export 6 | #:save-stl 7 | #:save-obj 8 | #:scene 9 | #:add-shape 10 | #:make-icosphere 11 | #:make-cuboid 12 | #:make-cylinder 13 | #:molecule 14 | )) 15 | -------------------------------------------------------------------------------- /src/lisp/smarts/src/smiles/parser/variables.lisp: -------------------------------------------------------------------------------- 1 | ;;;; variables.lisp --- Variables used by the smiles.parser module. 2 | ;;;; 3 | ;;;; Copyright (C) 2018 Jan Moringen 4 | ;;;; 5 | ;;;; Author: Jan Moringen 6 | 7 | (cl:in-package #:language.smiles.parser) 8 | 9 | (defvar *atom-maps?* nil) 10 | -------------------------------------------------------------------------------- /src/lisp/cando-primop/cando-primop.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "cando-primop" 4 | :description "The primitive operations for Cando" 5 | :version "0.0.1" 6 | :author "Christian Schafmeister " 7 | :licence "LGPL-3.0" 8 | :depends-on () 9 | :serial t 10 | :components ((:file "primops"))) 11 | -------------------------------------------------------------------------------- /src/lisp/cando-serialize/cando-serialize.asd: -------------------------------------------------------------------------------- 1 | (asdf:defsystem #:cando-serialize 2 | :description "The CANDO serialization framework" 3 | :version "0.0.1" 4 | :author "Christian Schafmeister " 5 | :licence "LGPL-3.0" 6 | :depends-on () 7 | :serial t 8 | :components ((:file "packages") 9 | (:file "print-read"))) 10 | -------------------------------------------------------------------------------- /src/lisp/cando-user-install/cando-user-install.asd: -------------------------------------------------------------------------------- 1 | (asdf:defsystem #:cando-user-install 2 | :description "User install for CANDO" 3 | :version "1.0.0" 4 | :author "Tarn W. Burton " 5 | :licence "LGPL-3.0" 6 | :serial t 7 | :depends-on (#:cando-jupyter) 8 | :components ((:file "packages") 9 | (:file "install"))) 10 | -------------------------------------------------------------------------------- /src/lisp/smarts/bison-smarts/smarts.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "smarts" 4 | :description "Parse and process SMARTS and SMIRKS" 5 | :version "0.0.1" 6 | :author "Shiho Nagai <>" 7 | :licence "LGPL-2.0" 8 | :depends-on () 9 | :serial t 10 | :components 11 | ((:file "packages") 12 | (:file "smarts") 13 | )) 14 | -------------------------------------------------------------------------------- /src/lisp/chem-extras/chem-extras.asd: -------------------------------------------------------------------------------- 1 | (asdf:defsystem #:chem-extras 2 | :description "Extra code for chem" 3 | :version "0.0.1" 4 | :author "Christian Schafmeister " 5 | :licence "LGPL-3.0" 6 | :depends-on () 7 | :serial t 8 | :components ((:file "packages") 9 | (:file "chem") 10 | )) 11 | -------------------------------------------------------------------------------- /src/lisp/kinematics-extras/kinematics.lisp: -------------------------------------------------------------------------------- 1 | 2 | (in-package :kin) 3 | 4 | (define-condition kinematics-error (error) 5 | () 6 | (:report (lambda (condition stream) 7 | (format stream "~a ~a" (class-name (class-of condition)))))) 8 | 9 | (define-condition undefined-internal-coordinates (kinematics-error) 10 | ((joint :initarg :joint :reader joint))) 11 | -------------------------------------------------------------------------------- /src/lisp/chem-info/pucker.lisp: -------------------------------------------------------------------------------- 1 | (in-package :chem-info) 2 | 3 | (defun cremer-pople-ring5-positions (vector-list) 4 | (geom:v* (reduce #'geom:v+ vector-list) 5 | (/ 1.0 (length vector-list)))) 6 | 7 | (defun cremer-pople-ring5-atoms (atom-list) 8 | (let ((vector-list (mapcar #'chem:get-position atom-list))) 9 | (cremer-pople-ring5-positions vector-list))) 10 | -------------------------------------------------------------------------------- /src/adapt/cscript.lisp: -------------------------------------------------------------------------------- 1 | (k:sources :libclasp 2 | #~"indexedObjectBag.cc" 3 | #~"adaptPackage.cc" 4 | #~"quickDom.cc" 5 | #~"mySaxInterface.cc" 6 | #~"objectSet.cc" 7 | #~"iterateCons.cc" 8 | #~"stringList.cc" 9 | #~"stringSet.cc" 10 | #~"symbolList.cc" 11 | #~"symbolSet.cc") 12 | -------------------------------------------------------------------------------- /src/lisp/cando/modelling/modelling.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "modelling" 4 | :description "Modelling" 5 | :version "0.0.1" 6 | :author "Christian Schafmeister " 7 | :licence "LGPL-3.0" 8 | :depends-on () 9 | :serial t 10 | :components 11 | ((:file "packages") 12 | (:file "modelling") 13 | )) 14 | -------------------------------------------------------------------------------- /src/lisp/cando/utility/utility.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "utility" 4 | :description "Utility code" 5 | :version "0.0.1" 6 | :author "Christian Schafmeister " 7 | :licence "LGPL-3.0" 8 | :depends-on () 9 | :serial t 10 | :components 11 | ((:file "packages") 12 | (:file "directories") 13 | )) 14 | -------------------------------------------------------------------------------- /src/lisp/smiles/smiles.asd: -------------------------------------------------------------------------------- 1 | (asdf:defsystem #:smiles 2 | :description "Parse and process SMILES" 3 | :version "0.0.1" 4 | :author "Christian Schafmeister" 5 | :licence "LGPL-2.0" 6 | :depends-on () 7 | :serial t 8 | :components ((:file "packages") 9 | (:file "smiles") 10 | (:file "cangen") 11 | (:file "generate"))) 12 | 13 | -------------------------------------------------------------------------------- /src/lisp/yampi/yampi.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "yampi" 4 | :description "Yet Another (Yitzi's Awesome) Message Passing Interface" 5 | :version "0.1.0" 6 | :author "Tarn W. Burton" 7 | :licence "LGPL-3.0" 8 | :depends-on ("bordeaux-threads" 9 | "pzmq") 10 | :serial t 11 | :components ((:file "packages") 12 | (:file "message"))) 13 | -------------------------------------------------------------------------------- /src/kinematics/cscript.lisp: -------------------------------------------------------------------------------- 1 | (k:sources :libclasp 2 | #~"bondedJoint.cc" 3 | #~"complexBondedJoint.cc" 4 | #~"coordinateCalculators.cc" 5 | #~"dofType.cc" 6 | #~"joint.cc" 7 | #~"jump.cc" 8 | #~"jumpJoint.cc" 9 | #~"xyzJoint.cc" 10 | #~"kinematicsPackage.cc" 11 | #~"stub.cc" 12 | ) 13 | 14 | -------------------------------------------------------------------------------- /src/lisp/cando-build/cando-build.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "cando-build" 4 | :description "Build atoms, residues, molecules, aggregates in convenient ways" 5 | :version "0.0.1" 6 | :author "Michael Yonkunas" 7 | :licence "LGPL-3.0" 8 | :depends-on () 9 | :serial t 10 | :components 11 | ((:file "packages") 12 | (:file "build") 13 | )) 14 | -------------------------------------------------------------------------------- /src/lisp/cando/geometry/geometry.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "geometry" 4 | :description "Crystallography manipulations" 5 | :version "0.0.1" 6 | :author "Christian Schafmeister " 7 | :licence "LGPL-3.0" 8 | :depends-on () 9 | :serial t 10 | :components 11 | ((:file "packages") 12 | (:file "crystal") 13 | )) 14 | -------------------------------------------------------------------------------- /src/lisp/numscl/numscl.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "numscl" 4 | :description "Numerical code for cando" 5 | :version "0.0.1" 6 | :author "Christian Schafmeister " 7 | :licence "LGPL-3.0" 8 | :depends-on (cl-mathstats) 9 | :serial t 10 | :components 11 | ((:file "packages") 12 | (:file "polyfit") 13 | (:file "integrate") 14 | )) 15 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_ImproperRestraint_debugEvalDeclares.cc: -------------------------------------------------------------------------------- 1 | // DEFINE_EVAL 2 | struct { 3 | double x1; 4 | double y1; 5 | double z1; 6 | double x2; 7 | double y2; 8 | double z2; 9 | double x3; 10 | double y3; 11 | double z3; 12 | double x4; 13 | double y4; 14 | double z4; 15 | double K; 16 | double L; 17 | double U; 18 | double improperRestraintOutputs; 19 | } eval; 20 | -------------------------------------------------------------------------------- /src/cscript.lisp: -------------------------------------------------------------------------------- 1 | (k:recurse #P"adapt/" 2 | #P"geom/" 3 | #P"units/" 4 | #P"chem/" 5 | #P"kinematics/" 6 | #P"lisp/" 7 | #P"main/" 8 | #P"data/" 9 | #P"examples/") 10 | 11 | (k:library "expat" :required t :min-version "2.2.0") 12 | 13 | (k:sources :install-code 14 | #~"lisp/" 15 | #~"data/") 16 | -------------------------------------------------------------------------------- /src/geom/cscript.lisp: -------------------------------------------------------------------------------- 1 | (k:sources :libclasp 2 | #~"candoBasePackage.cc" 3 | #~"ovector3.cc" 4 | #~"ovector2.cc" 5 | #~"color.cc" 6 | #~"matrix.cc" 7 | #~"vector2.cc" 8 | #~"vector3.cc" 9 | #~"vector4.cc" 10 | #~"omatrix.cc" 11 | #~"boundingBox.cc" 12 | #~"coordinateArray.cc") 13 | 14 | -------------------------------------------------------------------------------- /src/lisp/cando/inet/inet.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "inet" 4 | :description "Code for interacting with the internet" 5 | :version "0.0.1" 6 | :author "Christian Schafmeister " 7 | :licence "LGPL-3.0" 8 | :depends-on (:trivial-http) 9 | :serial t 10 | :components 11 | ((:file "packages") 12 | (:file "inet") 13 | )) 14 | -------------------------------------------------------------------------------- /src/lisp/kinematics-extras/kinematics-extras.asd: -------------------------------------------------------------------------------- 1 | (asdf:defsystem #:kinematics-extras 2 | :description "Extra code for kinematics" 3 | :version "0.0.1" 4 | :author "Christian Schafmeister " 5 | :licence "LGPL-3.0" 6 | :depends-on () 7 | :serial t 8 | :components ((:file "packages") 9 | (:file "kinematics") 10 | )) 11 | -------------------------------------------------------------------------------- /src/main/mymps.c: -------------------------------------------------------------------------------- 1 | // Compile mps here 2 | // 3 | // 4 | // There are some configuration settings that can be set in the 5 | // top level Jamroot.jam file 6 | // CONFIG_VAR_COOL - detailed, slow MPS debugging 7 | // CONFIG_PF_ANSI - use the generic "ANSI" platform 8 | // CONFIG_THREAD_SINGLE - single threaded 9 | 10 | #ifdef USE_MPS 11 | #include "mps/code/mps.c" 12 | #endif 13 | -------------------------------------------------------------------------------- /src/lisp/geometry-tests/geometry-tests.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "geometry-tests" 4 | :description "Code to determine if geometry is good" 5 | :version "0.0.1" 6 | :author "Christian Schafmeister " 7 | :licence "LGPL-3.0" 8 | :depends-on (:cando :amber) 9 | :serial t 10 | :components 11 | ((:file "packages") 12 | (:file "utils") 13 | )) 14 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_Oozp_debugEvalDeclares.cc: -------------------------------------------------------------------------------- 1 | // DEFINE_EVAL 2 | struct { 3 | double x1; 4 | double y1; 5 | double z1; 6 | double kb; 7 | double za; 8 | double Energy; 9 | double fx1; 10 | double fy1; 11 | double fz1; 12 | double dhx1x1; 13 | double dhy1y1; 14 | double dhz1z1; 15 | double ohx1y1; 16 | double ohx1z1; 17 | double ohy1z1; 18 | double OozpDeviation; 19 | } eval; 20 | -------------------------------------------------------------------------------- /src/lisp/cando/aromaticity/aromaticity.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "aromaticity" 4 | :description "Calculate aromaticity using a variety of approaches" 5 | :version "0.0.1" 6 | :author "Shiho Nagai <>" 7 | :licence "LGPL-2.0" 8 | :depends-on (:smarts :cando) 9 | :serial t 10 | :components 11 | ((:file "packages") 12 | (:file "aromaticity") 13 | )) 14 | -------------------------------------------------------------------------------- /src/lisp/solid-modeller/solid-modeller.asd: -------------------------------------------------------------------------------- 1 | 2 | (in-package :asdf-user) 3 | 4 | (defsystem "solid-modeller" 5 | :description "Programmatically build models" 6 | :version "0.0.1" 7 | :author "Christian Schafmeister" 8 | :licence "LGPL-2.0" 9 | :depends-on () 10 | :serial t 11 | :components 12 | ((:file "packages") 13 | (:file "modeller") 14 | (:file "molecule-modeller") 15 | )) 16 | 17 | -------------------------------------------------------------------------------- /src/lisp/cando/candoview/molview.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "molview" 4 | :description "Aggregate viewer" 5 | :version "0.0.1" 6 | :author "Christian Schafmeister - stolen from Doug Hoyte molview" 7 | :licence "LGPL-3.0" 8 | :depends-on () 9 | :serial t 10 | :components 11 | ((:file "packages") 12 | (:file "candoview") 13 | )) 14 | -------------------------------------------------------------------------------- /src/lisp/cando/candoview/candoview.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "candoview" 4 | :description "Aggregate viewer" 5 | :version "0.0.1" 6 | :author "Christian Schafmeister - stolen from Doug Hoyte molview" 7 | :licence "LGPL-3.0" 8 | :depends-on () 9 | :serial t 10 | :components 11 | ((:file "packages") 12 | (:file "candoview") 13 | )) 14 | -------------------------------------------------------------------------------- /src/lisp/smarts/src/smarts/parser/trash.lisp: -------------------------------------------------------------------------------- 1 | ;;; Lexical stuff 2 | 3 | (macrolet ((define-delimiter (character &optional (name (string character))) 4 | (let ((rule-name (symbolicate '#:delimiter- name))) 5 | `(defrule ,rule-name 6 | ,character 7 | (:constant nil))))) 8 | (define-delimiter #\() 9 | (define-delimiter #\))) 10 | 11 | ;;; Actual grammar 12 | -------------------------------------------------------------------------------- /src/lisp/sketch2d/sketch2d.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "sketch2d" 4 | :description "Sketch 2d figures of molecules" 5 | :version "0.0.1" 6 | :author "Christian Schafmeister" 7 | :licence "LGPL-2.0" 8 | :depends-on (:cando :leap :cl-svg :spanning) 9 | :serial t 10 | :components 11 | ((:file "packages") 12 | (:file "infix") 13 | (:file "sketch2d") 14 | (:file "render-svg") 15 | )) 16 | -------------------------------------------------------------------------------- /src/lisp/spanning/spanning.asd: -------------------------------------------------------------------------------- 1 | 2 | (in-package :asdf-user) 3 | 4 | (defsystem "spanning" 5 | :description "Generate spanning-trees from graphs" 6 | :version "0.0.1" 7 | :author "Michael Yonkunas and Christian Schafmeister" 8 | :licence "LGPL-2.0" 9 | :depends-on (:cando) 10 | :serial t 11 | :components ( 12 | (:file "packages") 13 | (:file "spanning") 14 | )) 15 | 16 | -------------------------------------------------------------------------------- /src/lisp/cando/smirnoff/workbench.lisp: -------------------------------------------------------------------------------- 1 | 2 | 3 | (ql:quickload :smirnoff) 4 | 5 | (:= *sf* (smirnoff:load-smirnoff #P"~/Development/openforcefield/openforcefield/data/forcefield/smirnoff99Frosst.offxml")) 6 | 7 | (setf *default-pathname-defaults* #P"~/Development/cando/extensions/cando/src/lisp/cando/smirnoff/") 8 | 9 | (:= *agg* (load-chem-draw-aggregate "rings.cdxml")) 10 | 11 | (smirnoff:build-energy-function *agg* *sf*) 12 | -------------------------------------------------------------------------------- /src/lisp/leap/parmchk2.lisp: -------------------------------------------------------------------------------- 1 | 2 | (in-package :leap.parmchk2) 3 | 4 | (defun prepare-for-parmchk2 (amber-force-field) 5 | (let* ((directory (sys:mkdtemp "/tmp/parmchk-XXXXXX")) 6 | (input-parm-file (make-pathname :name "input-parameters" :type "dat" :defaults directory))) 7 | (with-open-file (fout input-parm-file :direction :output) 8 | (format fout "Write force-field here~%")) 9 | input-parm-file)) 10 | 11 | -------------------------------------------------------------------------------- /src/lisp/smarts-jupyter/smarts-jupyter.asd: -------------------------------------------------------------------------------- 1 | 2 | (in-package :asdf-user) 3 | 4 | (defsystem "smarts-jupyter" 5 | :description "Generate cytoscape graphs for SMARTS and SMIRKS" 6 | :version "0.0.1" 7 | :author "Christian Schafmeister <>" 8 | :licence "LGPL-2.0" 9 | :depends-on (:smarts 10 | :cytoscape-clj) 11 | :serial t 12 | :components 13 | ((:file "packages") 14 | (:file "smarts"))) 15 | 16 | -------------------------------------------------------------------------------- /src/tests/alanine-demo/mdinfo: -------------------------------------------------------------------------------- 1 | 2 | 3 | NSTEP ENERGY RMS GMAX NAME NUMBER 4 | 1 -2.6506E+01 5.6578E+00 2.4117E+01 C 5 5 | 6 | BOND = 0.0203 ANGLE = 1.3194 DIHED = 5.3254 7 | VDWAALS = 2.8089 EEL = -99.4458 HBOND = 0.0000 8 | 1-4 VDW = 5.0158 1-4 EEL = 58.4503 RESTRAINT = 0.0000 9 | -------------------------------------------------------------------------------- /src/lisp/amber/amber.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "amber" 4 | :description "Amber related code" 5 | :version "0.0.1" 6 | :author "Christian Schafmeister " 7 | :licence "LGPL-3.0" 8 | :depends-on (:cl-ppcre :split-sequence) 9 | :serial t 10 | :components 11 | ((:file "packages") 12 | (:file "amber-jobs") 13 | (:file "dashboard") 14 | (:file "graphviz-amber"))) 15 | 16 | 17 | -------------------------------------------------------------------------------- /documentation/cando.tex: -------------------------------------------------------------------------------- 1 | \documentclass[a4paper,twoside]{scrbook} 2 | \def\inputfig#1{\input #1} 3 | \def\inputtex#1{\input #1} 4 | \def\inputal#1{\input #1} 5 | \def\inputcode#1{\input #1} 6 | 7 | \begin{document} 8 | \title{Computer programing} 9 | \author{nedlud} 10 | \frontmatter 11 | \maketitle 12 | \tableofcontents 13 | \mainmatter 14 | \chapter{Introduction} 15 | More text ... 16 | \inputtex{chem-chapter.tex} 17 | \end{document} 18 | 19 | -------------------------------------------------------------------------------- /src/lisp/chem-info/chem-info.asd: -------------------------------------------------------------------------------- 1 | ;;; Copyright (c) 2020, Christian E. Schafmeister 2 | ;;; Published under the GPL 2.0. See COPYING 3 | ;;; 4 | 5 | (asdf:defsystem #:chem-info 6 | :description "Chem-informatics" 7 | :version "0.0.1" 8 | :author ("Christian Schafmeister ") 9 | :licence "GPL2" 10 | :depends-on nil 11 | :serial t 12 | :components ((:file "packages") 13 | (:file "pucker"))) 14 | 15 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_AnchorRestraint_debugEvalDeclares.cc: -------------------------------------------------------------------------------- 1 | // DEFINE_EVAL 2 | struct { 3 | double x1; 4 | double y1; 5 | double z1; 6 | double xa; 7 | double ya; 8 | double za; 9 | double ka; 10 | double Energy; 11 | double fx1; 12 | double fy1; 13 | double fz1; 14 | double dhx1x1; 15 | double dhy1y1; 16 | double dhz1z1; 17 | double ohx1y1; 18 | double ohx1z1; 19 | double ohy1z1; 20 | double AnchorDeviation; 21 | } eval; 22 | -------------------------------------------------------------------------------- /src/lisp/yampi/packages.lisp: -------------------------------------------------------------------------------- 1 | (defpackage #:yampi 2 | (:use :cl) 3 | (:export #:client 4 | #:deserialize 5 | #:idle 6 | #:initialize 7 | #:receive 8 | #:send 9 | #:serialize 10 | #:server 11 | #:start 12 | #:stop 13 | #:subscribe 14 | #:translate 15 | #:unsubscribe 16 | #:*threaded* 17 | #:inspector)) 18 | -------------------------------------------------------------------------------- /src/lisp/topology/topology-jupyter.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "topology-jupyter" 4 | :description "Build topologys using s-expressions jupyter tools" 5 | :version "0.0.1" 6 | :author "Christian Schafmeister " 7 | :licence "LGPL-3.0" 8 | :depends-on (:topology :sketch2d :cytoscape-clj :cando-widgets) 9 | :serial t 10 | :components ((:file "packages-jupyter") 11 | (:file "jupyter") 12 | )) 13 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_ImproperRestraint_debugEvalSet.cc: -------------------------------------------------------------------------------- 1 | // SET_EVAL 2 | EVAL_SET(x1, x1); 3 | EVAL_SET(y1, y1); 4 | EVAL_SET(z1, z1); 5 | EVAL_SET(x2, x2); 6 | EVAL_SET(y2, y2); 7 | EVAL_SET(z2, z2); 8 | EVAL_SET(x3, x3); 9 | EVAL_SET(y3, y3); 10 | EVAL_SET(z3, z3); 11 | EVAL_SET(x4, x4); 12 | EVAL_SET(y4, y4); 13 | EVAL_SET(z4, z4); 14 | EVAL_SET(K, K); 15 | EVAL_SET(L, L); 16 | EVAL_SET(U, U); 17 | EVAL_SET(improperRestraintOutputs, improperRestraintOutputs); 18 | -------------------------------------------------------------------------------- /src/lisp/cando/inet/inet.lisp: -------------------------------------------------------------------------------- 1 | (in-package :inet) 2 | 3 | 4 | (defun download-pdb (accession-code &optional pathname) 5 | "Download the PDB file from RCSB and put it in the (pathname)" 6 | (let ((accession-name (string accession-code))) 7 | (unless pathname (setf pathname (merge-pathnames (pathname (concatenate 'string accession-name ".pdb"))))) 8 | (let ((url (concatenate 'string "http://files.rcsb.org/download/" accession-name ".pdb1"))) 9 | (trivial-http:http-download url pathname)))) 10 | -------------------------------------------------------------------------------- /src/tests/alanine-demo/01_Heat.in: -------------------------------------------------------------------------------- 1 | Heat 2 | &cntrl 3 | imin=0, 4 | ntx=1, 5 | irest=0, 6 | nstlim=10000, 7 | dt=0.002, 8 | ntf=2, 9 | ntc=2, 10 | tempi=0.0, 11 | temp0=300.0, 12 | ntpr=100, 13 | ntwx=100, 14 | cut=8.0, 15 | ntb=1, 16 | ntp=0, 17 | ntt=3, 18 | gamma_ln=2.0, 19 | nmropt=1, 20 | ig=-1, 21 | / 22 | &wt type='TEMP0', istep1=0, istep2=9000, value1=0.0, value2=300.0 / 23 | &wt type='TEMP0', istep1=9001, istep2=10000, value1=300.0, value2=300.0 / 24 | &wt type='END' / -------------------------------------------------------------------------------- /src/lisp/amber/amber-jupyter.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "amber-jupyter" 4 | :description "Amber related code that requires jupyterlab" 5 | :version "0.0.1" 6 | :author "Christian Schafmeister " 7 | :licence "LGPL-3.0" 8 | :depends-on (#:cando 9 | #:amber 10 | #:common-lisp-jupyter 11 | #:cando-widgets) 12 | :serial t 13 | :components 14 | ((:file "packages-jupyter") 15 | (:file "amber-jupyter"))) 16 | 17 | -------------------------------------------------------------------------------- /src/units/Jamfile.jam: -------------------------------------------------------------------------------- 1 | local dir = $(__file__:D) ; 2 | 3 | # 4 | # if you want debugging messages in release version turn on 5 | # release:SOURCE_DEBUG 6 | # 7 | project units : requirements 8 | EXPAT 9 | darwin:READLINE 10 | single 11 | ; 12 | 13 | local sources = dimension.cc 14 | unit.cc 15 | namedUnit.cc 16 | quantity.cc 17 | unitsPackage.cc 18 | # /externals//boostAndExpatLibs 19 | # /internals/core/ 20 | # /cando/geom 21 | ; 22 | 23 | alias units : $(sources) ; -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_FixedNonbond_debugEvalDeclares.cc: -------------------------------------------------------------------------------- 1 | // DEFINE_EVAL 2 | struct { 3 | double x1; 4 | double y1; 5 | double z1; 6 | double xf; 7 | double yf; 8 | double zf; 9 | double dA; 10 | double dC; 11 | double dQ1Q2; 12 | double Energy; 13 | double Efvdw; 14 | double Efeel; 15 | double fx1; 16 | double fy1; 17 | double fz1; 18 | double dhx1x1; 19 | double dhy1y1; 20 | double dhz1z1; 21 | double ohx1y1; 22 | double ohx1z1; 23 | double ohy1z1; 24 | double fixedNonbondDistance; 25 | } eval; 26 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_PointToLineRestraint_debugEvalDeclares.cc: -------------------------------------------------------------------------------- 1 | // DEFINE_EVAL 2 | struct { 3 | double x1; 4 | double y1; 5 | double z1; 6 | double xa; 7 | double ya; 8 | double za; 9 | double xb; 10 | double yb; 11 | double zb; 12 | double ka; 13 | double ra; 14 | double Energy; 15 | double fx1; 16 | double fy1; 17 | double fz1; 18 | double dhx1x1; 19 | double dhy1y1; 20 | double dhz1z1; 21 | double ohx1y1; 22 | double ohx1z1; 23 | double ohy1z1; 24 | double PointToLineDeviation; 25 | } eval; 26 | -------------------------------------------------------------------------------- /src/lisp/pas/pas.asd: -------------------------------------------------------------------------------- 1 | 2 | (in-package :asdf-user) 3 | 4 | (defsystem "pas" 5 | :description "Positional Analogue Scanning" 6 | :version "0.0.1" 7 | :author "Shiho Nagai <>" 8 | :licence "LGPL-2.0" 9 | :depends-on ((:version :esrap "0.15") 10 | :language.smarts 11 | :parser.common-rules 12 | :parser.common-rules.operators 13 | :architecture.builder-protocol) 14 | :serial t 15 | :components 16 | ((:file "packages") 17 | (:file "pas") 18 | )) 19 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_Oozp_debugEvalSet.cc: -------------------------------------------------------------------------------- 1 | // SET_EVAL 2 | EVAL_SET(x1, x1); 3 | EVAL_SET(y1, y1); 4 | EVAL_SET(z1, z1); 5 | EVAL_SET(kb, kb); 6 | EVAL_SET(za, za); 7 | EVAL_SET(Energy, Energy); 8 | EVAL_SET(fx1, fx1); 9 | EVAL_SET(fy1, fy1); 10 | EVAL_SET(fz1, fz1); 11 | EVAL_SET(dhx1x1, dhx1x1); 12 | EVAL_SET(dhy1y1, dhy1y1); 13 | EVAL_SET(dhz1z1, dhz1z1); 14 | EVAL_SET(ohx1y1, ohx1y1); 15 | EVAL_SET(ohx1z1, ohx1z1); 16 | EVAL_SET(ohy1z1, ohy1z1); 17 | EVAL_SET(OozpDeviation, OozpDeviation); 18 | -------------------------------------------------------------------------------- /src/data/common/serialize.lisp: -------------------------------------------------------------------------------- 1 | 2 | (in-package :chem) 3 | 4 | 5 | (defmacro enable-print-object (aclass) 6 | `(progn 7 | (defmethod cl:print-object ((object ,aclass) stream) 8 | (if *print-readably* 9 | (progn 10 | (core:print-builtin-object object stream)) 11 | (call-next-method))))) 12 | 13 | (defparameter +chem-classes+ '(chem:fftypes-db 14 | chem:chem-info)) 15 | 16 | (progn 17 | (dolist (c +chem-classes+) 18 | (eval `(enable-print-object ,c)))) 19 | -------------------------------------------------------------------------------- /src/lisp/cando/charges/charges.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "charges" 4 | :description "Calculate atomic charges by a variety of approaches" 5 | :version "0.0.1" 6 | :author "Shiho Nagai <>" 7 | :licence "LGPL-2.0" 8 | :depends-on (:aromaticity :smarts :cando :lparallel) 9 | :serial t 10 | :components 11 | ((:file "packages") 12 | (:file "am1bcc") 13 | (:file "sqm-interface") 14 | (:file "charges") 15 | (:file "mopac-interface") 16 | ;; (:file "bcc") 17 | )) 18 | -------------------------------------------------------------------------------- /src/lisp/leap-commands/leap-commands.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "leap-commands" 4 | :description "Amber related code" 5 | :version "0.0.1" 6 | :author "Christian Schafmeister " 7 | :licence "LGPL-3.0" 8 | :depends-on ( :leap 9 | (:version :esrap "0.15") 10 | :parser.common-rules 11 | :PARSER.COMMON-RULES.OPERATORS 12 | :architecture.builder-protocol) 13 | :serial t 14 | :components 15 | ((:file "packages") 16 | )) 17 | -------------------------------------------------------------------------------- /src/units/initSignals.inc: -------------------------------------------------------------------------------- 1 | // start 2 | #ifdef DECLARE_SIGNAL_CONSTANTS 3 | #endif 4 | 5 | 6 | 7 | #ifdef DEFINE_SIGNAL_CONSTANTS 8 | #endif 9 | 10 | 11 | 12 | #ifdef SIGNAL_EXPOSE_TO_BOOST_PYTHON 13 | #endif 14 | 15 | 16 | 17 | #ifdef SIGNAL_EXPOSE_CONVERSION_FUNCTIONS 18 | 19 | string signalIdToName(uint sig) 20 | { 21 | switch ( sig ) 22 | { 23 | default: { return "undefinedSignal"; break; } 24 | } 25 | }; 26 | 27 | 28 | uint signalNameToId(const string& name ) 29 | { 30 | return -1; 31 | 32 | } 33 | #endif 34 | -------------------------------------------------------------------------------- /src/lisp/regression-tests/data/frcmod.pho: -------------------------------------------------------------------------------- 1 | Parms for phosphorothioate - Values from the article by Ferguson 2 | MASS 3 | S 32.065 4 | 5 | BOND 6 | P-S 420.0 1.960 7 | 8 | ANGLE 9 | O2-P-S 112.0 122.90 10 | OS-P-S 80.0 108.10 11 | 12 | DIHE 13 | OS-P -OS-CT 1.00 0.0 3 14 | OS-P -OS-CT 0.25 0.0 2 15 | OS-P -OS-CT 1.25 180.0 1 16 | SD-P -OS-CT 0.15 0.0 3 17 | SD-P -OS-CT 1.05 0.0 2 18 | SD-P -OS-CT 0.25 0.0 1 19 | 20 | IMPROPER 21 | 22 | NONBON 23 | S 2.385 0.50 24 | -------------------------------------------------------------------------------- /src/lisp/smarts/smarts.asd: -------------------------------------------------------------------------------- 1 | (asdf:defsystem #:smarts 2 | :description "Parse and process SMARTS and SMIRKS" 3 | :version "0.0.1" 4 | :author "Shiho Nagai <>" 5 | :licence "LGPL-2.0" 6 | :depends-on ((:version #:esrap "0.15") 7 | #:language.smarts 8 | #:parser.common-rules 9 | #:parser.common-rules.operators 10 | #:architecture.builder-protocol) 11 | :serial t 12 | :components ((:file "packages") 13 | (:file "smarts") 14 | (:file "graphviz"))) 15 | 16 | -------------------------------------------------------------------------------- /src/lisp/smarts/src/smiles/parser/test.lisp: -------------------------------------------------------------------------------- 1 | ;;;(cl:in-package #:language.smiles.parser) 2 | (in-package :language.smiles.parser) 3 | 4 | (do-external-symbols (s '#:language.smiles.parser) 5 | (format t "~36A -> ~A~%" s (not (null (esrap:find-rule s))))) 6 | 7 | (parse "B1=C(-P)-P1" 'list) 8 | 9 | (parse "B1=C(-[30Al+5@OH3])-[P--]1" 'list) 10 | 11 | (parse "C1=CC=CC=C1" 'list) 12 | 13 | #+not-sure-how-this-works (parse "C:1:C:C:C:C:C1" 'list) 14 | 15 | (parse "n1c[nH]cc1" 'list) 16 | 17 | (parse "[CH3:1][C:2](=[O:3])[O-:4].[N+:5]" 'list :atom-maps? t) 18 | -------------------------------------------------------------------------------- /src/lisp/regression-tests/spanning-tree.lisp: -------------------------------------------------------------------------------- 1 | 2 | (in-package #:clasp-tests) 3 | 4 | 5 | (test spanning-tree 6 | (let* ((filename (translate-logical-pathname "sys:extensions;cando;src;lisp;regression-tests;data;a1.mol2")) 7 | (agg (chem:load-mol2 filename)) 8 | (mol (chem:content-at agg 0)) 9 | (res (chem:content-at mol 0)) 10 | (atm (chem:content-at res 0)) 11 | (span (chem:spanning-loop/make atm)) 12 | (atoms (chem:all-atoms span))) 13 | (length atoms)) 14 | (95)) 15 | -------------------------------------------------------------------------------- /src/lisp/render/packages.lisp: -------------------------------------------------------------------------------- 1 | ;;; 2 | ;;; File: packages.lisp 3 | ;;; 4 | 5 | ;;; Copyright (c) 2016-2019, Christian E. Schafmeister 6 | ;;; Published under the GPL 2.0. See COPYING 7 | ;;; 8 | 9 | ;; 10 | ;; This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 11 | 12 | ;; -^- 13 | (cl:in-package #:common-lisp-user) 14 | 15 | (defpackage #:render 16 | (:use #:common-lisp) 17 | (:export 18 | )) 19 | 20 | -------------------------------------------------------------------------------- /src/lisp/cando/smirnoff/smirnoff.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "smirnoff" 4 | :description "Assign force-field parameters using smirnoff" 5 | :version "0.0.1" 6 | :author "Christian Schafmeister" 7 | :licence "LGPL-2.0" 8 | :depends-on (:aromaticity 9 | :smarts 10 | :cando 11 | :plump 12 | :esrap 13 | :parser.common-rules) 14 | :serial t 15 | :components 16 | ((:file "packages") 17 | (:file "units") 18 | (:file "load") 19 | (:file "smirnoff") 20 | )) 21 | -------------------------------------------------------------------------------- /src/lisp/pas/packages.lisp: -------------------------------------------------------------------------------- 1 | ;;; 2 | ;;; File: packages.lisp 3 | ;;; 4 | 5 | ;;; Copyright (c) 2016-2019, Christian E. Schafmeister 6 | ;;; Published under the GPL 2.0. See COPYING 7 | ;;; 8 | 9 | ;; 10 | ;; This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 11 | 12 | ;; -^- 13 | (cl:in-package #:common-lisp-user) 14 | 15 | (defpackage #:pas 16 | (:use #:common-lisp) 17 | (:export 18 | #:pas 19 | )) 20 | 21 | -------------------------------------------------------------------------------- /src/lisp/regression-tests/leap.lisp: -------------------------------------------------------------------------------- 1 | 2 | (in-package #:clasp-tests) 3 | 4 | (leap:setup-default-paths) 5 | #+(or) 6 | (test-type load-frcmod 7 | (leap:load-amber-params "frcmod.ff99SB") 8 | chem:force-field) 9 | #+(or) 10 | (test-type load-frcmod-scee-scnb 11 | (leap:load-amber-params "frcmod.fb15") 12 | chem:force-field) 13 | 14 | (test-type load-frcmod-pho 15 | (leap:load-amber-params (namestring (translate-logical-pathname "sys:extensions;cando;src;lisp;regression-tests;data;frcmod.pho"))) 16 | chem:force-field) 17 | -------------------------------------------------------------------------------- /src/lisp/tirun/README.md: -------------------------------------------------------------------------------- 1 | # Cando-tirun code 2 | 3 | This is a module for the computational chemistry package Cando: 4 | https://github.com/cando-developers/cando 5 | 6 | It is published under the GPL 2.0. 7 | 8 | 9 | ## Instructions 10 | 11 | 1. Install and build [Cando](https://github.com/cando-developers/cando). 12 | 13 | 2. Clone this into the clasp/src/lisp/modules/quicklisp/local-projects directory. 14 | 15 | More comprehensive instructions will be coming soon. 16 | 17 | 18 | This will create the clasp/src/lisp/modules/quicklisp/local-projects/cando-tirun directory. 19 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_Oozp_termDeclares.cc: -------------------------------------------------------------------------------- 1 | #if USE_EXPLICIT_DECLARES 2 | // declare variables 3 | DECLARE_FLOAT(dhx1x1); 4 | DECLARE_FLOAT(dhy1y1); 5 | DECLARE_FLOAT(dhz1z1); 6 | DECLARE_FLOAT(Energy); 7 | DECLARE_FLOAT(fx1); 8 | DECLARE_FLOAT(fy1); 9 | DECLARE_FLOAT(fz1); 10 | DECLARE_FLOAT(gx1); 11 | DECLARE_FLOAT(gy1); 12 | DECLARE_FLOAT(gz1); 13 | DECLARE_FLOAT(ohx1y1); 14 | DECLARE_FLOAT(ohx1z1); 15 | DECLARE_FLOAT(ohy1z1); 16 | DECLARE_FLOAT(OozpDeviation); 17 | DECLARE_FLOAT(tx1); 18 | DECLARE_FLOAT(tx2); 19 | DECLARE_FLOAT(tx3); 20 | DECLARE_FLOAT(tx4); 21 | 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /include/cando/energy-functions/_STAPLE_debugEvalDeclares.cc: -------------------------------------------------------------------------------- 1 | // DEFINE_EVAL 2 | struct { 3 | double ak; 4 | double bk; 5 | double ck; 6 | double dk; 7 | double xk; 8 | double yk; 9 | double zk; 10 | double al; 11 | double bl; 12 | double cl; 13 | double dl; 14 | double xl; 15 | double yl; 16 | double zl; 17 | double Energy; 18 | double fak; 19 | double fbk; 20 | double fck; 21 | double fdk; 22 | double fxk; 23 | double fyk; 24 | double fzk; 25 | double fal; 26 | double fbl; 27 | double fcl; 28 | double fdl; 29 | double fxl; 30 | double fyl; 31 | double fzl; 32 | } eval; 33 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_AnchorRestraint_debugEvalSet.cc: -------------------------------------------------------------------------------- 1 | // SET_EVAL 2 | EVAL_SET(x1, x1); 3 | EVAL_SET(y1, y1); 4 | EVAL_SET(z1, z1); 5 | EVAL_SET(xa, xa); 6 | EVAL_SET(ya, ya); 7 | EVAL_SET(za, za); 8 | EVAL_SET(ka, ka); 9 | EVAL_SET(Energy, Energy); 10 | EVAL_SET(fx1, fx1); 11 | EVAL_SET(fy1, fy1); 12 | EVAL_SET(fz1, fz1); 13 | EVAL_SET(dhx1x1, dhx1x1); 14 | EVAL_SET(dhy1y1, dhy1y1); 15 | EVAL_SET(dhz1z1, dhz1z1); 16 | EVAL_SET(ohx1y1, ohx1y1); 17 | EVAL_SET(ohx1z1, ohx1z1); 18 | EVAL_SET(ohy1z1, ohy1z1); 19 | EVAL_SET(AnchorDeviation, AnchorDeviation); 20 | -------------------------------------------------------------------------------- /src/lisp/cando-sdf/cando-sdf.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "cando-sdf" 4 | :description "Parse sdf files" 5 | :version "0.0.1" 6 | :author "Christian Schafmeisterd>" 7 | :licence "LGPL-2.0" 8 | :depends-on ((:version :esrap "0.15") 9 | :language.smarts 10 | :parser.common-rules 11 | :parser.common-rules.operators 12 | :architecture.builder-protocol) 13 | :components 14 | ((:file "packages") 15 | (:file "sdf" :depends-on ("packages")) 16 | (:file "sdf-writer" :depends-on ("packages")) 17 | )) 18 | 19 | -------------------------------------------------------------------------------- /src/lisp/topology/packages-foldamer.lisp: -------------------------------------------------------------------------------- 1 | (cl:in-package #:common-lisp-user) 2 | 3 | 4 | (defpackage #:foldamer 5 | (:use #:common-lisp) 6 | (:nicknames #:fd) 7 | (:export 8 | #:define-foldamer 9 | #:parse 10 | #:oligomer-space 11 | #:unused-trainer-contexts 12 | #:maybe-remove-unused-trainers 13 | #:generate-training-oligomers 14 | #:find-oligomer-for-monomer-context 15 | #:build-trainer 16 | #:prepare-to-build-trainer 17 | #:foldamer-monomer-context 18 | #:calculate-files 19 | #:verify-foldamer-describes-oligomer-space 20 | #:valid-trainer-contexts 21 | #:assemble-context-rotamers-map 22 | )) 23 | -------------------------------------------------------------------------------- /src/lisp/cando-jupyter/cando-jupyter.asd: -------------------------------------------------------------------------------- 1 | (asdf:defsystem #:cando-jupyter 2 | :description "The CANDO compiler front end jupyter interface" 3 | :version "0.0.1" 4 | :author "Christian Schafmeister " 5 | :licence "LGPL-3.0" 6 | :depends-on (#:cando 7 | #:common-lisp-jupyter 8 | #:cando-user 9 | #:cando-widgets 10 | #:smarts-jupyter 11 | #:topology-jupyter 12 | #:tirun-jupyter 13 | #:amber-jupyter) 14 | :serial t 15 | :components ((:file "packages") 16 | (:file "ui") 17 | (:file "kernel"))) 18 | -------------------------------------------------------------------------------- /chem-lisp/print-read.lisp: -------------------------------------------------------------------------------- 1 | (in-package :chem) 2 | 3 | 4 | (defmacro enable-print-object (aclass) 5 | `(progn 6 | (defmethod cl:print-object ((object ,aclass) stream) 7 | (if *print-readably* 8 | (progn 9 | (core:print-builtin-object object stream)) 10 | (call-next-method))))) 11 | 12 | (defparameter +chem-classes+ '(chem:fftypes-db 13 | chem:chem-info)) 14 | 15 | (progn 16 | (dolist (c +chem-classes+) 17 | (eval `(enable-print-object ,c)))) 18 | 19 | 20 | 21 | (cl:do-external-symbols (s :chem) (print s)) 22 | (apropos "do-external") 23 | 24 | (do-all-symbols (s :chem) 25 | (print s)) 26 | -------------------------------------------------------------------------------- /src/lisp/spanning/packages.lisp: -------------------------------------------------------------------------------- 1 | ;;; 2 | ;;; File: packages.lisp 3 | ;;; 4 | 5 | ;;; Copyright (c) 2016-2019, Christian E. Schafmeister 6 | ;;; Published under the GPL 2.0. See COPYING 7 | ;;; 8 | 9 | ;; 10 | ;; This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 11 | 12 | ;; -^- 13 | (cl:in-package #:common-lisp-user) 14 | 15 | (defpackage #:spanning 16 | (:use #:common-lisp) 17 | (:export 18 | #:calculate-spanning-tree 19 | #:back-vertex 20 | #:vertex-edges 21 | #:other-vertex 22 | #:graph-edges 23 | )) 24 | -------------------------------------------------------------------------------- /include/cando/energy-functions/_NONBONDRB_debugEvalDeclares.cc: -------------------------------------------------------------------------------- 1 | // DEFINE_EVAL 2 | struct { 3 | double ak; 4 | double bk; 5 | double ck; 6 | double dk; 7 | double xk; 8 | double yk; 9 | double zk; 10 | double al; 11 | double bl; 12 | double cl; 13 | double dl; 14 | double xl; 15 | double yl; 16 | double zl; 17 | double Energy; 18 | double EnergyVdw; 19 | double EnergyElectrostatic; 20 | double fam; 21 | double fbm; 22 | double fcm; 23 | double fdm; 24 | double fxm; 25 | double fym; 26 | double fzm; 27 | double fan; 28 | double fbn; 29 | double fcn; 30 | double fdn; 31 | double fxn; 32 | double fyn; 33 | double fzn; 34 | double nonbondRBDeviation; 35 | } eval; 36 | -------------------------------------------------------------------------------- /src/lisp/molecule-graph/molecule-graph.asd: -------------------------------------------------------------------------------- 1 | ;;; Copyright (c) 2019, Christian E. Schafmeister 2 | ;;; Published under the GPL 2.0. See COPYING 3 | ;;; 4 | 5 | (in-package :asdf-user) 6 | 7 | (defsystem "molecule-graph" 8 | :description "Work with molecule-graphs" 9 | :version "0.0.1" 10 | :author "Christian Schafmeister , Nagai Shiho" 11 | :licence "Private" 12 | :depends-on (:spanning) 13 | :serial t 14 | ;;; :build-operation asdf:monolithic-compile-bundle-op 15 | ;;; :build-pathname #P"/tmp/fep.fasb" 16 | :components 17 | ((:file "packages") 18 | (:file "molecule-graph") 19 | (:file "max-clique") 20 | (:file "graphviz") 21 | )) 22 | 23 | -------------------------------------------------------------------------------- /src/lisp/structure-editor/structure-editor.asd: -------------------------------------------------------------------------------- 1 | ;;; Copyright (c) 2019, Christian E. Schafmeister 2 | ;;; Published under the GPL 2.0. See COPYING 3 | ;;; 4 | 5 | (in-package :asdf-user) 6 | 7 | (defsystem "structure-editor" 8 | :description "Structure editor widgets" 9 | :version "0.0.1" 10 | :author "Christian Schafmeister " 11 | :licence "Private" 12 | :depends-on (:kekule-clj :cando-widgets :resizable-box-clj) 13 | :serial t 14 | ;;; :build-operation asdf:monolithic-compile-bundle-op 15 | ;;; :build-pathname #P"/tmp/tirun.fasb" 16 | :components 17 | ((:file "packages") 18 | (:file "composer") 19 | (:file "structure-editor") 20 | )) 21 | 22 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_NONBONDRBPB_debugEvalDeclares.cc: -------------------------------------------------------------------------------- 1 | // DEFINE_EVAL 2 | struct { 3 | double ak; 4 | double bk; 5 | double ck; 6 | double dk; 7 | double xk; 8 | double yk; 9 | double zk; 10 | double al; 11 | double bl; 12 | double cl; 13 | double dl; 14 | double xl; 15 | double yl; 16 | double zl; 17 | double Energy; 18 | double DeltaX; 19 | double DeltaY; 20 | double DeltaZ; 21 | double fam; 22 | double fbm; 23 | double fcm; 24 | double fdm; 25 | double fxm; 26 | double fym; 27 | double fzm; 28 | double fan; 29 | double fbn; 30 | double fcn; 31 | double fdn; 32 | double fxn; 33 | double fyn; 34 | double fzn; 35 | double nonbondRBDeviation; 36 | } eval; 37 | -------------------------------------------------------------------------------- /src/lisp/leap/atom-types.lisp: -------------------------------------------------------------------------------- 1 | (in-package :leap.atom-types) 2 | 3 | 4 | (defclass type-element-info () 5 | ((atom-type :initarg :atom-type :accessor atom-type) 6 | (element :initarg :element :accessor element) 7 | (hybridization :initarg :hybridization :accessor hybridization))) 8 | 9 | 10 | (defvar *type-element-info* (make-hash-table)) 11 | 12 | (defun add-one-atom-type (atom-type element hybridization) 13 | (let ((info (make-instance 'type-element-info 14 | :atom-type atom-type 15 | :element element 16 | :hybridization hybridization))) 17 | (setf (gethash atom-type *type-element-info*) info))) 18 | 19 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_PointToLineRestraint_debugEvalSet.cc: -------------------------------------------------------------------------------- 1 | // SET_EVAL 2 | EVAL_SET(x1, x1); 3 | EVAL_SET(y1, y1); 4 | EVAL_SET(z1, z1); 5 | EVAL_SET(xa, xa); 6 | EVAL_SET(ya, ya); 7 | EVAL_SET(za, za); 8 | EVAL_SET(xb, xb); 9 | EVAL_SET(yb, yb); 10 | EVAL_SET(zb, zb); 11 | EVAL_SET(ka, ka); 12 | EVAL_SET(ra, ra); 13 | EVAL_SET(Energy, Energy); 14 | EVAL_SET(fx1, fx1); 15 | EVAL_SET(fy1, fy1); 16 | EVAL_SET(fz1, fz1); 17 | EVAL_SET(dhx1x1, dhx1x1); 18 | EVAL_SET(dhy1y1, dhy1y1); 19 | EVAL_SET(dhz1z1, dhz1z1); 20 | EVAL_SET(ohx1y1, ohx1y1); 21 | EVAL_SET(ohx1z1, ohx1z1); 22 | EVAL_SET(ohy1z1, ohy1z1); 23 | EVAL_SET(PointToLineDeviation, PointToLineDeviation); 24 | -------------------------------------------------------------------------------- /src/lisp/tirun-jupyter/tirun-jupyter.asd: -------------------------------------------------------------------------------- 1 | ;;; Copyright (c) 2019, Christian E. Schafmeister 2 | ;;; Published under the GPL 2.0. See COPYING 3 | ;;; 4 | 5 | (in-package :asdf-user) 6 | 7 | (defsystem "tirun-jupyter" 8 | :description "TIRUN setup code for jupyter widgets" 9 | :version "0.0.2" 10 | :author "Christian Schafmeister , Nagai Shiho" 11 | :licence "Private" 12 | :depends-on (:tirun :lomap :pas :cytoscape-clj :structure-editor :cando-widgets :quri :resizable-box-clj) 13 | :serial t 14 | ;;; :build-operation asdf:monolithic-compile-bundle-op 15 | ;;; :build-pathname #P"/tmp/tirun.fasb" 16 | :components 17 | ((:file "packages") 18 | (:file "tirun-jupyter"))) 19 | 20 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_FixedNonbond_debugEvalSet.cc: -------------------------------------------------------------------------------- 1 | // SET_EVAL 2 | EVAL_SET(x1, x1); 3 | EVAL_SET(y1, y1); 4 | EVAL_SET(z1, z1); 5 | EVAL_SET(xf, xf); 6 | EVAL_SET(yf, yf); 7 | EVAL_SET(zf, zf); 8 | EVAL_SET(dA, dA); 9 | EVAL_SET(dC, dC); 10 | EVAL_SET(dQ1Q2, dQ1Q2); 11 | EVAL_SET(Energy, Energy); 12 | EVAL_SET(Efvdw, Efvdw); 13 | EVAL_SET(Efeel, Efeel); 14 | EVAL_SET(fx1, fx1); 15 | EVAL_SET(fy1, fy1); 16 | EVAL_SET(fz1, fz1); 17 | EVAL_SET(dhx1x1, dhx1x1); 18 | EVAL_SET(dhy1y1, dhy1y1); 19 | EVAL_SET(dhz1z1, dhz1z1); 20 | EVAL_SET(ohx1y1, ohx1y1); 21 | EVAL_SET(ohx1z1, ohx1z1); 22 | EVAL_SET(ohy1z1, ohy1z1); 23 | EVAL_SET(fixedNonbondDistance, fixedNonbondDistance); 24 | -------------------------------------------------------------------------------- /src/lisp/smarts/src/smarts/parser/package.lisp: -------------------------------------------------------------------------------- 1 | ;;;; package.lisp --- Package definition for the smarts.parser module. 2 | ;;;; 3 | ;;;; Copyright (C) 2018 Jan Moringen 4 | ;;;; 5 | ;;;; Author: Jan Moringen 6 | 7 | (cl:defpackage #:language.smarts.parser 8 | (:use 9 | #:cl 10 | #:alexandria 11 | #:esrap) 12 | 13 | (:shadow 14 | #:parse) 15 | 16 | (:local-nicknames 17 | (#:bp #:architecture.builder-protocol) 18 | (#:smiles #:language.smiles.parser)) 19 | 20 | ;; Exported rules 21 | (:export 22 | #:atom-pattern 23 | #:recursive) 24 | 25 | ;; Parser protocol 26 | (:export 27 | #:parse) 28 | ;; Smirks 29 | (:export 30 | #:parse-smirks 31 | )) 32 | -------------------------------------------------------------------------------- /src/lisp/topology/documentation.lisp: -------------------------------------------------------------------------------- 1 | (in-package :topology) 2 | 3 | (mgl-pax:defsection @topology-manual (:title "Topology manual") 4 | "Topology is a library for defining topology objects, assembling them into oligomer-space, oligomer, oligomer-shape and assemblers" 5 | (define-topology macro) 6 | ) 7 | 8 | 9 | 10 | (mgl-pax:defsection @topology/assembler (:title "Assemblers") 11 | "An ASSEMBLER is a complex object that calculates external coordinates from 12 | an atom-tree of internal coordinates and sets the internal coordinates from 13 | OLIGOMER-SHAPE objects." 14 | (orientation class) 15 | (assembler class) 16 | (make-coordinates-for-assembler function) 17 | (update-externals function) 18 | (update-internals function) 19 | ) 20 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_AnchorRestraint_termDeclares.cc: -------------------------------------------------------------------------------- 1 | #if USE_EXPLICIT_DECLARES 2 | // declare variables 3 | DECLARE_FLOAT(AnchorDeviation); 4 | DECLARE_FLOAT(dhx1x1); 5 | DECLARE_FLOAT(dhy1y1); 6 | DECLARE_FLOAT(dhz1z1); 7 | DECLARE_FLOAT(Energy); 8 | DECLARE_FLOAT(fx1); 9 | DECLARE_FLOAT(fy1); 10 | DECLARE_FLOAT(fz1); 11 | DECLARE_FLOAT(gx1); 12 | DECLARE_FLOAT(gy1); 13 | DECLARE_FLOAT(gz1); 14 | DECLARE_FLOAT(ohx1y1); 15 | DECLARE_FLOAT(ohx1z1); 16 | DECLARE_FLOAT(ohy1z1); 17 | DECLARE_FLOAT(tx1); 18 | DECLARE_FLOAT(tx2); 19 | DECLARE_FLOAT(tx3); 20 | DECLARE_FLOAT(tx4); 21 | DECLARE_FLOAT(tx5); 22 | DECLARE_FLOAT(tx6); 23 | DECLARE_FLOAT(tx7); 24 | DECLARE_FLOAT(tx8); 25 | DECLARE_FLOAT(tx9); 26 | DECLARE_FLOAT(tzz10); 27 | 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/lisp/structure-editor/packages.lisp: -------------------------------------------------------------------------------- 1 | ;;; 2 | ;;; File: packages.lisp 3 | ;;; 4 | 5 | ;;; Copyright (c) 2016-2019, Christian E. Schafmeister 6 | ;;; Published under the GPL 2.0. See COPYING 7 | ;;; 8 | 9 | ;; 10 | ;; This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 11 | 12 | ;; -^- 13 | (cl:in-package #:common-lisp-user) 14 | 15 | (defpackage #:structure-editor 16 | (:use #:common-lisp) 17 | (:export 18 | #:parse-kekule-json 19 | #:composer 20 | #:composer-accordion 21 | #:composer-log 22 | #:composer-view-grid 23 | #:get-composer-json 24 | #:set-composer-json )) 25 | 26 | -------------------------------------------------------------------------------- /src/tests/boron/boronic_acid.dat: -------------------------------------------------------------------------------- 1 | test 2 | 3 | MASS 4 | b 10.81 0.000 Boron 5 | 6 | BOND 7 | ca-b 160.00 1.610 8 | b -o 350.00 1.490 9 | 10 | ANGL 11 | oh-b -oh 60.00 109.50 Methane, Ethane KNK 12 | ca-b -oh 35.00 109.50 Methanol, Propanol KNK 13 | b -oh-ho 35.00 109.50 Methanol, Propanol KNK 14 | ca-ca-b 70.00 130.00 Ethane KNK 15 | b -oh-c3 50.00 113.00 Propanol KNK 16 | 17 | DIHE 18 | oh-b -ca-X 1 0.02 0.000 6.000 19 | X -b -oh-ho 1 0.20 0.000 3.000 20 | X -b -oh-ca 1 0.10 180.000 3.000 21 | X -ca-oh-b 1 0.01 0.000 3.000 22 | 23 | NONB 24 | b 1.9800 0.0340 25 | 26 | END 27 | -------------------------------------------------------------------------------- /src/lisp/lomap/lomap.asd: -------------------------------------------------------------------------------- 1 | 2 | (in-package :asdf-user) 3 | 4 | (defsystem "lomap" 5 | :description "Generate a map for FEP calculations" 6 | :version "0.0.1" 7 | :author "Michael Yonkunas and Christian Schafmeister" 8 | :licence "LGPL-2.0" 9 | :depends-on (:cando 10 | :molecule-graph 11 | :spanning 12 | :smarts) 13 | :serial t 14 | :components ((:module src 15 | :pathname "src" 16 | :serial t 17 | :components ( 18 | (:file "packages") 19 | (:file "spanning") 20 | (:file "lomap") 21 | (:file "graphviz") 22 | )))) 23 | 24 | -------------------------------------------------------------------------------- /src/lisp/cando/basic.lisp: -------------------------------------------------------------------------------- 1 | (in-package :cando) 2 | 3 | ;;; Empty 4 | 5 | (defun shallow-copy (object) 6 | (let* ((class (class-of object)) 7 | (copy (allocate-instance class))) 8 | (dolist (slotd (clos:class-slots class) copy) 9 | (when (clos:slot-boundp-using-class class object slotd) 10 | (setf (clos:slot-value-using-class class copy slotd) 11 | (clos:slot-value-using-class class object slotd)))))) 12 | 13 | 14 | (defmacro assign (vars expr) 15 | (if (symbolp vars) 16 | `(defparameter ,vars ,expr) ; single variable 17 | `(progn 18 | ,@(mapcar (lambda (v) `(defvar ,v)) vars) ; declare each 19 | (setf (values ,@(loop for v in vars collect `(symbol-value ',v))) ,expr) 20 | ',vars))) 21 | -------------------------------------------------------------------------------- /src/lisp/smarts/src/smiles/parser/protocol.lisp: -------------------------------------------------------------------------------- 1 | ;;;; protocol.lisp --- Protocol provided by the smiles.parser module. 2 | ;;;; 3 | ;;;; Copyright (C) 2018 Jan Moringen 4 | ;;;; 5 | ;;;; Author: Jan Moringen 6 | 7 | (cl:in-package #:language.smiles.parser) 8 | 9 | (defgeneric parse (input builder &key atom-maps?) 10 | (:documentation 11 | "Parse INPUT as a SMILES expression, build result using BUILDER. 12 | 13 | ATOM-MAPS? controls whether the […:N] construct may be used in 14 | INPUT to assign atom map classes to individual atoms.")) 15 | 16 | (defmethod parse ((input string) (builder t) &key atom-maps?) 17 | (let ((*atom-maps?* atom-maps?)) 18 | (bp:with-builder (builder) 19 | (esrap:parse 'smiles input)))) 20 | -------------------------------------------------------------------------------- /src/lisp/lomap/src/packages.lisp: -------------------------------------------------------------------------------- 1 | ;;; 2 | ;;; File: packages.lisp 3 | ;;; 4 | 5 | ;;; Copyright (c) 2016-2019, Christian E. Schafmeister 6 | ;;; Published under the GPL 2.0. See COPYING 7 | ;;; 8 | 9 | ;; 10 | ;; This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 11 | 12 | ;; -^- 13 | (cl:in-package #:common-lisp-user) 14 | 15 | (defpackage #:lomap 16 | (:use #:common-lisp) 17 | (:export 18 | #:vertices 19 | #:edges 20 | #:molecule 21 | #:vertex1 22 | #:vertex2 23 | #:index 24 | #:sim-score 25 | #:distance-to-root 26 | #:draw-graph-to-file 27 | #:draw-graph-to-stream 28 | #:lomap-multigraph 29 | )) 30 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_Erep_debugEvalDeclares.cc: -------------------------------------------------------------------------------- 1 | // DEFINE_EVAL 2 | struct { 3 | double x1; 4 | double y1; 5 | double z1; 6 | double x2; 7 | double y2; 8 | double z2; 9 | double crep; 10 | double Erep; 11 | double fx1; 12 | double fy1; 13 | double fz1; 14 | double fx2; 15 | double fy2; 16 | double fz2; 17 | double dhx1x1; 18 | double dhy1y1; 19 | double dhz1z1; 20 | double dhx2x2; 21 | double dhy2y2; 22 | double dhz2z2; 23 | double ohx1y1; 24 | double ohx1z1; 25 | double ohx1x2; 26 | double ohx1y2; 27 | double ohx1z2; 28 | double ohy1z1; 29 | double ohy1x2; 30 | double ohy1y2; 31 | double ohy1z2; 32 | double ohz1x2; 33 | double ohz1y2; 34 | double ohz1z2; 35 | double ohx2y2; 36 | double ohx2z2; 37 | double ohy2z2; 38 | double ErepDistance; 39 | } eval; 40 | -------------------------------------------------------------------------------- /src/lisp/regression-tests/run-all.lisp: -------------------------------------------------------------------------------- 1 | (in-package :cl-user) 2 | 3 | (declaim (optimize (safety 3))) 4 | 5 | (push :tests *features*) 6 | 7 | (load (compile-file "sys:src;lisp;regression-tests;framework.lisp")) 8 | 9 | (in-package :clasp-tests) 10 | 11 | (reset-clasp-tests) 12 | (load-if-compiled-correctly "sys:extensions;cando;src;lisp;regression-tests;cremer-pople.lisp") 13 | (load-if-compiled-correctly "sys:extensions;cando;src;lisp;regression-tests;geometry.lisp") 14 | (load-if-compiled-correctly "sys:extensions;cando;src;lisp;regression-tests;leap.lisp") 15 | (load-if-compiled-correctly "sys:extensions;cando;src;lisp;regression-tests;spanning-tree.lisp") 16 | (load-if-compiled-correctly "sys:extensions;cando;src;lisp;regression-tests;energy.lisp") 17 | (ext:quit (if (show-test-summary) 0 1)) 18 | -------------------------------------------------------------------------------- /include/cando/energy-functions/_STAPLE_debugEvalSet.cc: -------------------------------------------------------------------------------- 1 | // SET_EVAL 2 | EVAL_SET(ak, ak); 3 | EVAL_SET(bk, bk); 4 | EVAL_SET(ck, ck); 5 | EVAL_SET(dk, dk); 6 | EVAL_SET(xk, xk); 7 | EVAL_SET(yk, yk); 8 | EVAL_SET(zk, zk); 9 | EVAL_SET(al, al); 10 | EVAL_SET(bl, bl); 11 | EVAL_SET(cl, cl); 12 | EVAL_SET(dl, dl); 13 | EVAL_SET(xl, xl); 14 | EVAL_SET(yl, yl); 15 | EVAL_SET(zl, zl); 16 | EVAL_SET(Energy, Energy); 17 | EVAL_SET(fak, fak); 18 | EVAL_SET(fbk, fbk); 19 | EVAL_SET(fck, fck); 20 | EVAL_SET(fdk, fdk); 21 | EVAL_SET(fxk, fxk); 22 | EVAL_SET(fyk, fyk); 23 | EVAL_SET(fzk, fzk); 24 | EVAL_SET(fal, fal); 25 | EVAL_SET(fbl, fbl); 26 | EVAL_SET(fcl, fcl); 27 | EVAL_SET(fdl, fdl); 28 | EVAL_SET(fxl, fxl); 29 | EVAL_SET(fyl, fyl); 30 | EVAL_SET(fzl, fzl); 31 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_Stretch_debugEvalDeclares.cc: -------------------------------------------------------------------------------- 1 | // DEFINE_EVAL 2 | struct { 3 | double x1; 4 | double y1; 5 | double z1; 6 | double x2; 7 | double y2; 8 | double z2; 9 | double r0; 10 | double kb; 11 | double Energy; 12 | double fx1; 13 | double fy1; 14 | double fz1; 15 | double fx2; 16 | double fy2; 17 | double fz2; 18 | double dhx1x1; 19 | double dhy1y1; 20 | double dhz1z1; 21 | double dhx2x2; 22 | double dhy2y2; 23 | double dhz2z2; 24 | double ohx1y1; 25 | double ohx1z1; 26 | double ohx1x2; 27 | double ohx1y2; 28 | double ohx1z2; 29 | double ohy1z1; 30 | double ohy1x2; 31 | double ohy1y2; 32 | double ohy1z2; 33 | double ohz1x2; 34 | double ohz1y2; 35 | double ohz1z2; 36 | double ohx2y2; 37 | double ohx2z2; 38 | double ohy2z2; 39 | double StretchDeviation; 40 | } eval; 41 | -------------------------------------------------------------------------------- /src/lisp/cando/smirnoff/assign.lisp: -------------------------------------------------------------------------------- 1 | (in-package :smirnoff) 2 | 3 | 4 | 5 | (defmethod chem:assign-molecular-force-field-parameters (energy-function (force-field combined-smirnoff-force-field) molecule) 6 | ;;; The force fields need to be searched in reverse order because by smirnoff 7 | ;;; later rules over-ride earlier ones. 8 | (let ((molecule-graph (chem:make-molecule-graph-from-molecule molecule)) 9 | (reversed-force-fields (reverse (chem:force-fields-as-list force-field)))) 10 | (let ((stretch-terms (make-hash-table :test #'equal))) 11 | (loop for force-field in reversed-force-fields 12 | do (loop for term in (harmonic 13 | for stretch-compiled-smarts = 14 | 15 | (let (( 16 | (error "Finish implementing chem:assign-molecular-force-field-parameters for smirnoff")) 17 | -------------------------------------------------------------------------------- /src/geom/Jamfile.jam: -------------------------------------------------------------------------------- 1 | local dir = $(__file__:D) ; 2 | 3 | 4 | # 5 | # if you want debugging messages in release version turn on 6 | # release:SOURCE_DEBUG 7 | # 8 | project geom : requirements 9 | ; 10 | 11 | local sources = 12 | # iterateRange.cc 13 | candoBasePackage.cc 14 | ovector3.cc 15 | ovector2.cc 16 | # highlightObject.cc 17 | color.cc 18 | # render.cc 19 | matrix.cc 20 | # range.cc 21 | vector2.cc 22 | vector3.cc 23 | vector4.cc 24 | # container.cc 25 | omatrix.cc 26 | boundingBox.cc 27 | # coloredVertexList.cc 28 | coordinateArray.cc 29 | # integerKeyObjectDictionary.cc 30 | # /externals//boostAndExpatLibs 31 | # /internals//core 32 | # /internals//gctools 33 | ; 34 | 35 | 36 | alias geom : $(sources) ; -------------------------------------------------------------------------------- /src/lisp/smarts/src/smarts/parser/protocol.lisp: -------------------------------------------------------------------------------- 1 | ;;;; protocol.lisp --- Protocol provided by the smarts.parser module. 2 | ;;;; 3 | ;;;; Copyright (C) 2018 Jan Moringen 4 | ;;;; 5 | ;;;; Author: Jan Moringen 6 | 7 | (cl:in-package #:language.smarts.parser) 8 | 9 | (defgeneric parse (input builder) 10 | (:documentation 11 | "Parse INPUT as a SMARTS expression, build result using BUILDER.")) 12 | 13 | (defmethod parse ((input string) (builder t)) 14 | (let ((smiles:*atom-maps?* t)) 15 | (bp:with-builder (builder) 16 | (esrap:parse 'smarts input)))) 17 | 18 | 19 | (defun parse-smirks (input builder) 20 | (let ((smiles:*atom-maps?* t)) 21 | (bp:with-builder (builder) 22 | (let ((cons-result (esrap:parse 'smirks input))) 23 | (values (car cons-result) (cdr cons-result)))))) 24 | -------------------------------------------------------------------------------- /src/data/common/runcmd_with_docker: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | RUN_IN_DOCKER="${RUN_IN_DOCKER-./run-in-docker}" 4 | 5 | try_special () 6 | { 7 | local arg 8 | local count=0 9 | local executable 10 | for arg in "$@" ; do 11 | [ "$arg" = -- ] && count="$(($count + 1))" 12 | shift 13 | [ "$count" = 3 ] && break # more than 3 are allowed 14 | done 15 | if [ "$count" = 3 ] ; then 16 | executable=$1 17 | case "$executable" in 18 | *clasp*|*cando*|*python*) 19 | echo running in docker 20 | return 42 21 | ;; 22 | esac 23 | exec "$@" 24 | # exit # not reachable 25 | fi 26 | } 27 | 28 | try_special "$@" 29 | if [ $? = 42 ] ; then 30 | exec "$RUN_IN_DOCKER" "$@" 31 | fi 32 | # if try_special didn't like it execute directly 33 | exec "$@" 34 | -------------------------------------------------------------------------------- /src/geom/t.sh: -------------------------------------------------------------------------------- 1 | "clang++" -E -x c++ -O0 -g -O1 -Warray-bounds -Wframe-larger-than=16 -Wlarger-than=4 -std=c++11 -stdlib=libc++ -O0 -fno-inline -Wall -g -DDEBUG_ASSERTS -DDEBUG_MPS -DEXPAT -DINCLUDED_FROM_BRCL -DREADLINE -D_ADDRESS_MODEL_64 -D_DEBUG_BUILD -D_TARGET_OS_DARWIN -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I"../../build/cando.app/Contents/Resources/externals/gmp-5.0.5" -I"../../modules" -I"../../modules/addon" -I"../../modules/addon/bin/clang-darwin-4.2.1/debug" -I"../../src" -I"../../src/core/bin/clang-darwin-4.2.1/debug" -I"/Library/Frameworks/EPD64.framework/Versions/7.2/include/python2.7" -I"/Users/meister/Development/cando/brcl/build/cando.app/Contents/Resources/externals/common/include" -I"/Users/meister/Development/cando/brcl/build/cando.app/Contents/Resources/externals/release/include" -c -o "color.i" "../../modules/addon/color.cc" 2 | -------------------------------------------------------------------------------- /src/lisp/cando/environment.lisp: -------------------------------------------------------------------------------- 1 | 2 | (in-package :cando) 3 | 4 | -(defun lookup-topology (name &optional errorp) 5 | (multiple-value-bind (topology foundp) 6 | (chem:find-topology #+(or)(intern (string-upcase (string name)) :keyword) name errorp) 7 | topology)) 8 | 9 | (defun walk-topologys (func) 10 | (chem:walk-topologys chem:*cando-database* func)) 11 | 12 | (defun list-topologys () 13 | (chem:walk-topologys chem:*cando-database* (lambda (topology &rest args) (print topology)))) 14 | 15 | (defun register-entity (name entity) 16 | (error "Implement register-entity") 17 | ) 18 | 19 | (defun lookup-entity (name &optional (errorp t)) 20 | (let ((maybe-topology (lookup-topology name nil))) 21 | (if maybe-topology 22 | maybe-topology 23 | (when errorp 24 | (error "Implement find-entity for ~a - it isn't a topology" name))))) 25 | -------------------------------------------------------------------------------- /src/tests/alanine-demo/restrt: -------------------------------------------------------------------------------- 1 | 2 | 22 3 | 2.0000000 1.0000000 -0.0000000 2.0000000 2.0900000 0.0000000 4 | 1.4860000 2.4540000 0.8900000 1.4860000 2.4540000 -0.8900000 5 | 3.4270000 2.6410000 -0.0000000 4.3910000 1.8770000 -0.0000000 6 | 3.5550000 3.9700000 -0.0000000 2.7330000 4.5560000 -0.0000000 7 | 4.8530000 4.6140000 -0.0000000 5.4080000 4.3160000 0.8900000 8 | 5.6610000 4.2210000 -1.2320000 5.1230000 4.5210000 -2.1310000 9 | 6.6300000 4.7190000 -1.2060000 5.8090000 3.1410000 -1.2410000 10 | 4.7130000 6.1290000 0.0000000 3.6010000 6.6530000 0.0000000 11 | 5.8460000 6.8350000 0.0000000 6.7370000 6.3590000 -0.0000000 12 | 5.8460000 8.2840000 0.0000000 4.8190000 8.6480000 0.0000000 13 | 6.3600000 8.6480000 0.8900000 6.3600000 8.6480000 -0.8900000 14 | -------------------------------------------------------------------------------- /src/tests/alanine-demo/alanine_cando.crd: -------------------------------------------------------------------------------- 1 | ACE 2 | 22 3 | 2.0000010 1.0000000 -0.0000010 2.0000010 2.0900000 0.0000000 4 | 1.4862640 2.4538490 0.8898240 1.4862590 2.4538520 -0.8898200 5 | 3.4274200 2.6407950 -0.0000030 4.3905800 1.8774060 -0.0000070 6 | 3.5553750 3.9696490 -0.0000030 2.7331200 4.5561600 -0.0000010 7 | 4.8532620 4.6139250 -0.0000040 5.4075960 4.3155390 0.8898150 8 | 5.6613040 4.2208430 -1.2321480 5.1232620 4.5213630 -2.1312020 9 | 6.6304840 4.7189350 -1.2057910 5.8085400 3.1408720 -1.2413850 10 | 4.7126760 6.1294180 0.0000010 3.6006440 6.6527030 0.0000060 11 | 5.8460530 6.8348830 0.0000030 6.7370010 6.3591620 -0.0000000 12 | 5.8460550 8.2838840 0.0000060 4.8185760 8.6477350 0.0000100 13 | 6.3597980 8.6477310 0.8898280 6.3597900 8.6477350 -0.8898190 14 | -------------------------------------------------------------------------------- /src/lisp/cando/stereochemistry.lisp: -------------------------------------------------------------------------------- 1 | (in-package :cando) 2 | 3 | 4 | 5 | (defun do-stereochemistry-from-structure (molecule ht) 6 | (let ((cip (chem:make-cip-prioritizer)) 7 | (cip-ht (make-hash-table))) 8 | (chem:assign-cahn-ingold-prelog-priority-to-atoms-relative-priority cip molecule cip-ht) 9 | (chem:do-atoms (atm molecule) 10 | (let ((conf (chem:calculate-stereochemical-configuration atm cip-ht))) 11 | (unless (eq conf :undefined-configuration) 12 | (setf (gethash atm ht) conf)))) 13 | cip-ht)) 14 | 15 | (defgeneric stereochemistry-from-structure (matter) 16 | (:documentation "Return an alist (atom . configuration-symbol) calculated from the structure")) 17 | 18 | (defmethod stereochemistry-from-structure ((molecule chem:molecule)) 19 | (let* ((ht (make-hash-table)) 20 | (cip-ht (do-stereochemistry-from-structure molecule ht))) 21 | (values ht cip-ht))) 22 | 23 | -------------------------------------------------------------------------------- /src/tests/boron/frcmod.boronic-ester: -------------------------------------------------------------------------------- 1 | Boronic ester parameters for gaff 2 | 3 | MASS 4 | b 10.81 0.000 Boron 5 | 6 | BOND 7 | c2-b 160.00 1.610 8 | b -oh 350.00 1.490 9 | b -os 350.00 1.490 10 | 11 | ANGL 12 | oh-b -oh 60.00 109.50 13 | oh-b -os 60.00 109.50 14 | c2-b -oh 35.00 109.50 15 | c2-b -os 35.00 109.50 16 | b -oh-ho 35.00 109.50 17 | c2-c2-b 70.00 130.00 18 | b -os-c3 50.00 113.00 19 | 20 | DIHE 21 | oh-b -c2-c2 1 0.100 180.000 6. 22 | oh-b -c2-ha 1 0.020 0.000 6. 23 | os-b -c2-c2 1 0.100 180.000 6. 24 | os-b -c2-ha 1 0.020 0.000 6. 25 | c2-b -oh-ho 1 0.200 0.000 3. 26 | c2-b -os-c3 1 0.100 180.000 3. 27 | c3-c3-oh-b 1 0.010 0.000 3. 28 | 29 | NONB 30 | b 1.9800 0.0340 31 | 32 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_Nonbond_debugEvalDeclares.cc: -------------------------------------------------------------------------------- 1 | // DEFINE_EVAL 2 | struct { 3 | double x1; 4 | double y1; 5 | double z1; 6 | double x2; 7 | double y2; 8 | double z2; 9 | double dA; 10 | double dC; 11 | double dQ1Q2; 12 | double DeltaX; 13 | double DeltaY; 14 | double DeltaZ; 15 | double Energy; 16 | double Evdw; 17 | double Eeel; 18 | double fx1; 19 | double fy1; 20 | double fz1; 21 | double fx2; 22 | double fy2; 23 | double fz2; 24 | double dhx1x1; 25 | double dhy1y1; 26 | double dhz1z1; 27 | double dhx2x2; 28 | double dhy2y2; 29 | double dhz2z2; 30 | double ohx1y1; 31 | double ohx1z1; 32 | double ohx1x2; 33 | double ohx1y2; 34 | double ohx1z2; 35 | double ohy1z1; 36 | double ohy1x2; 37 | double ohy1y2; 38 | double ohy1z2; 39 | double ohz1x2; 40 | double ohz1y2; 41 | double ohz1z2; 42 | double ohx2y2; 43 | double ohx2z2; 44 | double ohy2z2; 45 | double NonbondDistance; 46 | } eval; 47 | -------------------------------------------------------------------------------- /src/lisp/cando-user/cando-user.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (asdf:defsystem #:cando-user 4 | :description "The CANDO user system" 5 | :version "0.0.1" 6 | :author "Christian Schafmeister " 7 | :licence "LGPL-3.0" 8 | :depends-on (#:cando-primop 9 | #:cando 10 | #:cando/documentation 11 | #:charges 12 | #:smiles 13 | #:leap 14 | #:leap-commands 15 | #:cando-sdf 16 | #:tirun 17 | #:sketch2d 18 | #:cando-build 19 | #:lparallel 20 | #:chem-info 21 | ) 22 | :serial t 23 | :components ((:file "packages") 24 | (:file "start-swank") 25 | (:file "sharp-bang-subshell") 26 | (:file "graphviz") 27 | (:file "cl-jupyter") 28 | (:file "extension"))) 29 | -------------------------------------------------------------------------------- /src/lisp/cando/chemistry.lisp: -------------------------------------------------------------------------------- 1 | 2 | (in-package :cando) 3 | 4 | (defvar *amide-smarts* #-nosmarts(chem:compile-smarts "N[C&D3]~O")) 5 | (defvar *imidazole-n* #-nosmarts(chem:compile-smarts "N([C&D3])[C&D3]")) 6 | 7 | (defun calculate-hybridization (atom) 8 | "* Arguments 9 | - atom : chem:atom 10 | * Description 11 | Calculate the hybridization of the atom based on the number of neighbors 12 | and the element." 13 | (let ((neighbors (chem:number-of-bonds atom))) 14 | (case (chem:get-element atom) 15 | (:C (case neighbors 16 | (2 :sp) 17 | (3 :sp2) 18 | (otherwise :sp3))) 19 | (:N (cond 20 | ((or (chem:matches *amide-smarts* atom) 21 | (chem:matches *imidazole-n* atom)) 22 | :sp2) 23 | ((= neighbors 2) :sp2) 24 | (t :sp3))) 25 | ((:O :S) 26 | (cond 27 | ((= neighbors 1) :sp2) 28 | (t :sp3)))))) 29 | -------------------------------------------------------------------------------- /include/cando/energy-functions/_NONBONDRB_debugEvalSet.cc: -------------------------------------------------------------------------------- 1 | // SET_EVAL 2 | EVAL_SET(ak, ak); 3 | EVAL_SET(bk, bk); 4 | EVAL_SET(ck, ck); 5 | EVAL_SET(dk, dk); 6 | EVAL_SET(xk, xk); 7 | EVAL_SET(yk, yk); 8 | EVAL_SET(zk, zk); 9 | EVAL_SET(al, al); 10 | EVAL_SET(bl, bl); 11 | EVAL_SET(cl, cl); 12 | EVAL_SET(dl, dl); 13 | EVAL_SET(xl, xl); 14 | EVAL_SET(yl, yl); 15 | EVAL_SET(zl, zl); 16 | EVAL_SET(Energy, Energy); 17 | EVAL_SET(EnergyVdw, EnergyVdw); 18 | EVAL_SET(EnergyElectrostatic, EnergyElectrostatic); 19 | EVAL_SET(fam, fam); 20 | EVAL_SET(fbm, fbm); 21 | EVAL_SET(fcm, fcm); 22 | EVAL_SET(fdm, fdm); 23 | EVAL_SET(fxm, fxm); 24 | EVAL_SET(fym, fym); 25 | EVAL_SET(fzm, fzm); 26 | EVAL_SET(fan, fan); 27 | EVAL_SET(fbn, fbn); 28 | EVAL_SET(fcn, fcn); 29 | EVAL_SET(fdn, fdn); 30 | EVAL_SET(fxn, fxn); 31 | EVAL_SET(fyn, fyn); 32 | EVAL_SET(fzn, fzn); 33 | EVAL_SET(nonbondRBDeviation, nonbondRBDeviation); 34 | -------------------------------------------------------------------------------- /src/lisp/smarts/src/smarts/parser/test.lisp: -------------------------------------------------------------------------------- 1 | ;;;(cl:in-package #:language.smarts.parser) 2 | (in-package :language.smarts.parser) 3 | 4 | ;;; Symbols 5 | 6 | (do-external-symbols (s '#:language.smarts.parser) 7 | (format t "~36A -> ~A~%" s (not (null (esrap:find-rule s))))) 8 | 9 | ;;; Test 10 | 11 | (parse "[CH1D3:3]" 'list) 12 | 13 | (parse "B1=C(-P)-P1" 'list) 14 | 15 | (parse "B1=C(-[30Al+5@OH3])-[P--]1" 'list) 16 | 17 | (parse "C1=CC=CC=C1" 'list) 18 | 19 | #+not-sure-how-this-works (bp:with-builder ('list) 20 | (esrap:parse 'smarts "C:1:C:C:C:C:C1")) 21 | 22 | (parse "n1c[nH]cc1" 'list) 23 | 24 | (parse "[c;C&na]" 'list) 25 | 26 | (progn 27 | (terpri) 28 | (bp.print-tree:serialize 29 | 'list (parse "[C&!5C@@;BrH3]-C+3/?[3Cl]~C[*]C[R7]" 'list) *standard-output*)) 30 | 31 | (progn 32 | (terpri) 33 | (bp.print-tree:serialize 34 | 'list (parse "[$([OH2][C,S,P]=O),$([10O]1nnnc1)]" 'list) *standard-output*)) 35 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_NONBONDRBPB_debugEvalSet.cc: -------------------------------------------------------------------------------- 1 | // SET_EVAL 2 | EVAL_SET(ak, ak); 3 | EVAL_SET(bk, bk); 4 | EVAL_SET(ck, ck); 5 | EVAL_SET(dk, dk); 6 | EVAL_SET(xk, xk); 7 | EVAL_SET(yk, yk); 8 | EVAL_SET(zk, zk); 9 | EVAL_SET(al, al); 10 | EVAL_SET(bl, bl); 11 | EVAL_SET(cl, cl); 12 | EVAL_SET(dl, dl); 13 | EVAL_SET(xl, xl); 14 | EVAL_SET(yl, yl); 15 | EVAL_SET(zl, zl); 16 | EVAL_SET(Energy, Energy); 17 | EVAL_SET(DeltaX, DeltaX); 18 | EVAL_SET(DeltaY, DeltaY); 19 | EVAL_SET(DeltaZ, DeltaZ); 20 | EVAL_SET(fam, fam); 21 | EVAL_SET(fbm, fbm); 22 | EVAL_SET(fcm, fcm); 23 | EVAL_SET(fdm, fdm); 24 | EVAL_SET(fxm, fxm); 25 | EVAL_SET(fym, fym); 26 | EVAL_SET(fzm, fzm); 27 | EVAL_SET(fan, fan); 28 | EVAL_SET(fbn, fbn); 29 | EVAL_SET(fcn, fcn); 30 | EVAL_SET(fdn, fdn); 31 | EVAL_SET(fxn, fxn); 32 | EVAL_SET(fyn, fyn); 33 | EVAL_SET(fzn, fzn); 34 | EVAL_SET(nonbondRBDeviation, nonbondRBDeviation); 35 | -------------------------------------------------------------------------------- /src/lisp/cando/constitution.lisp: -------------------------------------------------------------------------------- 1 | (in-package :cando) 2 | 3 | (defun make-simple-topology-from-residue (residue &key (pdb-name (chem:get-name residue)) verbose) 4 | "Build everything necessary to create a simple topology from a residue." 5 | (or pdb-name (error "The residue must have a non-nil name")) 6 | (let* ((constitution-atoms (topology:make-constitution-atoms-from-residue residue verbose)) 7 | (stereoisomer (make-instance 'topology:stereoisomer 8 | :name (chem:get-name residue) 9 | :pdb pdb-name 10 | :stereoconfigurations nil)) 11 | (constitution (make-instance 'topology:constitution 12 | :name pdb-name 13 | :constitution-atoms constitution-atoms)) 14 | (topology (topology:make-topology-from-residue residue pdb-name constitution))) 15 | (values topology constitution))) 16 | -------------------------------------------------------------------------------- /src/lisp/cando-user/graphviz.lisp: -------------------------------------------------------------------------------- 1 | (in-package :cando-user) 2 | 3 | (defun graphviz-dot (graphviz-renderer-name object-to-render &optional filename) 4 | "Generate a PDF for an object using graphviz dot. 5 | The output will be written to a file named **filename**. 6 | If **filename** is nil then it will be written to the name graphviz-renderer-name.pdf 7 | Graphviz dot must be installed and in the current path." 8 | (let* ((pdf-pname (if filename 9 | (make-pathname :name (pathname-name filename) :type "pdf") 10 | (pathname (format nil "~a.pdf" (string graphviz-renderer-name))))) 11 | (dot-pname (make-pathname :type "dot" :defaults pdf-pname)) 12 | (dot-cmd (list "dot" "-o" (namestring pdf-pname) 13 | "-T" "pdf" 14 | (namestring dot-pname)))) 15 | (format t "Running: ~{~a ~}~%" dot-cmd) 16 | (funcall graphviz-renderer-name object-to-render dot-pname) 17 | (ext:vfork-execvp dot-cmd))) 18 | -------------------------------------------------------------------------------- /src/lisp/topology/serial.lisp: -------------------------------------------------------------------------------- 1 | (in-package #:serial) 2 | 3 | (defclass serializable () ()) 4 | 5 | (defmethod print-object ((obj serializable) stream) 6 | (if *print-readably* 7 | (cando.serialize:print-object-readably-with-slots obj stream) ; in subclass: (call-next-method) 8 | (print-unreadable-object (obj stream :type t) 9 | ;; in subclass: whatever you want here 10 | ))) 11 | 12 | (defmethod conspack:encode-object append 13 | ((obj serializable) &key &allow-other-keys) 14 | (loop for slotd in (clos:class-slots (class-of obj)) 15 | for slot-name = (clos:slot-definition-name slotd) 16 | when (slot-boundp obj slot-name) 17 | collect (cons slot-name (slot-value obj slot-name)))) 18 | 19 | (defmethod conspack:decode-object-initialize progn 20 | ((object serializable) class alist &key &allow-other-keys) 21 | (declare (ignore class)) 22 | (loop for (name . value) in alist 23 | do (setf (slot-value object name) value))) 24 | 25 | -------------------------------------------------------------------------------- /src/examples/lysozyme-tirun/bnz_phn.pdb: -------------------------------------------------------------------------------- 1 | HETATM 1301 C1 BNZ A 400 25.978 5.327 4.779 1.00 20.05 C 2 | HETATM 1302 C2 BNZ A 400 26.395 5.074 3.499 1.00 21.25 C 3 | HETATM 1303 C3 BNZ A 400 27.340 5.860 2.902 1.00 26.80 C 4 | HETATM 1304 C4 BNZ A 400 27.837 6.921 3.569 1.00 21.02 C 5 | HETATM 1305 C5 BNZ A 400 27.420 7.196 4.856 1.00 25.56 C 6 | HETATM 1306 C6 BNZ A 400 26.498 6.379 5.469 1.00 26.48 C 7 | TER 8 | HETATM 1307 C1 PHN A 401 25.978 5.327 4.779 1.00 20.05 C 9 | HETATM 1308 C2 PHN A 401 26.395 5.074 3.499 1.00 21.25 C 10 | HETATM 1309 C3 PHN A 401 27.340 5.860 2.902 1.00 26.80 C 11 | HETATM 1310 C4 PHN A 401 27.837 6.921 3.569 1.00 21.02 C 12 | HETATM 1311 C5 PHN A 401 27.420 7.196 4.856 1.00 25.56 C 13 | HETATM 1312 C6 PHN A 401 26.498 6.379 5.469 1.00 26.48 C 14 | END 15 | -------------------------------------------------------------------------------- /documentation/Makefile: -------------------------------------------------------------------------------- 1 | NAME=cando 2 | 3 | TEXFILES=$(NAME).tex $(shell ./tex-dependencies $(NAME).tex) 4 | BIBFILES=$(NAME).bib 5 | PDF_T=$(shell ./strip-dependence inputfig $(TEXFILES)) 6 | VERBATIM=$(shell ./strip-dependence verbatimtabinput $(TEXFILES)) 7 | CODEFILES=$(shell ./strip-dependence inputcode $(TEXFILES)) 8 | PDF=$(subst .pdf_t,.pdf,$(PDF_T)) 9 | 10 | all : $(NAME).pdf 11 | 12 | %.pdf: %.fig 13 | # fig2dev -Lpdftex -m 0.75 $< $@ 14 | 15 | # %.pdf_t: %.fig %.pdf 16 | # fig2dev -Lpdftex_t -m 0.75 -p $(basename $<).pdf $< $@ 17 | 18 | # %.code: %.lisp 19 | # ./codify $< 20 | 21 | $(NAME).pdf: $(TEXFILES) $(PDF) $(PDF_T) $(VERBATIM) $(CODEFILES) $(BIBFILES) 22 | echo Starting pdflatexc 23 | pdflatexc $< 24 | makeindex $(NAME) 25 | bibtex $(NAME) 26 | pdflatexc $< 27 | pdflatexc $< 28 | 29 | # # view: $(NAME).pdf 30 | # # xpdf $< 31 | 32 | clean: 33 | rm -f *.aux *.log *~ *.pdf *.pdf *.pdf_t *.bbl *.blg 34 | 35 | # # spotless: clean 36 | # # rm -f *.ps *.dvi *.pdf *.pdf_t *.toc *.idx *.ilg *.ind *.fig.bak 37 | # # rm -f *.out *.cb *.cb2 38 | -------------------------------------------------------------------------------- /src/lisp/amber/params.lisp: -------------------------------------------------------------------------------- 1 | (in-package amber.params) 2 | 3 | (defun parse-mass-db (fin) 4 | (let ((nonbond-db (chem:make-ffnonbond-db)) 5 | (atom-types (make-hash-table))) 6 | (loop for ol = (read-line fin nil :eof) 7 | until (= (length ol) 0) 8 | do (let* ((parts (split-sequence:split-sequence-if (lambda (ch) 9 | (or (char= #\Space ch) 10 | (char= #\Tab ch))) 11 | ol))) 12 | (typename (elt parts 0)) 13 | (mass (elt parts 1)) 14 | (polarizability (elt parts 2)) 15 | (nb (chem:make-ffnonbond))) 16 | (setf (gethash nb atom-types) (intern typename :keyword)) 17 | (chem:set-mass nb (util:parse-float mass)) 18 | (chem:set-polarizability nb (util:parse-float polarizability)) 19 | (chem:ffnonbond-db-add nonbond-db nb))) 20 | (values nonbond-db atom-types)) 21 | -------------------------------------------------------------------------------- /cando-user-install: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | mkdir -p "$HOME/.local/bin" # TODO Check to see if it is in the path 4 | 5 | if [ ! -f "$HOME/quicklisp/setup.lisp" ]; then 6 | echo "Installing Quicklisp..." 7 | tmpfile=$(mktemp) 8 | curl -fsLo $tmpfile https://beta.quicklisp.org/quicklisp.lisp 9 | clasp --non-interactive --load $tmpfile --eval "(quicklisp-quickstart:install)" --eval "(ql-util:without-prompting (ql:add-to-init-file))" 10 | rm $tmpfile 11 | elif [ ! -f "$HOME/.clasprc" ]; then 12 | echo "Creating clasprc..." 13 | clasp --non-interactive --load $HOME/quicklisp/setup.lisp --eval "(ql-util:without-prompting (ql:add-to-init-file))" 14 | fi 15 | 16 | echo "Updating Quicklisp..." 17 | clasp --non-interactive --eval "(unless (ql-dist:find-dist \"quickclasp\") (ql-dist:install-dist \"http://quickclasp.thirdlaw.tech/quickclasp.txt\" :prompt nil))" \ 18 | --eval "(ql:update-all-dists :prompt nil)" 19 | 20 | echo "Installing CANDO user features..." 21 | cando --eval "(ql:quickload :cando-user-install)" --eval "(cando-user-install:install)" --eval "(sys:quit)" 22 | -------------------------------------------------------------------------------- /src/lisp/regression-tests/geometry.lisp: -------------------------------------------------------------------------------- 1 | (in-package #:clasp-tests) 2 | 3 | 4 | (test-true sign-dihedral (> (geom:calculate-dihedral (geom:vec -1.0 1.0 0.0) (geom:vec -1.0 0.0 0.0) (geom:vec 0.0 0.0 0.0) (geom:vec 0.0 0.0 1.0)) 0.0)) 5 | (test-true sign-inv-dihedral (< (geom:vz (geom:point-from-stub-and-internal-coordinates (geom:make-matrix t) 1.0 (/ pi 2.0) (/ pi 2.0))) 0.0)) 6 | (test-true sign-other-dihedral (> (geom:vz (geom:build-using-bond-angle-dihedral 7 | 1.0 (geom:vec 0.0 0.0 0.0) 8 | (/ pi 2.0) (geom:vec -1.0 0.0 0.0) 9 | (/ pi 2.0) (geom:vec -1.0 1.0 0.0))) 10 | 0.0)) 11 | (test-true sign-plane-vector-angle1 (< (geom:plane-vector-angle 1.0 1.0) 0.0)) 12 | (test-true sign-plane-vector-angle2 (< (geom:plane-vector-angle -1.0 1.0) 0.0)) 13 | (test-true sign-plane-vector-angle3 (> (geom:plane-vector-angle 1.0 -1.0) 0.0)) 14 | (test-true sign-plane-vector-angle4 (> (geom:plane-vector-angle -1.0 -1.0) 0.0)) 15 | -------------------------------------------------------------------------------- /src/lisp/smarts/language.smarts.language-server.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem language.smarts.language-server 4 | :description "TODO" 5 | :license "TODO" 6 | :author "Jan Moringen " 7 | 8 | :version (:read-file-form "version-string.sexp") 9 | :depends-on ((:version "protocol.language-server" "0.1") 10 | 11 | (:version "language.smiles" (:read-file-form "version-string.sexp")) 12 | (:version "language.smarts" (:read-file-form "version-string.sexp")) 13 | 14 | (:version "text.source-location.lookup" "0.1") 15 | (:version "text.source-location.source-tracking-builder" "0.1")) 16 | 17 | :components ((:module "language-server" 18 | :pathname "src/language-server" 19 | :serial t 20 | :components ((:file "package")))) 21 | 22 | :entry-point "LANGUAGE.SMARTS.LANGUAGE-SERVER::LANGUAGE-SERVER") 23 | -------------------------------------------------------------------------------- /src/lisp/cando-widgets/cando-widgets.asd: -------------------------------------------------------------------------------- 1 | ;;; Copyright (c) 2020, Christian E. Schafmeister 2 | ;;; Published under the GPL 2.0. See COPYING 3 | ;;; 4 | 5 | (asdf:defsystem #:cando-widgets 6 | :description "Common widgets for CANDO Jupyter" 7 | :version "0.0.1" 8 | :author ("Christian Schafmeister " 9 | "Tarn W. Burton ") 10 | :licence "GPL2" 11 | :depends-on (#:common-lisp-jupyter 12 | #:cytoscape-clj 13 | #:lparallel 14 | #:netcdf 15 | #:ngl-clj 16 | #:quri 17 | #:resizable-box-clj 18 | #:sketch2d 19 | #:static-vectors) 20 | :serial t 21 | :components ((:file "packages") 22 | (:file "show") 23 | (:file "ngl-util") 24 | (:file "molecule-select") 25 | (:file "pages") 26 | (:file "workspace-task-page") 27 | (:file "ngl-structure-viewer") 28 | (:file "molecule-map") 29 | (:file "interactive-tools"))) 30 | 31 | -------------------------------------------------------------------------------- /src/lisp/leap/leap.asd: -------------------------------------------------------------------------------- 1 | (asdf:defsystem #:leap 2 | :description "Amber related code" 3 | :version "0.0.1" 4 | :author "Christian Schafmeister " 5 | :licence "LGPL-3.0" 6 | :depends-on (#:cando 7 | #:smirnoff 8 | #:inet 9 | #:netcdf 10 | #:smiles 11 | #:static-vectors 12 | #:alexandria 13 | #:split-sequence) 14 | :serial t 15 | :components ((:file "packages") 16 | (:file "antechamber-type-definition-parser") 17 | (:file "chem") 18 | (:file "atom-types") 19 | (:file "topology") 20 | (:file "grammar") 21 | (:file "off") 22 | (:file "core") 23 | (:file "solvate") 24 | (:file "add-ions") 25 | (:file "set-box") 26 | (:file "cando-database") 27 | (:file "pdb") 28 | (:file "leap") 29 | (:file "commands" :depends-on ("topology" "core")) 30 | (:file "easy") 31 | (:file "align-axes"))) 32 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_Erep_debugEvalSet.cc: -------------------------------------------------------------------------------- 1 | // SET_EVAL 2 | EVAL_SET(x1, x1); 3 | EVAL_SET(y1, y1); 4 | EVAL_SET(z1, z1); 5 | EVAL_SET(x2, x2); 6 | EVAL_SET(y2, y2); 7 | EVAL_SET(z2, z2); 8 | EVAL_SET(crep, crep); 9 | EVAL_SET(Erep, Erep); 10 | EVAL_SET(fx1, fx1); 11 | EVAL_SET(fy1, fy1); 12 | EVAL_SET(fz1, fz1); 13 | EVAL_SET(fx2, fx2); 14 | EVAL_SET(fy2, fy2); 15 | EVAL_SET(fz2, fz2); 16 | EVAL_SET(dhx1x1, dhx1x1); 17 | EVAL_SET(dhy1y1, dhy1y1); 18 | EVAL_SET(dhz1z1, dhz1z1); 19 | EVAL_SET(dhx2x2, dhx2x2); 20 | EVAL_SET(dhy2y2, dhy2y2); 21 | EVAL_SET(dhz2z2, dhz2z2); 22 | EVAL_SET(ohx1y1, ohx1y1); 23 | EVAL_SET(ohx1z1, ohx1z1); 24 | EVAL_SET(ohx1x2, ohx1x2); 25 | EVAL_SET(ohx1y2, ohx1y2); 26 | EVAL_SET(ohx1z2, ohx1z2); 27 | EVAL_SET(ohy1z1, ohy1z1); 28 | EVAL_SET(ohy1x2, ohy1x2); 29 | EVAL_SET(ohy1y2, ohy1y2); 30 | EVAL_SET(ohy1z2, ohy1z2); 31 | EVAL_SET(ohz1x2, ohz1x2); 32 | EVAL_SET(ohz1y2, ohz1y2); 33 | EVAL_SET(ohz1z2, ohz1z2); 34 | EVAL_SET(ohx2y2, ohx2y2); 35 | EVAL_SET(ohx2z2, ohx2z2); 36 | EVAL_SET(ohy2z2, ohy2z2); 37 | EVAL_SET(ErepDistance, ErepDistance); 38 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_ImproperRestraint_debugEvalSerialize.cc: -------------------------------------------------------------------------------- 1 | // XML_EVAL 2 | node->attributeIfNotDefault("evalx1", this->eval.x1, 0.0 ); 3 | node->attributeIfNotDefault("evaly1", this->eval.y1, 0.0 ); 4 | node->attributeIfNotDefault("evalz1", this->eval.z1, 0.0 ); 5 | node->attributeIfNotDefault("evalx2", this->eval.x2, 0.0 ); 6 | node->attributeIfNotDefault("evaly2", this->eval.y2, 0.0 ); 7 | node->attributeIfNotDefault("evalz2", this->eval.z2, 0.0 ); 8 | node->attributeIfNotDefault("evalx3", this->eval.x3, 0.0 ); 9 | node->attributeIfNotDefault("evaly3", this->eval.y3, 0.0 ); 10 | node->attributeIfNotDefault("evalz3", this->eval.z3, 0.0 ); 11 | node->attributeIfNotDefault("evalx4", this->eval.x4, 0.0 ); 12 | node->attributeIfNotDefault("evaly4", this->eval.y4, 0.0 ); 13 | node->attributeIfNotDefault("evalz4", this->eval.z4, 0.0 ); 14 | node->attributeIfNotDefault("evalK", this->eval.K, 0.0 ); 15 | node->attributeIfNotDefault("evalL", this->eval.L, 0.0 ); 16 | node->attributeIfNotDefault("evalU", this->eval.U, 0.0 ); 17 | node->attributeIfNotDefault("evalimproperRestraintOutputs", this->eval.improperRestraintOutputs, 0.0 ); 18 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_Stretch_debugEvalSet.cc: -------------------------------------------------------------------------------- 1 | // SET_EVAL 2 | EVAL_SET(x1, x1); 3 | EVAL_SET(y1, y1); 4 | EVAL_SET(z1, z1); 5 | EVAL_SET(x2, x2); 6 | EVAL_SET(y2, y2); 7 | EVAL_SET(z2, z2); 8 | EVAL_SET(r0, r0); 9 | EVAL_SET(kb, kb); 10 | EVAL_SET(Energy, Energy); 11 | EVAL_SET(fx1, fx1); 12 | EVAL_SET(fy1, fy1); 13 | EVAL_SET(fz1, fz1); 14 | EVAL_SET(fx2, fx2); 15 | EVAL_SET(fy2, fy2); 16 | EVAL_SET(fz2, fz2); 17 | EVAL_SET(dhx1x1, dhx1x1); 18 | EVAL_SET(dhy1y1, dhy1y1); 19 | EVAL_SET(dhz1z1, dhz1z1); 20 | EVAL_SET(dhx2x2, dhx2x2); 21 | EVAL_SET(dhy2y2, dhy2y2); 22 | EVAL_SET(dhz2z2, dhz2z2); 23 | EVAL_SET(ohx1y1, ohx1y1); 24 | EVAL_SET(ohx1z1, ohx1z1); 25 | EVAL_SET(ohx1x2, ohx1x2); 26 | EVAL_SET(ohx1y2, ohx1y2); 27 | EVAL_SET(ohx1z2, ohx1z2); 28 | EVAL_SET(ohy1z1, ohy1z1); 29 | EVAL_SET(ohy1x2, ohy1x2); 30 | EVAL_SET(ohy1y2, ohy1y2); 31 | EVAL_SET(ohy1z2, ohy1z2); 32 | EVAL_SET(ohz1x2, ohz1x2); 33 | EVAL_SET(ohz1y2, ohz1y2); 34 | EVAL_SET(ohz1z2, ohz1z2); 35 | EVAL_SET(ohx2y2, ohx2y2); 36 | EVAL_SET(ohx2z2, ohx2z2); 37 | EVAL_SET(ohy2z2, ohy2z2); 38 | EVAL_SET(StretchDeviation, StretchDeviation); 39 | -------------------------------------------------------------------------------- /src/lisp/leap/easy.lisp: -------------------------------------------------------------------------------- 1 | (in-package :leap) 2 | 3 | (defun add-gaff () 4 | (load-atom-type-rules "ATOMTYPE_GFF.DEF") 5 | (load-amber-params "gaff.dat")) 6 | 7 | (defun easy-gaff (&optional (parm-file "gaff.dat")) 8 | (leap.core:clear-path) 9 | (leap.core:add-path "amber:dat;leap;prep;") 10 | (leap.core:add-path "amber:dat;leap;lib;") 11 | (leap.core:add-path "amber:dat;leap;parm;") 12 | (leap.core:add-path "amber:dat;leap;cmd;") 13 | (leap.core:add-path "amber:dat;antechamber;") 14 | (leap.core:add-path *default-pathname-defaults*) 15 | (leap.core:clear-force-field) 16 | (load-atom-type-rules "ATOMTYPE_GFF.DEF") 17 | (load-amber-params parm-file)) 18 | 19 | (defun easy-gaff2 (&optional (parm-file "gaff2.dat")) 20 | (leap.core:clear-path) 21 | (leap.core:add-path "amber:dat;leap;prep;") 22 | (leap.core:add-path "amber:dat;leap;lib;") 23 | (leap.core:add-path "amber:dat;leap;parm;") 24 | (leap.core:add-path "amber:dat;leap;cmd;") 25 | (leap.core:add-path "amber:dat;antechamber;") 26 | (leap.core:add-path *default-pathname-defaults*) 27 | (leap.core:clear-force-field) 28 | (load-atom-type-rules "ATOMTYPE_GFF2.DEF") 29 | (load-amber-params parm-file)) 30 | -------------------------------------------------------------------------------- /src/lisp/cando-build/build.lisp: -------------------------------------------------------------------------------- 1 | (in-package :cando-build) 2 | 3 | 4 | (defun make-atom (atom-name element &rest rest &key &allow-other-keys) 5 | "Make an atom and set all of its properties, next step needs to bond atom to something." 6 | (let ((atm (chem:make-atom atom-name element))) 7 | (alexandria:doplist (key value rest) atm 8 | (leap.commands::set-property atm key value)) 9 | atm)) 10 | 11 | (defun calc-mol-charge (molecule) 12 | "Calculate the charge on all atoms assigned to -molecule-, can be a single atom up to a whole molecule." 13 | (let ((charge-a 0.0)) 14 | (chem:do-atoms (atm molecule) 15 | (incf charge-a (chem:get-charge atm))) 16 | charge-a)) 17 | 18 | (defun bond-atoms (atom1 atom2 bond-order) 19 | "Bond atoms 1 and 2 using specified bond-order. If atom is new, include it in a new or existing residue" 20 | (chem:bond-to atom1 atom2 bond-order)) 21 | 22 | (defun add-atom-to-residue (residue atom-name) 23 | "Add a single atom to an existing residue" 24 | (chem:add-atom residue atom-name)) 25 | 26 | (defun make-new-residue (name) 27 | "Create a new residue assigned -name-" 28 | (chem:make-residue name)) 29 | 30 | 31 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_Oozp_debugEvalSerialize.cc: -------------------------------------------------------------------------------- 1 | // XML_EVAL 2 | node->attributeIfNotDefault("evalx1", this->eval.x1, 0.0 ); 3 | node->attributeIfNotDefault("evaly1", this->eval.y1, 0.0 ); 4 | node->attributeIfNotDefault("evalz1", this->eval.z1, 0.0 ); 5 | node->attributeIfNotDefault("evalkb", this->eval.kb, 0.0 ); 6 | node->attributeIfNotDefault("evalza", this->eval.za, 0.0 ); 7 | node->attributeIfNotDefault("evalEnergy", this->eval.Energy, 0.0 ); 8 | node->attributeIfNotDefault("evalfx1", this->eval.fx1, 0.0 ); 9 | node->attributeIfNotDefault("evalfy1", this->eval.fy1, 0.0 ); 10 | node->attributeIfNotDefault("evalfz1", this->eval.fz1, 0.0 ); 11 | node->attributeIfNotDefault("evaldhx1x1", this->eval.dhx1x1, 0.0 ); 12 | node->attributeIfNotDefault("evaldhy1y1", this->eval.dhy1y1, 0.0 ); 13 | node->attributeIfNotDefault("evaldhz1z1", this->eval.dhz1z1, 0.0 ); 14 | node->attributeIfNotDefault("evalohx1y1", this->eval.ohx1y1, 0.0 ); 15 | node->attributeIfNotDefault("evalohx1z1", this->eval.ohx1z1, 0.0 ); 16 | node->attributeIfNotDefault("evalohy1z1", this->eval.ohy1z1, 0.0 ); 17 | node->attributeIfNotDefault("evalOozpDeviation", this->eval.OozpDeviation, 0.0 ); 18 | -------------------------------------------------------------------------------- /src/units/symbols.inc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | currentPackage(UnitsPkg) 5 | 6 | 7 | SYMBOL_SC_(meters); 8 | SYMBOL_SC_(kilometers); 9 | SYMBOL_SC_(millimeters); 10 | SYMBOL_SC_(micrometers); 11 | SYMBOL_SC_(nanometers); 12 | SYMBOL_SC_(picometers); 13 | SYMBOL_SC_(angstroms); 14 | 15 | SYMBOL_SC_(kilograms); 16 | SYMBOL_SC_(grams); 17 | SYMBOL_SC_(daltons); 18 | 19 | SYMBOL_SC_(seconds); 20 | SYMBOL_SC_(milliseconds); 21 | SYMBOL_SC_(microseconds); 22 | SYMBOL_SC_(nanoseconds); 23 | SYMBOL_SC_(picoseconds); 24 | SYMBOL_SC_(femtoseconds); 25 | 26 | SYMBOL_SC_(per_picosecond); 27 | 28 | SYMBOL_SC_(amperes); 29 | SYMBOL_SC_(coulomb); 30 | SYMBOL_SC_(elementaryCharge); 31 | 32 | SYMBOL_SC_(kelvin); 33 | 34 | SYMBOL_SC_(candelas); 35 | 36 | SYMBOL_SC_(moles); 37 | 38 | 39 | // MultiDimensions 40 | SYMBOL_SC_(Joule); 41 | SYMBOL_SC_(joule); 42 | SYMBOL_SC_(Joules); 43 | SYMBOL_SC_(joules); 44 | SYMBOL_SC_(kiloJoule); 45 | SYMBOL_SC_(kilojoule); 46 | SYMBOL_SC_(kiloJoules); 47 | SYMBOL_SC_(kilojoules); 48 | SYMBOL_SC_(kiloJoules_per_mole); 49 | SYMBOL_SC_(kilojoules_per_mole); 50 | SYMBOL_SC_(kiloCalories_per_mole); 51 | SYMBOL_SC_(kilocalories_per_mole); 52 | SYMBOL_SC_(nm_per_ps); 53 | 54 | 55 | 56 | finish() -------------------------------------------------------------------------------- /include/cando/energy-functions/_NONBOND_POSITIONS_termDeclares.cc: -------------------------------------------------------------------------------- 1 | #if USE_EXPLICIT_DECLARES 2 | // declare variables 3 | DECLARE_FLOAT(plabmx); 4 | DECLARE_FLOAT(plabmy); 5 | DECLARE_FLOAT(plabmz); 6 | DECLARE_FLOAT(tx31); 7 | DECLARE_FLOAT(tx32); 8 | DECLARE_FLOAT(tx33); 9 | DECLARE_FLOAT(tx34); 10 | DECLARE_FLOAT(tx35); 11 | DECLARE_FLOAT(tx36); 12 | DECLARE_FLOAT(tx37); 13 | DECLARE_FLOAT(tx38); 14 | DECLARE_FLOAT(tx39); 15 | DECLARE_FLOAT(tx40); 16 | DECLARE_FLOAT(tx41); 17 | DECLARE_FLOAT(tx42); 18 | DECLARE_FLOAT(tx43); 19 | DECLARE_FLOAT(tx44); 20 | DECLARE_FLOAT(tx45); 21 | DECLARE_FLOAT(tx46); 22 | DECLARE_FLOAT(tx47); 23 | DECLARE_FLOAT(tx48); 24 | DECLARE_FLOAT(tx49); 25 | DECLARE_FLOAT(tx50); 26 | DECLARE_FLOAT(tx51); 27 | DECLARE_FLOAT(tx52); 28 | DECLARE_FLOAT(tx53); 29 | DECLARE_FLOAT(tx54); 30 | DECLARE_FLOAT(tx55); 31 | DECLARE_FLOAT(tx56); 32 | DECLARE_FLOAT(tx57); 33 | DECLARE_FLOAT(tx58); 34 | DECLARE_FLOAT(tx59); 35 | DECLARE_FLOAT(tx60); 36 | DECLARE_FLOAT(tzz61); 37 | DECLARE_FLOAT(tzz62); 38 | DECLARE_FLOAT(tzz63); 39 | DECLARE_FLOAT(tzz64); 40 | DECLARE_FLOAT(tzz65); 41 | DECLARE_FLOAT(tzz66); 42 | DECLARE_FLOAT(tzz67); 43 | DECLARE_FLOAT(tzz68); 44 | DECLARE_FLOAT(tzz69); 45 | 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_NONBONDRBPB_POSITIONS_termDeclares.cc: -------------------------------------------------------------------------------- 1 | #if USE_EXPLICIT_DECLARES 2 | // declare variables 3 | DECLARE_FLOAT(plabmx); 4 | DECLARE_FLOAT(plabmy); 5 | DECLARE_FLOAT(plabmz); 6 | DECLARE_FLOAT(tx31); 7 | DECLARE_FLOAT(tx32); 8 | DECLARE_FLOAT(tx33); 9 | DECLARE_FLOAT(tx34); 10 | DECLARE_FLOAT(tx35); 11 | DECLARE_FLOAT(tx36); 12 | DECLARE_FLOAT(tx37); 13 | DECLARE_FLOAT(tx38); 14 | DECLARE_FLOAT(tx39); 15 | DECLARE_FLOAT(tx40); 16 | DECLARE_FLOAT(tx41); 17 | DECLARE_FLOAT(tx42); 18 | DECLARE_FLOAT(tx43); 19 | DECLARE_FLOAT(tx44); 20 | DECLARE_FLOAT(tx45); 21 | DECLARE_FLOAT(tx46); 22 | DECLARE_FLOAT(tx47); 23 | DECLARE_FLOAT(tx48); 24 | DECLARE_FLOAT(tx49); 25 | DECLARE_FLOAT(tx50); 26 | DECLARE_FLOAT(tx51); 27 | DECLARE_FLOAT(tx52); 28 | DECLARE_FLOAT(tx53); 29 | DECLARE_FLOAT(tx54); 30 | DECLARE_FLOAT(tx55); 31 | DECLARE_FLOAT(tx56); 32 | DECLARE_FLOAT(tx57); 33 | DECLARE_FLOAT(tx58); 34 | DECLARE_FLOAT(tx59); 35 | DECLARE_FLOAT(tx60); 36 | DECLARE_FLOAT(tzz61); 37 | DECLARE_FLOAT(tzz62); 38 | DECLARE_FLOAT(tzz63); 39 | DECLARE_FLOAT(tzz64); 40 | DECLARE_FLOAT(tzz65); 41 | DECLARE_FLOAT(tzz66); 42 | DECLARE_FLOAT(tzz67); 43 | DECLARE_FLOAT(tzz68); 44 | DECLARE_FLOAT(tzz69); 45 | 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /src/units/symbols.m4: -------------------------------------------------------------------------------- 1 | include(`../common/symbols.m4') 2 | 3 | 4 | currentPackage(UnitsPkg) 5 | 6 | 7 | SYMBOL_SC_(meters); 8 | SYMBOL_SC_(kilometers); 9 | SYMBOL_SC_(millimeters); 10 | SYMBOL_SC_(micrometers); 11 | SYMBOL_SC_(nanometers); 12 | SYMBOL_SC_(picometers); 13 | SYMBOL_SC_(angstroms); 14 | 15 | SYMBOL_SC_(kilograms); 16 | SYMBOL_SC_(grams); 17 | SYMBOL_SC_(daltons); 18 | 19 | SYMBOL_SC_(seconds); 20 | SYMBOL_SC_(milliseconds); 21 | SYMBOL_SC_(microseconds); 22 | SYMBOL_SC_(nanoseconds); 23 | SYMBOL_SC_(picoseconds); 24 | SYMBOL_SC_(femtoseconds); 25 | 26 | SYMBOL_SC_(per_picosecond); 27 | 28 | SYMBOL_SC_(amperes); 29 | SYMBOL_SC_(coulomb); 30 | SYMBOL_SC_(elementaryCharge); 31 | 32 | SYMBOL_SC_(kelvin); 33 | 34 | SYMBOL_SC_(candelas); 35 | 36 | SYMBOL_SC_(moles); 37 | 38 | 39 | // MultiDimensions 40 | SYMBOL_SC_(Joule); 41 | SYMBOL_SC_(joule); 42 | SYMBOL_SC_(Joules); 43 | SYMBOL_SC_(joules); 44 | SYMBOL_SC_(kiloJoule); 45 | SYMBOL_SC_(kilojoule); 46 | SYMBOL_SC_(kiloJoules); 47 | SYMBOL_SC_(kilojoules); 48 | SYMBOL_SC_(kiloJoules_per_mole); 49 | SYMBOL_SC_(kilojoules_per_mole); 50 | SYMBOL_SC_(kiloCalories_per_mole); 51 | SYMBOL_SC_(kilocalories_per_mole); 52 | SYMBOL_SC_(nm_per_ps); 53 | 54 | 55 | 56 | finish() -------------------------------------------------------------------------------- /src/lisp/cando/utility/directories.lisp: -------------------------------------------------------------------------------- 1 | (in-package :cando-utility) 2 | 3 | 4 | (defun home/ (path) 5 | (if (member :docker *features*) 6 | (pathname (format nil "/work/~a" (namestring path))) 7 | (let ((env-home (ext:getenv "HOME"))) 8 | (unless env-home (setf env-home "~")) 9 | (pathname (format nil "~a/~a" env-home (namestring path)))))) 10 | 11 | 12 | (defun current-directory () 13 | "Return the current directory" 14 | (ext:getcwd)) 15 | 16 | (defun mkdir (dir) 17 | "Create a directory realtive to the users home directory" 18 | (ensure-directories-exist (merge-pathnames (uiop:ensure-directory-pathname dir)))) 19 | 20 | (defun calculate-directory (dir) 21 | (let ((pn-dir (pathname (uiop:ensure-directory-pathname dir)))) 22 | (unless (eq :relative (car (pathname-directory pn-dir))) 23 | (error "Only relative directories are allowed")) 24 | (merge-pathnames pn-dir))) 25 | 26 | (defun set-current-directory (dir) 27 | "Set the current directory" 28 | (ext:chdir dir t)) 29 | 30 | (defun directory-files (&optional dir) 31 | (unless dir 32 | (setf dir (current-directory))) 33 | (let ((abs-dir (calculate-directory dir))) 34 | (uiop:directory-files abs-dir))) 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/lisp/tirun/gml.lisp: -------------------------------------------------------------------------------- 1 | ;;; Copyright (c) 2019, Christian E. Schafmeister 2 | ;;; Published under the GPL 2.0. See COPYING 3 | ;;; 4 | 5 | (in-package #:tirun-gml) 6 | 7 | (defun render-node (stream id name &key (color "white") (shape "rectangle")) 8 | (format stream " node~%") 9 | (format stream " [~%") 10 | (format stream " id ~a~%" id) 11 | (format stream " label ~s~%" (format nil "~a:~a" name id)) 12 | (format stream " graphics~%") 13 | (format stream " [~%") 14 | (format stream " type ~s~%" (string-downcase (string shape))) 15 | (format stream " fill ~s~%" (string-downcase (string color))) 16 | (format stream " ]~%") 17 | (format stream " ]~%")) 18 | 19 | (defun render-morph (stream source target label &key type) 20 | (when source 21 | (format stream " edge~%") 22 | (format stream " [~%") 23 | (format stream " source ~a~%" source) 24 | (format stream " target ~a~%" target) 25 | (format stream " label ~s~%" label) 26 | (format stream " graphics~%") 27 | (format stream " [~%") 28 | (format stream " width 2~%") 29 | (format stream " type ~s~%" "line") 30 | (format stream " ]~%") 31 | (format stream " ]~%"))) 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /src/lisp/molecule-graph/packages.lisp: -------------------------------------------------------------------------------- 1 | ;;; 2 | ;;; File: packages.lisp 3 | ;;; 4 | 5 | ;;; Copyright (c) 2016-2019, Christian E. Schafmeister 6 | ;;; Published under the GPL 2.0. See COPYING 7 | ;;; 8 | 9 | ;; 10 | ;; This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 11 | 12 | ;; -^- 13 | (cl:in-package #:common-lisp-user) 14 | 15 | (defpackage #:molecule-graph 16 | (:nicknames #:mg) 17 | (:use #:common-lisp) 18 | (:export 19 | #:atom-cluster 20 | #:atom-cluster-p 21 | #:atom-cluster-atoms 22 | #:compare-molecules 23 | #:element-match-with-frontier 24 | #:element-match 25 | #:element-and-name-match 26 | )) 27 | 28 | (defpackage #:molecule-graph.max-clique 29 | (:use #:common-lisp) 30 | (:export 31 | #:compare-molecules 32 | #:largest-connected-cluster-of-equivalent-atoms 33 | #:compare-molecules-return-largest-connected-cluster-of-equivalent-atoms 34 | )) 35 | 36 | (defpackage #:graphviz-molecule-graph 37 | (:use #:common-lisp) 38 | (:local-nicknames (#:mg #:molecule-graph)) 39 | (:export 40 | #:draw-graph-to-file 41 | #:draw-graph-to-stream 42 | )) 43 | 44 | 45 | -------------------------------------------------------------------------------- /include/cando/adapt/generated/_symbolTableAfterBuild.txt: -------------------------------------------------------------------------------- 1 | // symbolTable 2 | // SYMBOL_TABLE_ENTRY AdaptPkg 0 SymbolList_O SYMBOL-LIST export ; cName=_sym_SymbolList_O lispName=SYMBOL-LIST 3 | // SYMBOL_TABLE_ENTRY AdaptPkg 1 QDomNode_O QDOM-NODE export ; cName=_sym_QDomNode_O lispName=QDOM-NODE 4 | // SYMBOL_TABLE_ENTRY AdaptPkg 2 StringList_O STRING-LIST export ; cName=_sym_StringList_O lispName=STRING-LIST 5 | // SYMBOL_TABLE_ENTRY AdaptPkg 3 StringSet_O STRING-SET export ; cName=_sym_StringSet_O lispName=STRING-SET 6 | // SYMBOL_TABLE_ENTRY AdaptPkg 4 IterateCons_O ITERATE-CONS export ; cName=_sym_IterateCons_O lispName=ITERATE-CONS 7 | // SYMBOL_TABLE_ENTRY AdaptPkg 5 SymbolSet_O SYMBOL-SET export ; cName=_sym_SymbolSet_O lispName=SYMBOL-SET 8 | // SYMBOL_TABLE_ENTRY AdaptPkg 6 data DATA private ; cName=_sym_data lispName=DATA 9 | // SYMBOL_TABLE_ENTRY AdaptPkg 7 ObjectSet_O OBJECT-SET export ; cName=_sym_ObjectSet_O lispName=OBJECT-SET 10 | -------------------------------------------------------------------------------- /src/units/makefile: -------------------------------------------------------------------------------- 1 | include $(CLASP_HOME)/makefile.inc 2 | include ../../makefile.inc 3 | 4 | NEEDS=initClasses.inc symbols.inc 5 | 6 | sa subAll: $(NEEDS) 7 | make scrape 8 | $(BJAM) toolset=$(BUILD_TOOLSET) link=$(BUILD_LINK) threading=single install_dbg install_opt -j $(COMPILE_PROCESSORS) 9 | make subBundle 10 | 11 | 12 | sad subAllDebug: $(NEEDS) 13 | make scrape 14 | $(BJAM) toolset=$(BUILD_TOOLSET) link=$(BUILD_LINK) threading=single install_dbg -j $(COMPILE_PROCESSORS) 15 | make subBundle 16 | 17 | 18 | san: $(NEEDS) 19 | $(BJAM) toolset=$(BUILD_TOOLSET) link=$(BUILD_LINK) threading=single install_dbg install_opt -j $(COMPILE_PROCESSORS) -a -n >_bjam.txt 20 | 21 | sb subBundle: 22 | cp libs/[a-z]* $(CANDO_APP_LIB_DIR) 23 | bjd: 24 | $(BJAM) toolset=$(BUILD_TOOLSET) link=$(BUILD_LINK) threading=single debug -j $(COMPILE_PROCESSORS) 25 | 26 | initClasses.inc: *.h 27 | make mi 28 | 29 | 30 | 31 | 32 | subMeta sm: 33 | make cscrape 34 | # make m4 35 | make mi 36 | 37 | 38 | symbols.inc m4: symbols.m4 39 | m4 symbols.m4 >symbols.inc 40 | 41 | relink: 42 | rm libs/[a-z]* 43 | make sa 44 | 45 | subClean sc: 46 | rm -rf bin/* 47 | 48 | totalClean: 49 | rm -rf bin install_release 50 | 51 | 52 | 53 | sub-prebuild: 54 | make scrape-symbols 55 | make scrape-classes 56 | 57 | -------------------------------------------------------------------------------- /docker/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:latest 2 | MAINTAINER Christian Schafmeister 3 | RUN apt-get update 4 | RUN apt-get upgrade -y 5 | RUN apt-get install -y gcc g++ llvm clang cmake libgc-dev libgmp-dev binutils-gold binutils-dev zlib1g-dev libncurses-dev libboost-filesystem-dev libboost-regex-dev libboost-date-time-dev libboost-program-options-dev libboost-system-dev libboost-iostreams-dev 6 | RUN apt-get install -y git 7 | RUN git clone -b master https://github.com/drmeister/externals-clasp ~/externals-clasp 8 | RUN cd ~/externals-clasp && make 9 | RUN apt-get install -y sbcl 10 | RUN git clone -b testing https://github.com/drmeister/clasp ~/clasp 11 | RUN cd ~/clasp && echo "EXTERNALS_CLASP_DIR = '$HOME/externals-clasp'" > wscript.config 12 | RUN cd ~/clasp/extensions && git clone -b dev https://github.com/drmeister/cando.git cando 13 | RUN cd ~/clasp && ./waf update_submodules 14 | RUN cd ~/clasp && ./waf configure 15 | RUN cd ~/clasp && ./waf -j $(nproc) build_cboehm 16 | RUN cd ~/clasp/build && ./clasp 17 | RUN git clone https://github.com/slime/slime ~/slime 18 | RUN git clone https://github.com/quicklisp/quicklisp-client.git ~/quicklisp 19 | RUN /root/clasp/build/clasp -e "(load \"/root/slime/swank-loader.lisp\")" -e "(swank-loader:init :delete nil :reload nil :load-contribs nil)" -e "(quit)" 20 | ENTRYPOINT /bin/bash -------------------------------------------------------------------------------- /src/lisp/tirun-jupyter/packages.lisp: -------------------------------------------------------------------------------- 1 | ;;; 2 | ;;; File: packages.lisp 3 | ;;; 4 | 5 | ;;; Copyright (c) 2016-2019, Christian E. Schafmeister 6 | ;;; Published under the GPL 2.0. See COPYING 7 | ;;; 8 | 9 | ;; 10 | ;; This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 11 | 12 | ;; -^- 13 | (cl:in-package #:common-lisp-user) 14 | 15 | (defpackage #:tirun-jupyter 16 | (:use #:common-lisp) 17 | (:export 18 | #:all-edges 19 | #:all-ligands 20 | #:check-calc 21 | #:composer 22 | #:open-workspace 23 | #:save-workspace 24 | #:jobs 25 | #:load-ligands 26 | #:load-receptor 27 | #:load-template-ligand 28 | #:lomap 29 | #:new-workspace 30 | #:pasrun 31 | #:rbfe-map 32 | #:selected-ligands 33 | #:select-ligands 34 | #:submit-calc 35 | #:view-complex 36 | #:workspace 37 | #:write-jobs)) 38 | 39 | 40 | (import '(tirun-jupyter:all-ligands 41 | tirun-jupyter:selected-ligands 42 | tirun-jupyter:all-edges) 43 | :cando-user) 44 | 45 | 46 | (export '(tirun-jupyter:all-ligands 47 | tirun-jupyter:selected-ligands 48 | tirun-jupyter:all-edges) 49 | :cando-user) 50 | 51 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_AnchorRestraint_debugEvalSerialize.cc: -------------------------------------------------------------------------------- 1 | // XML_EVAL 2 | node->attributeIfNotDefault("evalx1", this->eval.x1, 0.0 ); 3 | node->attributeIfNotDefault("evaly1", this->eval.y1, 0.0 ); 4 | node->attributeIfNotDefault("evalz1", this->eval.z1, 0.0 ); 5 | node->attributeIfNotDefault("evalxa", this->eval.xa, 0.0 ); 6 | node->attributeIfNotDefault("evalya", this->eval.ya, 0.0 ); 7 | node->attributeIfNotDefault("evalza", this->eval.za, 0.0 ); 8 | node->attributeIfNotDefault("evalka", this->eval.ka, 0.0 ); 9 | node->attributeIfNotDefault("evalEnergy", this->eval.Energy, 0.0 ); 10 | node->attributeIfNotDefault("evalfx1", this->eval.fx1, 0.0 ); 11 | node->attributeIfNotDefault("evalfy1", this->eval.fy1, 0.0 ); 12 | node->attributeIfNotDefault("evalfz1", this->eval.fz1, 0.0 ); 13 | node->attributeIfNotDefault("evaldhx1x1", this->eval.dhx1x1, 0.0 ); 14 | node->attributeIfNotDefault("evaldhy1y1", this->eval.dhy1y1, 0.0 ); 15 | node->attributeIfNotDefault("evaldhz1z1", this->eval.dhz1z1, 0.0 ); 16 | node->attributeIfNotDefault("evalohx1y1", this->eval.ohx1y1, 0.0 ); 17 | node->attributeIfNotDefault("evalohx1z1", this->eval.ohx1z1, 0.0 ); 18 | node->attributeIfNotDefault("evalohy1z1", this->eval.ohy1z1, 0.0 ); 19 | node->attributeIfNotDefault("evalAnchorDeviation", this->eval.AnchorDeviation, 0.0 ); 20 | -------------------------------------------------------------------------------- /src/lisp/cando/modelling/modelling.lisp: -------------------------------------------------------------------------------- 1 | (in-package :modelling) 2 | 3 | ;;; Identifies atoms with property property-name and sorts them by the value 4 | ;;; Eg: You could have three atoms with property (:fix a) (:fix b) (:fix c) 5 | ;;; The atoms will be returned in the order a,b,c 6 | (defun sorted-atoms-with-property (agg property-name) 7 | (let* ((sorted-atoms 8 | (sort (cando:atoms-with-property agg property-name) #'string< 9 | :key (lambda (a) 10 | (string (getf (chem:get-properties a) property-name)))))) 11 | sorted-atoms)) 12 | 13 | (defun ensure-ovector3 (v) 14 | (typecase v 15 | (chem:ovector3 v) 16 | (vector (chem:make-ovector3 (elt v 0) (elt v 1) (elt v 2))) 17 | (cons (chem:make-ovector3 (first v) (second v) (third v))) 18 | (t (error "Add support for converting ~a to chem:ovector3" v)))) 19 | 20 | 21 | ;;; Create anchor restraints for the atoms in the fix-atoms list 22 | ;;; the anchors are a list of ovector3's or lists of three numbers or v 23 | (defun anchor-atoms (fix-atoms anchors &optional (weight 1.0)) 24 | (loop for atom in fix-atoms 25 | for pos in anchors 26 | do (let ((restraint-anchor (make-cxx-object 'chem:restraint-anchor :atom atom :position pos :weight weight))) 27 | (chem:add-restraint atom restraint-anchor)))) 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/lisp/sketch2d/examples/test.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 9 | 10 | 11 |

Here is a small bit of text which requires word 12 | wrap. The use of a foreignObject (with the appropriate XHTML 13 | namespace) makes that possible.

14 |

Nifty, eh?

15 | 16 |
17 | 19 | 21 | 22 |

The usual SVG transformations can be inflicted 23 | on foreignObjects, too.

24 |

This is niftier!

25 | 26 |
27 |
28 | -------------------------------------------------------------------------------- /src/units/tu.l: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | (defparameter x (units:seconds 1)) 5 | (defparameter y (units:meters 5)) 6 | 7 | (bformat t "\n") 8 | (bformat t "x = %s\n" x) 9 | (bformat t "y = %s\n" y) 10 | (bformat t "x*y = %s\n" (units:mul x y)) 11 | (bformat t "x/y = %s\n" (units:div x y)) 12 | 13 | 14 | (defparameter v1 (units:div (units:meters 5) (units:seconds))) 15 | (defparameter v2 (units:div (units:meters 10) (units:seconds))) 16 | (defparameter v3 (units:mul v2 v2)) 17 | 18 | (bformat t "v1 = %s\n" v1) 19 | (bformat t "v2 = %s\n" v2) 20 | (bformat t "v3 = %s\n" v3) 21 | (bformat t "reciprocal v3 = %s\n" (units:reciprocal v3)) 22 | (bformat t "sqrt v3 = %s\n" (units:sqrt v3)) 23 | (bformat t "v1+v2 = %s\n" (units:+ v1 v2)) 24 | (bformat t "v1*v2 = %s\n" (units:* v1 v2)) 25 | (bformat t "v1/v2 = %s\n" (units:/ v1 v2)) 26 | (bformat t "v1-v2 = %s\n" (units:- v1 v2)) 27 | (bformat t "v1^2 = %s\n" (units:pow v1 2)) 28 | (bformat t "v1*2.0 = %s\n" (units:mul-by-scalar v1 2.0)) 29 | (bformat t "v1/2.0 = %s\n" (units:div-by-scalar v1 2.0)) 30 | (bformat t "(amount v1/v2) = %s\n" (units:amount (units:div v1 v2))) 31 | 32 | (bformat t "(amount v1*(m^-1*s)) = %s\n" (units:amount (units:mul v1 (units:Quantity 1.0 :meters -1 :seconds)))) 33 | (bformat t "kB = %s\n" units:kB) 34 | (bformat t "R = %s\n" units:R) 35 | (bformat t "R in kcal = %s\n" (units:energy-to-kcal units:R)) 36 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_Nonbond_debugEvalSet.cc: -------------------------------------------------------------------------------- 1 | // SET_EVAL 2 | EVAL_SET(x1, x1); 3 | EVAL_SET(y1, y1); 4 | EVAL_SET(z1, z1); 5 | EVAL_SET(x2, x2); 6 | EVAL_SET(y2, y2); 7 | EVAL_SET(z2, z2); 8 | EVAL_SET(dA, dA); 9 | EVAL_SET(dC, dC); 10 | EVAL_SET(dQ1Q2, dQ1Q2); 11 | EVAL_SET(DeltaX, DeltaX); 12 | EVAL_SET(DeltaY, DeltaY); 13 | EVAL_SET(DeltaZ, DeltaZ); 14 | EVAL_SET(Energy, Energy); 15 | EVAL_SET(Evdw, Evdw); 16 | EVAL_SET(Eeel, Eeel); 17 | EVAL_SET(fx1, fx1); 18 | EVAL_SET(fy1, fy1); 19 | EVAL_SET(fz1, fz1); 20 | EVAL_SET(fx2, fx2); 21 | EVAL_SET(fy2, fy2); 22 | EVAL_SET(fz2, fz2); 23 | EVAL_SET(dhx1x1, dhx1x1); 24 | EVAL_SET(dhy1y1, dhy1y1); 25 | EVAL_SET(dhz1z1, dhz1z1); 26 | EVAL_SET(dhx2x2, dhx2x2); 27 | EVAL_SET(dhy2y2, dhy2y2); 28 | EVAL_SET(dhz2z2, dhz2z2); 29 | EVAL_SET(ohx1y1, ohx1y1); 30 | EVAL_SET(ohx1z1, ohx1z1); 31 | EVAL_SET(ohx1x2, ohx1x2); 32 | EVAL_SET(ohx1y2, ohx1y2); 33 | EVAL_SET(ohx1z2, ohx1z2); 34 | EVAL_SET(ohy1z1, ohy1z1); 35 | EVAL_SET(ohy1x2, ohy1x2); 36 | EVAL_SET(ohy1y2, ohy1y2); 37 | EVAL_SET(ohy1z2, ohy1z2); 38 | EVAL_SET(ohz1x2, ohz1x2); 39 | EVAL_SET(ohz1y2, ohz1y2); 40 | EVAL_SET(ohz1z2, ohz1z2); 41 | EVAL_SET(ohx2y2, ohx2y2); 42 | EVAL_SET(ohx2z2, ohx2z2); 43 | EVAL_SET(ohy2z2, ohy2z2); 44 | EVAL_SET(NonbondDistance, NonbondDistance); 45 | -------------------------------------------------------------------------------- /src/openmmPackage/makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | include $(CLASP_HOME)/makefile.inc 5 | 6 | 7 | M4_NEEDS = openmmExpose.scrape.inc 8 | NEEDS = initClasses.inc $(M4_NEEDS) 9 | 10 | 11 | 12 | sad subAllDebug: $(NEEDS) 13 | make scrape 14 | $(BJAM) toolset=$(BUILD_TOOLSET) link=$(BUILD_LINK) threading=single -j $(COMPILE_PROCESSORS) install-lib_d 15 | make subBundle 16 | 17 | sa subAll: $(NEEDS) 18 | make scrape 19 | $(BJAM) toolset=$(BUILD_TOOLSET) link=$(BUILD_LINK) threading=single -j $(COMPILE_PROCESSORS) install-lib_d install-lib 20 | make subBundle 21 | 22 | san: $(NEEDS) 23 | $(BJAM) toolset=$(BUILD_TOOLSET) link=$(BUILD_LINK) threading=single release install -j $(COMPILE_PROCESSORS) -a -n >_bjam.txt 24 | 25 | sb subBundle: 26 | cp libs/[a-z]* $(CANDO_APP_LIB_DIR) 27 | bjd: 28 | $(BJAM) toolset=$(BUILD_TOOLSET) link=$(BUILD_LINK) threading=single debug -j $(COMPILE_PROCESSORS) 29 | 30 | subMeta sm: 31 | make m4 32 | make mi 33 | make cscrape 34 | 35 | initClasses.inc : *.h openmmExpose.scrape.inc 36 | make mi 37 | 38 | openmmExpose.scrape.inc m4: openmmExpose.m4 exposeMacros.m4 39 | m4 -s openmmExpose.m4 >openmmExpose.scrape.inc 40 | 41 | 42 | 43 | relink: 44 | rm libs/[a-z]* 45 | make sa 46 | 47 | subClean sc: 48 | rm -rf bin/* 49 | 50 | totalClean: 51 | rm -rf bin install_release 52 | 53 | 54 | 55 | sub-prebuild: 56 | make scrape-symbols 57 | make scrape-classes 58 | 59 | -------------------------------------------------------------------------------- /include/cando/chem/energy_functions/_Angle_debugEvalDeclares.cc: -------------------------------------------------------------------------------- 1 | // DEFINE_EVAL 2 | struct { 3 | double x1; 4 | double y1; 5 | double z1; 6 | double x2; 7 | double y2; 8 | double z2; 9 | double x3; 10 | double y3; 11 | double z3; 12 | double t0; 13 | double kt; 14 | double Energy; 15 | double fx1; 16 | double fy1; 17 | double fz1; 18 | double fx2; 19 | double fy2; 20 | double fz2; 21 | double fx3; 22 | double fy3; 23 | double fz3; 24 | double dhx1x1; 25 | double dhy1y1; 26 | double dhz1z1; 27 | double dhx2x2; 28 | double dhy2y2; 29 | double dhz2z2; 30 | double dhx3x3; 31 | double dhy3y3; 32 | double dhz3z3; 33 | double ohx1y1; 34 | double ohx1z1; 35 | double ohx1x2; 36 | double ohx1y2; 37 | double ohx1z2; 38 | double ohx1x3; 39 | double ohx1y3; 40 | double ohx1z3; 41 | double ohy1z1; 42 | double ohy1x2; 43 | double ohy1y2; 44 | double ohy1z2; 45 | double ohy1x3; 46 | double ohy1y3; 47 | double ohy1z3; 48 | double ohz1x2; 49 | double ohz1y2; 50 | double ohz1z2; 51 | double ohz1x3; 52 | double ohz1y3; 53 | double ohz1z3; 54 | double ohx2y2; 55 | double ohx2z2; 56 | double ohx2x3; 57 | double ohx2y3; 58 | double ohx2z3; 59 | double ohy2z2; 60 | double ohy2x3; 61 | double ohy2y3; 62 | double ohy2z3; 63 | double ohz2x3; 64 | double ohz2y3; 65 | double ohz2z3; 66 | double ohx3y3; 67 | double ohx3z3; 68 | double ohy3z3; 69 | double AngleDeviation; 70 | } eval; 71 | -------------------------------------------------------------------------------- /src/lisp/smarts/src/smiles/parser/package.lisp: -------------------------------------------------------------------------------- 1 | ;;;; package.lisp --- Package definition for the smiles.parser module. 2 | ;;;; 3 | ;;;; Copyright (C) 2018 Jan Moringen 4 | ;;;; 5 | ;;;; Author: Jan Moringen 6 | 7 | (cl:defpackage #:language.smiles.parser 8 | (:use 9 | #:cl 10 | #:alexandria 11 | #:esrap) 12 | 13 | (:local-nicknames 14 | (#:bp #:architecture.builder-protocol)) 15 | 16 | (:shadow 17 | #:parse) 18 | 19 | ;; Variables 20 | (:export 21 | #:*atom-maps?*) 22 | 23 | ;; Entry point rule 24 | (:export 25 | #:smiles) 26 | 27 | ;; Chain rules 28 | (:export 29 | #:chain 30 | #:branch 31 | #:atom) 32 | 33 | ;; Atom rules 34 | (:export 35 | #:atom-symbol 36 | #:organic-atom-symbol 37 | #:aromatic-atom-symbol 38 | #:inorganic-atom-symbol) 39 | 40 | ;; Modified atom rules 41 | (:export 42 | #:modified-atom 43 | #:modified-atom-body) 44 | 45 | ;; Atom modifier rules 46 | (:export 47 | #:atom-weight 48 | #:atom-modifier 49 | 50 | #:hydrogen-count 51 | #:charge 52 | #:chirality 53 | 54 | #:atom-map-class) 55 | 56 | ;; Bond rules 57 | (:export 58 | #:bond 59 | 60 | #:bond-none 61 | #:bond-single 62 | #:bond-double 63 | #:bond-quadruple 64 | #:bond-aromatic 65 | #:bond-up 66 | #:bond-down) 67 | 68 | ;; Parser protocol 69 | (:export 70 | #:parse)) 71 | -------------------------------------------------------------------------------- /src/lisp/leap/cando-database.lisp: -------------------------------------------------------------------------------- 1 | 2 | (in-package :leap.cando-database) 3 | 4 | 5 | 6 | 7 | (defmethod chem:constitution-for-name-or-pdb ((db chem:cando-database) name) 8 | (let* ((topology (leap.core:lookup-variable name)) 9 | (constitution (topology:constitution topology))) 10 | constitution)) 11 | 12 | (defmethod chem:constitution-for-name-or-pdb ((db null) name) 13 | (let* ((topology (leap.core:lookup-variable name)) 14 | (constitution (topology:constitution topology))) 15 | constitution)) 16 | 17 | (defmethod chem:monomer-name-for-name-or-pdb ((db chem:cando-database) name) 18 | name) 19 | 20 | (defmethod chem:pdb-name-for-name-or-pdb ((db chem:cando-database) name) 21 | :UNK) 22 | 23 | #| 24 | (defclass leap-cando-database () 25 | ()) 26 | 27 | (defmethod chem:constitution-for-name-or-pdb ((db leap-cando-database) name) 28 | (let* ((topology (leap.core:lookup-variable name)) 29 | (constitution (chem:get-constitution topology))) 30 | constitution)) 31 | 32 | (defmethod chem:constitution-for-name-or-pdb ((db null) name) 33 | (let* ((topology (leap.core:lookup-variable name)) 34 | (constitution (chem:get-constitution topology))) 35 | constitution)) 36 | 37 | (defmethod chem:monomer-name-for-name-or-pdb ((db leap-cando-database) name) 38 | name) 39 | 40 | (defmethod chem:pdb-name-for-name-or-pdb ((db leap-cando-database) name) 41 | :UNK) 42 | |# 43 | -------------------------------------------------------------------------------- /src/examples/lysozyme-tirun/tirun.leaprc: -------------------------------------------------------------------------------- 1 | (load-atom-type-rules "ATOMTYPE_GFF.DEF") 2 | source leaprc.ff14SB.redq 3 | source leaprc.gaff 4 | tiruns = (make-instance 'tirun:tirun-calculation) 5 | desc tiruns 6 | sk = loadChemDraw "ligands.cdxml" 7 | (tirun:setup-ligands |tiruns| |sk|) 8 | tests = (list (cons :c1 (lambda (a) (eq (chem:get-name a) :c1))) (cons :c3 (lambda (a) (eq (chem:get-name a) :c3))) (cons :c5 (lambda (a) (eq (chem:get-name a) :c5)))) 9 | pick = (chem:compile-smarts "[C:6]1~[C:1]~[C:2]~[C:3]~[C:4]~[C:5]1" :tests |tests|) 10 | lysozyme = loadPdb "181L_mod.pdb" 11 | (cando:build-unbuilt-hydrogens |lysozyme|) 12 | (simple-build-unbuilt-atoms |lysozyme|) 13 | (pushnew |lysozyme| (tirun:receptors |tiruns|)) 14 | loadOff phen.lib 15 | loadOff benz.lib 16 | ligs = loadPdb bnz_phn.pdb 17 | (simple-build-unbuilt-atoms |ligs|) 18 | (build-unbuilt-hydrogens |ligs|) 19 | (tirun:pose-ligands-using-pattern |tiruns| |pick| |ligs|) 20 | (tirun:build-job-nodes |tiruns|) 21 | (tirun:connect-job-nodes |tiruns| :simple :connections 2 :stages 3 :windows 11) 22 | worklist = (tirun:generate-jobs |tiruns|) 23 | (with-open-file (sout "/tmp/graph.dot" :direction :output) (tirundot:draw-graph-stream (list |worklist|) sout)) 24 | #;(ext:system "dot -Tpdf -O /tmp/graph.dot") 25 | #;(ext:system "open -n /tmp/graph.dot.pdf") 26 | #;(close *standard-output*) 27 | (format t "Done with TIRUN demo - check the jobs directory~%") 28 | quit 29 | -------------------------------------------------------------------------------- /src/main/tgc.sh: -------------------------------------------------------------------------------- 1 | "clang++" -P -E -x c++ -O1 -Wframe-larger-than=16 -Wlarger-than=4 -Wno-deprecated-register -mmacosx-version-min=10.7 -fvisibility=default -std=c++11 -stdlib=libc++ -O0 -g -O0 -fno-inline -Wall -g -DDEBUG_ASSERTS -DDEBUG_MPS -DEXPAT -DINCLUDED_FROM_BRCL -DINHERITED_FROM_SRC -DREADLINE -DUSE_MPS -D_ADDRESS_MODEL_64 -D_DEBUG_BUILD -D_TARGET_OS_DARWIN -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I"." -I"../../src" -I"../../src/asttooling/bin/clang-darwin-4.2.1/debug/link-static/mps-on" -I"../../src/cffi/bin/clang-darwin-4.2.1/debug/link-static/mps-on" -I"../../src/clbind/bin/clang-darwin-4.2.1/debug/link-static/mps-on" -I"../../src/core/bin/clang-darwin-4.2.1/debug/link-static/mps-on" -I"../../src/gctools/bin/clang-darwin-4.2.1/debug/link-static/mps-on" -I"../../src/llvmo/bin/clang-darwin-4.2.1/debug/link-static/mps-on" -I"../../src/mpip/bin/clang-darwin-4.2.1/debug/link-static/mps-on" -I"../../src/serveEvent/bin/clang-darwin-4.2.1/debug/link-static/mps-on" -I"../../src/sockets/bin/clang-darwin-4.2.1/debug/link-static/mps-on" -I"../cffi" -I"../core" -I"../gctools" -I"../llvmo" -I"../serveEvent" -I"../sockets" -I"/Library/Frameworks/EPD64.framework/Versions/7.2/include/python2.7" -I"/Users/meister/Development/cando/brcl/build/cando.app/Contents/Resources/externals/common/include" -I"/Users/meister/Development/cando/brcl/build/cando.app/Contents/Resources/externals/release/include" -c -o "gc_interface.i" "gc_interface.cc" 2 | -------------------------------------------------------------------------------- /src/lisp/cando-widgets/packages.lisp: -------------------------------------------------------------------------------- 1 | (defpackage #:cando-widgets 2 | (:use #:common-lisp) 3 | (:nicknames :cw) 4 | (:export 5 | #:add-ligand 6 | #:add-page 7 | #:add-receptor 8 | #:add-template 9 | #:amber-netcdf-trajectory 10 | #:anchor-named-atom-map 11 | #:atom-map 12 | #:build-hydrogens 13 | #:cando-structure 14 | #:cando-trajectory 15 | #:cartoon-atom-map 16 | #:center-on 17 | #:clear-ligands 18 | #:container 19 | #:*default-pane* 20 | #:default-pane 21 | #:distance-two-positions 22 | #:make-amber-netcdf-trajectory 23 | #:make-file-task-page 24 | #:make-molecule-map 25 | #:make-molecule-select 26 | #:make-ngl-structure 27 | #:make-ngl-structure-viewer 28 | #:make-ngl-trajectories 29 | #:make-simple-task-page 30 | #:make-threaded-task-page 31 | #:make-workspace-task-page 32 | #:molecules 33 | #:molecule-select 34 | #:named-atom-map 35 | #:ngl 36 | #:ngl-structure-viewer 37 | #:page 38 | #:picked-atoms 39 | #:*pick-list* 40 | #:*pick-limit* 41 | #:pick-history 42 | #:repr 43 | #:rotate-x 44 | #:rotate-y 45 | #:rotate-z 46 | #:run-task 47 | #:run-task 48 | #:selected 49 | #:show 50 | #:show-aggregate 51 | #:show-amber-netcdf-trajectory 52 | #:sketch-molecule 53 | #:sketch-molecules 54 | #:trajectory 55 | #:ngl-pane-stage 56 | #:show-on-pane)) 57 | 58 | -------------------------------------------------------------------------------- /include/cando/chem/units_scrape_flag.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: units_scrape_flag.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | -------------------------------------------------------------------------------- /include/cando/geom/otherPackageClasses.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: otherPackageClasses.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | -------------------------------------------------------------------------------- /src/lisp/topology/topology.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "topology" 4 | :description "Build topologys using s-expressions" 5 | :version "0.0.1" 6 | :author "Christian Schafmeister " 7 | :licence "LGPL-3.0" 8 | :depends-on (:kinematics-extras :chem-extras :cando-serialize :cl-conspack :netcdf :named-readtables) 9 | :serial t 10 | :components ((:file "packages") 11 | (:file "readtable") 12 | (:file "serial") 13 | (:file "topology-classes") 14 | (:file "constitution") 15 | (:file "joint-templates") 16 | (:file "define-topology") 17 | (:file "oligomer") 18 | (:file "joint-tree") 19 | (:file "fold") 20 | (:file "assembler") 21 | (:file "internals") 22 | (:file "design") 23 | (:file "oligomer-space-dag") 24 | (:file "context") 25 | (:file "badgeom") 26 | (:file "shape") 27 | (:file "steppers") 28 | (:file "manipulator") 29 | )) 30 | 31 | 32 | 33 | (defsystem "topology/documentation" 34 | :description "Documentation for topology system" 35 | :version "0.0.1" 36 | :author "Christian Schafmeister " 37 | :licence "LGPL-3.0" 38 | :depends-on (:topology :mgl-pax) 39 | :serial t 40 | :components ((:file "documentation"))) 41 | -------------------------------------------------------------------------------- /include/cando/units/otherPackageClasses.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: otherPackageClasses.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | // 27 | // 28 | -------------------------------------------------------------------------------- /src/openmmPackage/otherPackageClasses.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: otherPackageClasses.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | 27 | // empty for now 28 | -------------------------------------------------------------------------------- /src/main/mainMpi.cc: -------------------------------------------------------------------------------- 1 | /* 2 | File: mainMpi.cc 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | 27 | #define USE_MPI 28 | #include 29 | -------------------------------------------------------------------------------- /include/cando/kinematics/old/otherPackageClasses.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: otherPackageClasses.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | 27 | // Nothing yet 28 | -------------------------------------------------------------------------------- /src/tests/smarts/smarts-tests.lisp: -------------------------------------------------------------------------------- 1 | (progn 2 | (load "sys:extensions;cando;src;lisp;start-cando.lisp") 3 | (format t "DONE DONE DONE~%")) 4 | 5 | (ext:chdir "~/Development/cando/extensions/cando/src/tests/smarts/" t) 6 | 7 | (defun (a) (print a) (eq (chem:get-element a) :C)) 8 | (defparameter *agg1* (cando:load-chem-draw-aggregate "linearAmide.cdxml")) 9 | (defparameter *agg2* (cando:load-chem-draw-aggregate "lactam6.cdxml")) 10 | (defparameter *amide1* (chem:compile-smarts "[N:1][C:2](~[O:3])[C:4]")) 11 | (defparameter *amide2* (chem:compile-smarts "[N:1][C:2]")) 12 | (defparameter *lactam6* (chem:compile-smarts "[N:1]1[C:2](=[O:3])[:4][C:5][C:6][C:7][N:8]1" 13 | :tests (list (cons :ISB #')))) 14 | (defparameter *match-lactone-lactam* (chem:compile-smarts "O")) 15 | (defparameter *match-lactone-lactam* (chem:compile-smarts "[$(O=[C:3]1-[O,N]~[*]~[*]~[*]1),$(O=[C:4]1-[O,N]~[*]~[*]~[*]~[*]1),$(O=[C:5]1-[O,N]~[*]~[*]~[*]~[*]~[*]1),$(O=[C:6]1-[O,N]~[*]~[*]~[*]~[*]~[*]~[*]1)]")) 16 | 17 | 18 | (defun smarts-find (smarts agg) 19 | (let (the-match) 20 | (chem:map-atoms 'nil (lambda (a &aux match) 21 | (setf match (chem:matches smarts a)) 22 | (when match 23 | (format t "Found a match starting on atom: ~a~%" a) 24 | (setf the-match match))) 25 | agg) 26 | the-match)) 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/main/allHeaders.cc: -------------------------------------------------------------------------------- 1 | /* 2 | File: allHeaders.cc 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #include 27 | #include 28 | -------------------------------------------------------------------------------- /src/lisp/cando/search.lisp: -------------------------------------------------------------------------------- 1 | ;;; 2 | ;;; File: search.lisp 3 | ;;; 4 | 5 | ;; Open Source License 6 | ;; Copyright (c) 2016, Christian E. Schafmeister 7 | ;; Permission is hereby granted, free of charge, to any person obtaining a copy 8 | ;; of this software and associated documentation files (the "Software"), to deal 9 | ;; in the Software without restriction, including without limitation the rights 10 | ;; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | ;; copies of the Software, and to permit persons to whom the Software is 12 | ;; furnished to do so, subject to the following conditions: 13 | ;; The above copyright notice and this permission notice shall be included in 14 | ;; all copies or substantial portions of the Software. 15 | ;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | ;; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | ;; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | ;; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | ;; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | ;; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | ;; THE SOFTWARE. 22 | ;; 23 | ;; This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | 25 | ;; -^- 26 | (error "Empty") 27 | -------------------------------------------------------------------------------- /src/tests/alanine-demo/workbench.lisp: -------------------------------------------------------------------------------- 1 | (setf *default-pathname-defaults* #P"~/Development/cando/extensions/cando/src/tests/alanine-demo/") 2 | (setup-default-paths) 3 | (easy-gaff) 4 | (clear-force-field :smirnoff) 5 | (load-smirnoff-params #P"~/Development/openforcefield/openforcefield/data/forcefield/smirnoff99Frosst.offxml") 6 | ;;(:= *agg* (load-chem-draw-aggregate "alanine2.cdxml")) 7 | (:= *agg* (load-chem-draw-aggregate "/Users/shiho/Downloads/test-sdf.cdxml")) 8 | (chem:fill-in-implicit-hydrogens *agg*) 9 | (set-stereoisomer-func (cando:gather-stereocenters *agg*) (lambda (c) :R)) 10 | (:= *mol* (chem:content-at *agg* 0)) 11 | (:= *ee* (energy:minimize *agg*)) 12 | 13 | 14 | (set-force-field *mol* :smirnoff) 15 | (save-amber-parm *agg* "/tmp/test.parm" "/tmp/test.crd") 16 | 17 | 18 | 19 | (set-force-field *mol* :smirnoff) 20 | (:= *e-smirnoff* (chem:make-energy-function *agg* :use-excluded-atoms t :assign-types t)) 21 | 22 | (set-force-field *mol* :default) 23 | (save-amber-parm *agg* "/tmp/testdefault.parm" "/tmp/testdefault.crd") 24 | (:= *e-gaff* (chem:make-energy-function *agg* :use-excluded-atoms t :assign-types t)) 25 | 26 | 27 | leap.core:*force-fields* 28 | 29 | (:= *a* (make-array (chem:get-nvector-size *e-smirnoff*) :element-type 'double-float)) 30 | (chem:load-coordinates-into-vector *e-smirnoff* *a*) 31 | (:= *e* (chem:evaluate-energy *e-smirnoff* *a*)) 32 | 33 | *a* 34 | 35 | (chem:save-pdb *agg* "/Users/shiho/Downloads/test-sdf.pdb") 36 | (:= *agg* (load-chem-draw-aggregate "/Users/shiho/Downloads/ligand8a.cdxml")) 37 | -------------------------------------------------------------------------------- /src/lisp/amber/examples/smilesModelBuilding.lisp: -------------------------------------------------------------------------------- 1 | startSwank 2 | 3 | (load-atom-type-rules "ATOMTYPE_GFF.DEF") 4 | 5 | (load-amber-params "gaff.dat") 6 | 7 | sm = smiles "O=C1[C@H](C)/C=C(CN(C([C@H](C)/C=C(CN(C([C@H](C)/C=C(CN(C([C@H](C)/C=C(CN1CC2=CC=CC=C2)\\C)=O)CC3=CC=CC=C3)\\C)=O)CC4=CC=CC(NC(NC)=O)=C4)\\C)=O)CC5=CC=NC=C5)\\C" 8 | 9 | show (sketch2d:sketch2d sm) 10 | 11 | stereoisomers = (loop for config from 0 to #b0001 for newmol = (chem:matter-copy sm) for chirals = (gather-stereocenters newmol) do (chem:set-name newmol (intern (format nil "MOL~a" config) :keyword)) do (cando:set-stereoisomer chirals config :show t) collect newmol) 12 | 13 | (lparallel:pmap nil (lambda (agg) (build-good-geometry-from-random agg) (chem:calculate-stereochemistry-from-structure agg)) stereoisomers) 14 | 15 | (map nil (lambda (si) (format t "Stereoisomer: ~a~%" si) (let ((chirals (gather-stereocenters si))) (dump-stereocenters chirals))) stereoisomers) 16 | 17 | show (elt stereoisomers 0) 18 | 19 | source "leaprc.water.tip3p" 20 | 21 | (map nil (lambda (agg) (leap:resolvate-box agg CHCL3BOX 8.0)) stereoisomers) 22 | 23 | show (elt stereoisomers 1) 24 | 25 | sim = (amber:simulation) 26 | 27 | (amber:add-aggregates sim stereoisomers) 28 | 29 | (amber:minimize sim) 30 | 31 | (amber:heat sim :temperature 300.0) 32 | 33 | (amber:pressurize sim) 34 | 35 | (amber:dynamics sim :time-ps 100) 36 | 37 | (ql:quickload :amber-jupyter) 38 | 39 | stream = (amber:start-simulation sim :name "data/ambertools/cyclo-many/") 40 | 41 | (amber.jupyter::monitor sim) 42 | 43 | 44 | -------------------------------------------------------------------------------- /include/cando/adapt/adapters.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: adapters.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef adapters_H 27 | #define adapters_H 28 | 29 | #include 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /include/cando/chem/alias.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: alias.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef alias_fwd_H 27 | #define alias_fwd_H 28 | namespace chem 29 | { 30 | FORWARD(Alias); 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /include/cando/geom/color.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: color.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef color_fwd_H 27 | #define color_fwd_H 28 | namespace geom 29 | { 30 | FORWARD(Color); 31 | 32 | } 33 | #endif 34 | -------------------------------------------------------------------------------- /include/cando/adapt/retired/objRef.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: objRef.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef objRef_fwd_H 27 | #define objRef_fwd_H 28 | namespace core { 29 | FORWARD(ObjRef); 30 | } 31 | #endif 32 | -------------------------------------------------------------------------------- /include/cando/chem/command.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: command.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef command_fwd_H 27 | #define command_fwd_H 28 | namespace chem 29 | { 30 | FORWARD(Command); 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /include/cando/chem/matter.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: matter.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef matter_fwd_H 27 | #define matter_fwd_H 28 | namespace chem 29 | { 30 | FORWARD(Matter); 31 | 32 | } 33 | #endif 34 | -------------------------------------------------------------------------------- /include/cando/geom/archive/range.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: range.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef range_fwd_H 27 | #define range_fwd_H 28 | namespace geom 29 | { 30 | FORWARD(Range); 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /include/cando/geom/omatrix.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: omatrix.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef omatrix_fwd_H 27 | #define omatrix_fwd_H 28 | namespace geom 29 | { 30 | FORWARD(OMatrix); 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /include/cando/geom/vector3.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: vector3.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef vector3_fwd_H 27 | #define vector3_fwd_H 28 | 29 | #include 30 | 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /src/lisp/numscl/integrate.lisp: -------------------------------------------------------------------------------- 1 | (in-package :numscl) 2 | 3 | 4 | (defun left-rectangle (f a b n &aux (d (/ (- b a) n))) 5 | (* d (loop for x from a below b by d summing (funcall f x)))) 6 | 7 | (defun right-rectangle (f a b n &aux (d (/ (- b a) n))) 8 | (* d (loop for x from b above a by d summing (funcall f x)))) 9 | 10 | (defun midpoint-rectangle (f a b n &aux (d (/ (- b a) n))) 11 | (* d (loop for x from (+ a (/ d 2)) below b by d summing (funcall f x)))) 12 | 13 | (defun trapezium (f a b n &aux (d (/ (- b a) n))) 14 | (* (/ d 2) 15 | (+ (funcall f a) 16 | (* 2 (loop for x from (+ a d) below b by d summing (funcall f x))) 17 | (funcall f b)))) 18 | 19 | (defun simpson (f a b n) 20 | (loop with h = (/ (- b a) n) 21 | with sum1 = (funcall f (+ a (/ h 2))) 22 | with sum2 = 0 23 | for i from 1 below n 24 | do (incf sum1 (funcall f (+ a (* h i) (/ h 2)))) 25 | do (incf sum2 (funcall f (+ a (* h i)))) 26 | finally (return (* (/ h 6) 27 | (+ (funcall f a) 28 | (funcall f b) 29 | (* 4 sum1) 30 | (* 2 sum2)))))) 31 | 32 | 33 | (defun trapz (yvec xvec) 34 | (loop for ip1 from 1 below (length xvec) 35 | for xv = (aref xvec (1- ip1)) then xp1 36 | for xp1 = (aref xvec ip1) 37 | for yv = (aref yvec (1- ip1)) then yp1 38 | for yp1 = (aref yvec ip1) 39 | for yav = (/ (+ yp1 yv) 2.0) 40 | for tarea = (* yav (- xp1 xv)) 41 | sum tarea)) 42 | -------------------------------------------------------------------------------- /src/main/tub.sh: -------------------------------------------------------------------------------- 1 | "clang++" "-fsyntax-only" "-resource-dir=/Users/meister/Development/cando/brcl/build/cando.app/contents/resources/externals/release/lib/clang/3.5/" "-Wno-unused-function" "-x" "c++" "-O1" "-Wframe-larger-than=16" "-Wlarger-than=4" "-Wno-deprecated-register" "-mmacosx-version-min=10.7" "-fvisibility=default" "-std=c++11" "-stdlib=libc++" "-O0" "-g" "-O0" "-fno-inline" "-Wall" "-g" "-DDEBUG_ASSERTS" "-DDEBUG_MPS" "-DEXPAT" "-DINCLUDED_FROM_BRCL" "-DINHERITED_FROM_SRC" "-DREADLINE" "-D_ADDRESS_MODEL_64" "-D_DEBUG_BUILD" "-D_TARGET_OS_DARWIN" "-D__STDC_CONSTANT_MACROS" "-D__STDC_FORMAT_MACROS" "-D__STDC_LIMIT_MACROS" "-I." "-I../../src" "-I../../src/asttooling/bin/clang-darwin-4.2.1/debug/link-static" "-I../../src/cffi/bin/clang-darwin-4.2.1/debug/link-static" "-I../../src/clbind/bin/clang-darwin-4.2.1/debug/link-static" "-I../../src/core/bin/clang-darwin-4.2.1/debug/link-static" "-I../../src/gctools/bin/clang-darwin-4.2.1/debug/link-static" "-I../../src/llvmo/bin/clang-darwin-4.2.1/debug/link-static" "-I../../src/mpip/bin/clang-darwin-4.2.1/debug/link-static" "-I../../src/serveEvent/bin/clang-darwin-4.2.1/debug/link-static" "-I../../src/sockets/bin/clang-darwin-4.2.1/debug/link-static" "-I../cffi" "-I../core" "-I../gctools" "-I../llvmo" "-I../serveEvent" "-I../sockets" "-I/Library/Frameworks/EPD64.framework/Versions/7.2/include/python2.7" "-I/Users/meister/Development/cando/brcl/build/cando.app/Contents/Resources/externals/common/include" "-I/Users/meister/Development/cando/brcl/build/cando.app/Contents/Resources/externals/release/include" "-v" "-c" -o unityBuild.o unityBuild.cc 2 | -------------------------------------------------------------------------------- /include/cando/adapt/objectSet.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: objectSet.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef objectSet_fwd_H 27 | #define objectSet_fwd_H 28 | namespace adapt { 29 | FORWARD(ObjectSet); 30 | } 31 | #endif 32 | -------------------------------------------------------------------------------- /include/cando/adapt/symbolSet.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: symbolSet.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef symbolSet_fwd_H 27 | #define symbolSet_fwd_H 28 | namespace adapt { 29 | FORWARD(SymbolSet); 30 | } 31 | #endif 32 | -------------------------------------------------------------------------------- /include/cando/chem/atomId.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: atomId.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef atomId_fwd_H 27 | #define atomId_fwd_H 28 | 29 | namespace chem 30 | { 31 | FORWARD(AtomId); 32 | }; 33 | #endif 34 | -------------------------------------------------------------------------------- /include/cando/chem/molecule.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: molecule.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef molecule_fwd_H 27 | #define molecule_fwd_H 28 | namespace chem 29 | { 30 | FORWARD(Molecule); 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /include/cando/chem/oligomer.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: oligomer.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef oligomer_fwd_H 27 | #define oligomer_fwd_H 28 | namespace chem 29 | { 30 | FORWARD(Oligomer); 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /include/cando/geom/ovector2.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: ovector2.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef ovector2_fwd_H 27 | #define ovector2_fwd_H 28 | namespace geom 29 | { 30 | FORWARD(OVector2); 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /include/cando/geom/ovector3.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: ovector3.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef ovector3_fwd_H 27 | #define ovector3_fwd_H 28 | namespace geom 29 | { 30 | FORWARD(OVector3); 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /include/cando/adapt/symbolList.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: symbolList.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef symbolList_fwd_H 27 | #define symbolList_fwd_H 28 | namespace adapt { 29 | FORWARD(SymbolList); 30 | } 31 | #endif 32 | -------------------------------------------------------------------------------- /include/cando/chem/aggregate.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: aggregate.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef aggregate_fwd_H 27 | #define aggregate_fwd_H 28 | namespace chem 29 | { 30 | FORWARD( Aggregate); 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /include/cando/chem/alchemist.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: alchemist.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef alchemist_fwd_H 27 | #define alchemist_fwd_H 28 | namespace chem 29 | { 30 | FORWARD(Alchemist); 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /include/cando/chem/ffTypesDb.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: ffTypesDb.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef ffTypesDb_fwd_H 27 | #define ffTypesDb_fwd_H 28 | namespace chem 29 | { 30 | FORWARD(FFTypesDb); 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /include/cando/chem/pdb.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: pdb.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef pdb_fwd_H 27 | #define pdb_fwd_H 28 | namespace chem 29 | { 30 | FORWARD(PdbReader); 31 | FORWARD(PdbWriter); 32 | } 33 | #endif 34 | -------------------------------------------------------------------------------- /src/chem/lispClasses/atomGrid.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: atomGrid.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef atomGrid_fwd_H 27 | #define atomGrid_fwd_H 28 | namespace chem 29 | { 30 | FORWARD(AtomGrid); 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /include/cando/chem/coordSys.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: coordSys.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef coordSys_fwd_H 27 | #define coordSys_fwd_H 28 | namespace chem 29 | { 30 | FORWARD(CoordinateSystem); 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /include/cando/chem/loop.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: loop.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef loop_fwd_H 27 | #define loop_fwd_H 28 | 29 | namespace chem { 30 | 31 | extern void initialize_loop(); 32 | 33 | }; 34 | #endif 35 | -------------------------------------------------------------------------------- /include/cando/adapt/iterateCons.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: iterateCons.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef iterateCons_fwd_H 27 | #define iterateCons_fwd_H 28 | namespace adapt 29 | { 30 | FORWARD(IterateCons); 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /include/cando/chem/energyAngle.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: energyAngle.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef energyAngle_fwd_H 27 | #define energyAngle_fwd_H 28 | namespace chem 29 | { 30 | FORWARD(EnergyAngle); 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /include/cando/chem/ffVdwDb.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: ffVdwDb.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef ffVdwDb_fwd_H 27 | #define ffVdwDb_fwd_H 28 | namespace chem 29 | { 30 | FORWARD(FFVdw); 31 | FORWARD(FFVdwDb); 32 | } 33 | #endif 34 | -------------------------------------------------------------------------------- /include/cando/chem/virtualAtom.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: virtualAtom.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef virtualAtom_fwd_H 27 | #define virtualAtom_fwd_H 28 | namespace chem 29 | { 30 | FORWARD(VirtualAtom); 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /include/cando/geom/archive/container.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: container.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef container_fwd_H 27 | #define container_fwd_H 28 | namespace geom 29 | { 30 | FORWARD(Container); 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /src/chem/lispClasses/table.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: table.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef table_fwd_H 27 | #define table_fwd_H 28 | namespace chem 29 | { 30 | FORWARD( TableEntry); 31 | FORWARD(Table); 32 | } 33 | #endif 34 | -------------------------------------------------------------------------------- /include/cando/adapt/quickDom.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: quickDom.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef adapt_quickDom_fwd_H 27 | #define adapt_quickDom_fwd_H 28 | namespace adapt 29 | { 30 | FORWARD(QDomNode); 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /include/cando/chem/spanningLoop.fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | File: spanningLoop.fwd.h 3 | */ 4 | /* 5 | Open Source License 6 | Copyright (c) 2016, Christian E. Schafmeister 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | This is an open source license for the CANDO software from Temple University, but it is not the only one. Contact Temple University at mailto:techtransfer@temple.edu if you would like a different license. 24 | */ 25 | /* -^- */ 26 | #ifndef spanningLoop_fwd_H 27 | #define spanningLoop_fwd_H 28 | namespace chem 29 | { 30 | FORWARD(SpanningLoop); 31 | } 32 | #endif 33 | --------------------------------------------------------------------------------