├── .clang-format ├── .github ├── dependabot.yml └── workflows │ └── test_cando.yml ├── .gitignore ├── .gitmodules ├── README.md ├── cando-apptainer-install ├── cando-user-install ├── chem-lisp └── print-read.lisp ├── cscript.lisp ├── docker └── Dockerfile ├── documentation ├── CANDO_map.png ├── Makefile ├── cando.tex ├── chem-chapter.tex ├── strip-dependence ├── tags.3GgrUZ └── tex-dependencies ├── include ├── cando │ ├── adapt │ │ ├── adaptPackage.fwd.h │ │ ├── adaptPackage.h │ │ ├── adapters.h │ │ ├── generated │ │ │ └── _symbolTableAfterBuild.txt │ │ ├── indexedObjectBag.h │ │ ├── iterateCons.fwd.h │ │ ├── iterateCons.h │ │ ├── mySaxInterface.h │ │ ├── objectSet.fwd.h │ │ ├── objectSet.h │ │ ├── quickDom.fwd.h │ │ ├── quickDom.h │ │ ├── retired │ │ │ ├── objRef.fwd.h │ │ │ └── objRef.h │ │ ├── stringList.fwd.h │ │ ├── stringList.h │ │ ├── stringSet.fwd.h │ │ ├── stringSet.h │ │ ├── symbolList.fwd.h │ │ ├── symbolList.h │ │ ├── symbolMap.h │ │ ├── symbolSet.fwd.h │ │ └── symbolSet.h │ ├── chem │ │ ├── aggregate.fwd.h │ │ ├── aggregate.h │ │ ├── alchemist.fwd.h │ │ ├── alias.fwd.h │ │ ├── alias.h │ │ ├── angle.fwd.h │ │ ├── angle.h │ │ ├── atom.fwd.h │ │ ├── atom.h │ │ ├── atomId.fwd.h │ │ ├── atomId.h │ │ ├── atomIdMap.fwd.h │ │ ├── atomIdMap.h │ │ ├── atomIndexer.fwd.h │ │ ├── atomIndexer.h │ │ ├── atomReference.fwd.h │ │ ├── atomReference.h │ │ ├── bond.fwd.h │ │ ├── bond.h │ │ ├── calculatePosition.fwd.h │ │ ├── calculatePosition.h │ │ ├── candoDatabase.fwd.h │ │ ├── candoDatabase.h │ │ ├── candoDatabaseDependent.h │ │ ├── candoScript.fwd.h │ │ ├── candoScript.h │ │ ├── chemInfo.fwd.h │ │ ├── chemInfo.h │ │ ├── chemPackage.fwd.h │ │ ├── chemPackage.h │ │ ├── chemdraw.fwd.h │ │ ├── chemdraw.h │ │ ├── chimera.h │ │ ├── cipPrioritizer.fwd.h │ │ ├── cipPrioritizer.h │ │ ├── cluster.h │ │ ├── command.fwd.h │ │ ├── command.h │ │ ├── complexRestraints.fwd.h │ │ ├── complexRestraints.h │ │ ├── conformationCollection.fwd.h │ │ ├── conformationCollection.h │ │ ├── conformationExplorer.fwd.h │ │ ├── conformationExplorer.h │ │ ├── constitution.fwd.h │ │ ├── constitution.h │ │ ├── constitutionAtoms.fwd.h │ │ ├── constitutionAtoms.h │ │ ├── coordSys.fwd.h │ │ ├── coordSys.h │ │ ├── coupling.fwd.h │ │ ├── coupling.h │ │ ├── elements.fwd.h │ │ ├── elements.h │ │ ├── energyAnchorRestraint.fwd.h │ │ ├── energyAnchorRestraint.h │ │ ├── energyAngle.fwd.h │ │ ├── energyAngle.h │ │ ├── energyAtomTable.fwd.h │ │ ├── energyAtomTable.h │ │ ├── energyChiralRestraint.fwd.h │ │ ├── energyChiralRestraint.h │ │ ├── energyComponent.fwd.h │ │ ├── energyComponent.h │ │ ├── energyDihedral.fwd.h │ │ ├── energyDihedral.h │ │ ├── energyDihedralRestraint.fwd.h │ │ ├── energyDihedralRestraint.h │ │ ├── energyFixedNonbond.fwd.h │ │ ├── energyFixedNonbond.h │ │ ├── energyFunction.fwd.h │ │ ├── energyFunction.h │ │ ├── energyNonbond.fwd.h │ │ ├── energyNonbond.h │ │ ├── energyOutOfZPlane.fwd.h │ │ ├── energyOutOfZPlane.h │ │ ├── energyPeriodicBoundaryConditionsNonbond.fwd.h │ │ ├── energyPeriodicBoundaryConditionsNonbond.h │ │ ├── energyPointToLineRestraint.fwd.h │ │ ├── energyPointToLineRestraint.h │ │ ├── energyRigidBodyComponent.h │ │ ├── energyRigidBodyNonbond.h │ │ ├── energyRigidBodyStaple.h │ │ ├── energySketchNonbond.h │ │ ├── energySketchStretch.fwd.h │ │ ├── energySketchStretch.h │ │ ├── energyStretch.fwd.h │ │ ├── energyStretch.h │ │ ├── energy_functions │ │ │ ├── _AnchorRestraint_debugEvalDeclares.cc │ │ │ ├── _AnchorRestraint_debugEvalSerialize.cc │ │ │ ├── _AnchorRestraint_debugEvalSet.cc │ │ │ ├── _AnchorRestraint_debugFiniteDifference.cc │ │ │ ├── _AnchorRestraint_termCode.cc │ │ │ ├── _AnchorRestraint_termDeclares.cc │ │ │ ├── _Angle_debugEvalDeclares.cc │ │ │ ├── _Angle_debugEvalSerialize.cc │ │ │ ├── _Angle_debugEvalSet.cc │ │ │ ├── _Angle_debugFiniteDifference.cc │ │ │ ├── _Angle_termCode.cc │ │ │ ├── _Angle_termDeclares.cc │ │ │ ├── _ChiralRestraint_debugEvalDeclares.cc │ │ │ ├── _ChiralRestraint_debugEvalSerialize.cc │ │ │ ├── _ChiralRestraint_debugEvalSet.cc │ │ │ ├── _ChiralRestraint_debugFiniteDifference.cc │ │ │ ├── _ChiralRestraint_termCode.cc │ │ │ ├── _ChiralRestraint_termDeclares.cc │ │ │ ├── _DihedralHarmonicSpeedy_math.m │ │ │ ├── _DihedralHarmonicSpeedy_termCode.cc │ │ │ ├── _DihedralHarmonicSpeedy_termDeclares.cc │ │ │ ├── _Dihedral_debugEvalDeclares.cc │ │ │ ├── _Dihedral_debugEvalSerialize.cc │ │ │ ├── _Dihedral_debugEvalSet.cc │ │ │ ├── _Dihedral_debugFiniteDifference.cc │ │ │ ├── _Dihedral_termCode.cc │ │ │ ├── _Dihedral_termDeclares.cc │ │ │ ├── _Erep_debugEvalDeclares.cc │ │ │ ├── _Erep_debugEvalSerialize.cc │ │ │ ├── _Erep_debugEvalSet.cc │ │ │ ├── _Erep_debugFiniteDifference.cc │ │ │ ├── _Erep_math.m │ │ │ ├── _Erep_termCode.cc │ │ │ ├── _Erep_termDeclares.cc │ │ │ ├── _FixedNonbond_debugEvalDeclares.cc │ │ │ ├── _FixedNonbond_debugEvalSerialize.cc │ │ │ ├── _FixedNonbond_debugEvalSet.cc │ │ │ ├── _FixedNonbond_debugFiniteDifference.cc │ │ │ ├── _FixedNonbond_termCode.cc │ │ │ ├── _FixedNonbond_termDeclares.cc │ │ │ ├── _ImproperRestraint_debugEvalDeclares.cc │ │ │ ├── _ImproperRestraint_debugEvalSerialize.cc │ │ │ ├── _ImproperRestraint_debugEvalSet.cc │ │ │ ├── _ImproperRestraint_debugFiniteDifference.cc │ │ │ ├── _ImproperRestraint_termCode.cc │ │ │ ├── _ImproperRestraint_termDeclares.cc │ │ │ ├── _NONBONDRBPB_POSITIONS_math.m │ │ │ ├── _NONBONDRBPB_POSITIONS_termCode.cc │ │ │ ├── _NONBONDRBPB_POSITIONS_termDeclares.cc │ │ │ ├── _NONBONDRBPB_debugEvalDeclares.cc │ │ │ ├── _NONBONDRBPB_debugEvalSerialize.cc │ │ │ ├── _NONBONDRBPB_debugEvalSet.cc │ │ │ ├── _NONBONDRBPB_debugFiniteDifference.cc │ │ │ ├── _NONBONDRBPB_math.m │ │ │ ├── _NONBONDRBPB_termCode.cc │ │ │ ├── _NONBONDRBPB_termDeclares.cc │ │ │ ├── _Nonbond_debugEvalDeclares.cc │ │ │ ├── _Nonbond_debugEvalSerialize.cc │ │ │ ├── _Nonbond_debugEvalSet.cc │ │ │ ├── _Nonbond_debugFiniteDifference.cc │ │ │ ├── _Nonbond_termCode.cc │ │ │ ├── _Nonbond_termDeclares.cc │ │ │ ├── _Oozp_debugEvalDeclares.cc │ │ │ ├── _Oozp_debugEvalSerialize.cc │ │ │ ├── _Oozp_debugEvalSet.cc │ │ │ ├── _Oozp_debugFiniteDifference.cc │ │ │ ├── _Oozp_math.m │ │ │ ├── _Oozp_termCode.cc │ │ │ ├── _Oozp_termDeclares.cc │ │ │ ├── _PointToLineRestraint_debugEvalDeclares.cc │ │ │ ├── _PointToLineRestraint_debugEvalSerialize.cc │ │ │ ├── _PointToLineRestraint_debugEvalSet.cc │ │ │ ├── _PointToLineRestraint_debugFiniteDifference.cc │ │ │ ├── _PointToLineRestraint_math.m │ │ │ ├── _PointToLineRestraint_termCode.cc │ │ │ ├── _PointToLineRestraint_termDeclares.cc │ │ │ ├── _Stretch_debugEvalDeclares.cc │ │ │ ├── _Stretch_debugEvalSerialize.cc │ │ │ ├── _Stretch_debugEvalSet.cc │ │ │ ├── _Stretch_debugFiniteDifference.cc │ │ │ ├── _Stretch_termCode.cc │ │ │ └── _Stretch_termDeclares.cc │ │ ├── entity.fwd.h │ │ ├── entity.h │ │ ├── entityNameSet.fwd.h │ │ ├── entityNameSet.h │ │ ├── ffAngleDb.fwd.h │ │ ├── ffAngleDb.h │ │ ├── ffBaseDb.fwd.h │ │ ├── ffBaseDb.h │ │ ├── ffItorDb.fwd.h │ │ ├── ffItorDb.h │ │ ├── ffNonbondDb.fwd.h │ │ ├── ffNonbondDb.h │ │ ├── ffPtorDb.fwd.h │ │ ├── ffPtorDb.h │ │ ├── ffStretchDb.fwd.h │ │ ├── ffStretchDb.h │ │ ├── ffTypesDb.fwd.h │ │ ├── ffTypesDb.h │ │ ├── ffVdwDb.fwd.h │ │ ├── ffVdwDb.h │ │ ├── forceField.fwd.h │ │ ├── forceField.h │ │ ├── frameRecognizer.fwd.h │ │ ├── frameRecognizer.h │ │ ├── gaff_LocationType.h │ │ ├── gaff_ParserParam.h │ │ ├── gaff_TypeParser.h │ │ ├── gamessInterface.fwd.h │ │ ├── gaussianInterface.fwd.h │ │ ├── generated │ │ │ └── _symbolTableAfterBuild.txt │ │ ├── hold.h │ │ ├── improperTorsion.fwd.h │ │ ├── improperTorsion.h │ │ ├── indirectAtomCoordinateReference.h │ │ ├── iterateMatter.fwd.h │ │ ├── iterateMatter.h │ │ ├── iterateRestraints.fwd.h │ │ ├── iterateRestraints.h │ │ ├── largeSquareMatrix.fwd.h │ │ ├── largeSquareMatrix.h │ │ ├── linearAlgebra.h │ │ ├── loop.fwd.h │ │ ├── loop.h │ │ ├── macroModel.h │ │ ├── matter.fwd.h │ │ ├── matter.h │ │ ├── maxcliqueseq.h │ │ ├── mbbCoreTools.h │ │ ├── mbbPackage.h │ │ ├── minimizer.fwd.h │ │ ├── minimizer.h │ │ ├── minimizerLog.fwd.h │ │ ├── minimizerLog.h │ │ ├── moe.h │ │ ├── mol2.h │ │ ├── molecule.fwd.h │ │ ├── molecule.h │ │ ├── monomer.fwd.h │ │ ├── monomer.h │ │ ├── monomerContext.fwd.h │ │ ├── monomerContext.h │ │ ├── monomerCoordinates.fwd.h │ │ ├── monomerCoordinates.h │ │ ├── monomerGroup.fwd.h │ │ ├── monomerPack.fwd.h │ │ ├── monomerPack.h │ │ ├── monteCarlo.h │ │ ├── msmarts_LocationType.h │ │ ├── msmarts_ParserParam.h │ │ ├── msmarts_TypeParser.h │ │ ├── nVector.fwd.h │ │ ├── nVector.h │ │ ├── numericalFunction.fwd.h │ │ ├── numericalFunction.h │ │ ├── octree.h │ │ ├── oligomer.fwd.h │ │ ├── oligomer.h │ │ ├── otherPackageClasses.h │ │ ├── pdb.fwd.h │ │ ├── pdb.h │ │ ├── pdbMonomer.fwd.h │ │ ├── pdbMonomer.h │ │ ├── plug.fwd.h │ │ ├── plug.h │ │ ├── properTorsion.fwd.h │ │ ├── properTorsion.h │ │ ├── randomGenerators.h │ │ ├── readAmberParameters.fwd.h │ │ ├── readAmberParameters.h │ │ ├── representedEntityNameSet.h │ │ ├── residue.fwd.h │ │ ├── residue.h │ │ ├── restraint.fwd.h │ │ ├── restraint.h │ │ ├── retired │ │ │ ├── candoDatabaseReference.fwd.h │ │ │ └── candoDatabaseReference.h │ │ ├── rigidBodyEnergyFunction.h │ │ ├── ringFinder.fwd.h │ │ ├── ringFinder.h │ │ ├── rotamer.fwd.h │ │ ├── rotamer.h │ │ ├── scoringFunction.fwd.h │ │ ├── scoringFunction.h │ │ ├── searchStatistics.fwd.h │ │ ├── searchStatistics.h │ │ ├── sketchFunction.h │ │ ├── spanningLoop.fwd.h │ │ ├── spanningLoop.h │ │ ├── sparseMatrix.h │ │ ├── specificContext.fwd.h │ │ ├── specificContext.h │ │ ├── spline.h │ │ ├── statusTracker.fwd.h │ │ ├── stereochemistry.fwd.h │ │ ├── stereochemistry.h │ │ ├── stereoisomerAtoms.fwd.h │ │ ├── stereoisomerAtoms.h │ │ ├── structureComparer.fwd.h │ │ ├── structureComparer.h │ │ ├── structureList.fwd.h │ │ ├── structureList.h │ │ ├── superposableConformationCollection.fwd.h │ │ ├── superposableConformationCollection.h │ │ ├── superposeEngine.fwd.h │ │ ├── superposeEngine.h │ │ ├── tags.qfYYus │ │ ├── topology.fwd.h │ │ ├── topology.h │ │ ├── torsionDriver.h │ │ ├── trajectory.fwd.h │ │ ├── trajectory.h │ │ ├── twister.fwd.h │ │ ├── twister.h │ │ ├── typeAssignmentRules.fwd.h │ │ ├── typeAssignmentRules.h │ │ ├── units.h │ │ ├── units_scrape_flag.h │ │ ├── virtualAtom.fwd.h │ │ ├── virtualAtom.h │ │ ├── virtualSphere.fwd.h │ │ ├── virtualSphere.h │ │ └── zMatrix.h │ ├── energy-functions │ │ ├── _NONBONDRB_debugEvalDeclares.cc │ │ ├── _NONBONDRB_debugEvalSerialize.cc │ │ ├── _NONBONDRB_debugEvalSet.cc │ │ ├── _NONBONDRB_debugFiniteDifference.cc │ │ ├── _NONBONDRB_math.m │ │ ├── _NONBONDRB_termCode.cc │ │ ├── _NONBONDRB_termDeclares.cc │ │ ├── _NONBOND_POSITIONS_math.m │ │ ├── _NONBOND_POSITIONS_termCode.cc │ │ ├── _NONBOND_POSITIONS_termDeclares.cc │ │ ├── _STAPLE_POSITIONS_math.m │ │ ├── _STAPLE_POSITIONS_termCode.cc │ │ ├── _STAPLE_POSITIONS_termDeclares.cc │ │ ├── _STAPLE_debugEvalDeclares.cc │ │ ├── _STAPLE_debugEvalSerialize.cc │ │ ├── _STAPLE_debugEvalSet.cc │ │ ├── _STAPLE_debugFiniteDifference.cc │ │ ├── _STAPLE_math.m │ │ ├── _STAPLE_termCode.cc │ │ └── _STAPLE_termDeclares.cc │ ├── geom │ │ ├── archive │ │ │ ├── coloredVertexList.fwd.h │ │ │ ├── coloredVertexList.h │ │ │ ├── container.fwd.h │ │ │ ├── container.h │ │ │ ├── highlightObject.fwd.h │ │ │ ├── highlightObject.h │ │ │ ├── integerKeyObjectDictionary.fwd.h │ │ │ ├── integerKeyObjectDictionary.h │ │ │ ├── iterateRange.fwd.h │ │ │ ├── iterateRange.h │ │ │ ├── range.fwd.h │ │ │ └── range.h │ │ ├── boundingBox.fwd.h │ │ ├── boundingBox.h │ │ ├── color.fwd.h │ │ ├── color.h │ │ ├── coordinateArray.fwd.h │ │ ├── coordinateArray.h │ │ ├── generated │ │ │ ├── _symbolTableAfterBuild.txt │ │ │ └── initClasses_inc.h~ │ │ ├── geomPackage.fwd.h │ │ ├── geomPackage.h │ │ ├── matrix.h │ │ ├── omatrix.fwd.h │ │ ├── omatrix.h │ │ ├── otherPackageClasses.h │ │ ├── ovector2.fwd.h │ │ ├── ovector2.h │ │ ├── ovector3.fwd.h │ │ ├── ovector3.h │ │ ├── symbolTable.h │ │ ├── vector2.h │ │ ├── vector3.fwd.h │ │ ├── vector3.h │ │ └── vector4.h │ ├── kinematics │ │ ├── bondedJoint.h │ │ ├── complexBondedJoint.h │ │ ├── coordinateCalculators.h │ │ ├── dofType.h │ │ ├── joint.fwd.h │ │ ├── joint.h │ │ ├── jump.h │ │ ├── jumpJoint.h │ │ ├── kinFoundation.h │ │ ├── kinematicsPackage.h │ │ ├── old │ │ │ ├── aggregateNode.h │ │ │ ├── bondId.fwd.h │ │ │ ├── bondId.h │ │ │ ├── chainNode.fwd.h │ │ │ ├── chainNode.h │ │ │ ├── chiDihedrals.fwd.h │ │ │ ├── chiDihedrals.h │ │ │ ├── conformation.fwd.h │ │ │ ├── conformation.h │ │ │ ├── delayedBondedJoint.h │ │ │ ├── dofId.h │ │ │ ├── foldTree.h │ │ │ ├── jointTemplate.fwd.h │ │ │ ├── jointTemplate.h │ │ │ ├── monomerBaseNode.fwd.h │ │ │ ├── monomerBaseNode.h │ │ │ ├── monomerId.h │ │ │ ├── monomerIdMap.h │ │ │ ├── monomerNode.fwd.h │ │ │ ├── monomerNode.h │ │ │ ├── originJumpJoint.h │ │ │ ├── otherPackageClasses.h │ │ │ ├── pool.h │ │ │ ├── retired │ │ │ │ ├── atomHandle.h │ │ │ │ └── atomo.h │ │ │ ├── ringClosingMonomerNode.h │ │ │ ├── rootBondedJoint.h │ │ │ ├── rootJointInfo.h │ │ │ └── rotamer.h │ │ ├── stub.fwd.h │ │ ├── stub.h │ │ └── xyzJoint.h │ ├── main │ │ └── extension.h │ └── units │ │ ├── dimension.fwd.h │ │ ├── dimension.h │ │ ├── generated │ │ └── _symbolTableAfterBuild.txt │ │ ├── kinFoundation.h │ │ ├── namedUnit.h │ │ ├── otherPackageClasses.h │ │ ├── quantity.fwd.h │ │ ├── quantity.h │ │ ├── unit.h │ │ ├── unitsFoundation.h │ │ └── unitsPackage.h └── cscript.lisp ├── scando-apptainer-install ├── scando-zeus-install └── src ├── .gitignore ├── adapt ├── adaptPackage.cc ├── configure_symbol_scrape.py ├── cscript.lisp ├── indexedObjectBag.cc ├── iterateCons.cc ├── makefile ├── mySaxInterface.cc ├── objectSet.cc ├── quickDom.cc ├── registerClasses.log ├── retired │ └── objRef.cc ├── stringList.cc ├── stringSet.cc ├── symbolList.cc └── symbolSet.cc ├── chem ├── .gitignore ├── _gaff_Parser.cc ├── _gaff_Parser.cpp ├── _gaff_Parser.hh ├── _gaff_Parser.hpp ├── _gaff_Parser.output ├── _msmarts_Parser.cc ├── _msmarts_Parser.cpp ├── _msmarts_Parser.hh ├── _msmarts_Parser.hpp ├── _msmarts_Parser.output ├── aggregate.cc ├── alias.cc ├── angle.cc ├── atom.cc ├── atomId.cc ├── atomIdMap.cc ├── atomIndexer.cc ├── atomReference.cc ├── bond.cc ├── calculatePosition.cc ├── candoDatabase.cc ├── candoDatabaseDependent.cc ├── candoScript.cc ├── chemInfo.cc ├── chemPackage.cc ├── chemdraw.cc ├── chimera.cc ├── cipPrioritizer.cc ├── cluster.cc ├── command.cc ├── complexRestraints.cc ├── configure_symbol_scrape.py ├── configure_symbol_scrape.pyc ├── conformationCollection.cc ├── conformationExplorer.cc ├── constitution.cc ├── constitutionAtoms.cc ├── coordSys.cc ├── coupling.cc ├── cremerPople.cc ├── cscript.lisp ├── elements.cc ├── energyAnchorRestraint.cc ├── energyAngle.cc ├── energyAtomTable.cc ├── energyChiralRestraint.cc ├── energyComponent.cc ├── energyDihedral.cc ├── energyDihedralRestraint.cc ├── energyFixedNonbond.cc ├── energyFunction.cc ├── energyNonbond.cc ├── energyOutOfZPlane.cc ├── energyPeriodicBoundaryConditionsNonbond.cc ├── energyPointToLineRestraint.cc ├── energyRigidBodyNonbond.cc ├── energyRigidBodyStaple.cc ├── energySketchNonbond.cc ├── energySketchStretch.cc ├── energyStretch.cc ├── entity.cc ├── entityNameSet.cc ├── ffAngleDb.cc ├── ffBaseDb.cc ├── ffItorDb.cc ├── ffNonbondDb.cc ├── ffPtorDb.cc ├── ffStretchDb.cc ├── ffTypesDb.cc ├── ffVdwDb.cc ├── forceField.cc ├── frameRecognizer.cc ├── gaff_Parser.cc ├── gaff_Parser.hh ├── gaff_Parser.yy ├── improperTorsion.cc ├── indirectAtomCoordinateReference.cc ├── iterateMatter.cc ├── iterateRestraints.cc ├── largeSquareMatrix.cc ├── linearAlgebra.cc ├── lispClasses │ ├── arrayedMatter.cc │ ├── arrayedMatter.fwd.h │ ├── arrayedMatter.h │ ├── atomGrid.cc │ ├── atomGrid.fwd.h │ ├── atomGrid.h │ ├── confSearchDatabase.cc │ ├── confSearchDatabase.fwd.h │ ├── confSearchDatabase.h │ ├── externalInterface.cc │ ├── externalInterface.fwd.h │ ├── externalInterface.h │ ├── grPickableMatter.cc │ ├── grPickableMatter.fwd.h │ ├── grPickableMatter.h │ ├── jobHistory.cc │ ├── jobHistory.fwd.h │ ├── jobHistory.h │ ├── table.cc │ ├── table.fwd.h │ ├── table.h │ ├── tableOperations.cc │ ├── tableOperations.h │ ├── trainer.cc │ ├── trainer.fwd.h │ ├── trainer.h │ ├── trainerArchive.cc │ ├── trainerArchive.fwd.h │ └── trainerArchive.h ├── loop.cc ├── macroModel.cc ├── makefile ├── matter.cc ├── maxcliqueseq.cc ├── mbbCoreTools.cc ├── minimizer.cc ├── minimizerLog.cc ├── moe.cc ├── mol2.cc ├── molecule.cc ├── monomer.cc ├── monomerContext.cc ├── monomerCoordinates.cc ├── monomerPack.cc ├── monteCarlo.cc ├── msmarts_Parser.cc ├── msmarts_Parser.hh ├── msmarts_Parser.yy ├── nVector.cc ├── numericalFunction.cc ├── octree.cc ├── oligomer.cc ├── pdb.cc ├── pdbMonomer.cc ├── plug.cc ├── properTorsion.cc ├── randomGenerators.cc ├── readAmberParameters.cc ├── representedEntityNameSet.cc ├── residue.cc ├── restraint.cc ├── retired │ └── candoDatabaseReference.cc ├── rigidBodyEnergyFunction.cc ├── rigid_staple.cc ├── ringFinder.cc ├── rotamer.cc ├── scoringFunction.cc ├── searchStatistics.cc ├── sketchFunction.cc ├── spanningLoop.cc ├── sparseMatrix.cc ├── specificContext.cc ├── spline.cc ├── stereochemistry.cc ├── stereoisomerAtoms.cc ├── structureComparer.cc ├── structureList.cc ├── superposableConformationCollection.cc ├── superposeEngine.cc ├── topology.cc ├── torsionDriver.cc ├── trajectory.cc ├── twister.cc ├── typeAssignmentRules.cc ├── virtualAtom.cc ├── virtualSphere.cc └── zMatrix.cc ├── common └── copywrite.lisp ├── cscript.lisp ├── data ├── common │ ├── run-in-docker │ ├── runcmd_with_docker │ └── serialize.lisp ├── force-field │ ├── .gitignore │ ├── ATOMTYPE_GFF.DEF │ ├── ATOMTYPE_GFF2.DEF │ ├── ATOMTYPE_SYBYL.DEF │ ├── gaff.dat │ ├── gaff2.dat │ └── start.lisp └── molecules │ ├── chanmon0.cdx │ ├── chanmon0.cdxml │ ├── copymol.lisp │ ├── fuzi.cdxml │ ├── fuzi │ ├── .mol2000 │ ├── .mol2001 │ ├── .mol2002 │ ├── .mol2003 │ ├── 3o3x.mol2 │ ├── init3.mol2 │ ├── run000.mol2 │ ├── run001.mol2 │ ├── run002.mol2 │ ├── run003.mol2 │ ├── run004.mol2 │ ├── run005.mol2 │ ├── run006.mol2 │ ├── run007.mol2 │ ├── run008.mol2 │ ├── run009.mol2 │ ├── run010.mol2 │ ├── run011.mol2 │ ├── run012.mol2 │ ├── run013.mol2 │ ├── run014.mol2 │ ├── run015.mol2 │ ├── run016.mol2 │ ├── run017.mol2 │ ├── run018.mol2 │ ├── run019.mol2 │ ├── run020.mol2 │ ├── run021.mol2 │ ├── run022.mol2 │ ├── run023.mol2 │ ├── run024.mol2 │ ├── run025.mol2 │ ├── run026.mol2 │ ├── run027.mol2 │ ├── run028.mol2 │ ├── run029.mol2 │ ├── run030.mol2 │ ├── run031.mol2 │ └── run_grid.mol2 │ ├── molecules.lisp │ ├── onemol.cdxml │ ├── onemol2.cdxml │ ├── others.cdx │ ├── test.mol2 │ ├── testprop.cdxml │ └── workbench-molecules.lisp ├── examples ├── lysozyme-tirun │ ├── .gitignore │ ├── 181L_mod.pdb │ ├── benz.lib │ ├── bnz_phn.pdb │ ├── ligands.cdxml │ ├── ligands.png │ ├── phen.lib │ ├── setup.env │ ├── tirun-demo.ipynb │ ├── tirun-demo.lisp │ ├── tirun.leaprc │ ├── tirun.lisp │ └── tirun.py ├── thrombin-tirun │ ├── 2zff_fixed.pdb │ ├── 2zff_receptor_only.pdb │ ├── ligand.pdb │ ├── ligand2.cdxml │ ├── ligand2.png │ ├── ligand3.cdxml │ ├── ligand3.png │ ├── thrombin-development.ipynb │ ├── thrombin-tirun.ipynb │ └── workspace-1.tirun └── tirun-workflow │ ├── tirun-workflow.ipynb │ └── tirun-workflow_mjy.ipynb ├── geom ├── Jamfile.jam ├── archive │ ├── coloredVertexList.cc │ ├── container.cc │ ├── highlightObject.cc │ ├── integerKeyObjectDictionary.cc │ ├── iterateRange.cc │ └── range.cc ├── boundingBox.cc ├── candoBasePackage.cc ├── color.cc ├── configure_symbol_scrape.py ├── configure_symbol_scrape.pyc ├── coordinateArray.cc ├── cscript.lisp ├── makefile ├── matrix.cc ├── mySaxInterface.cc ├── omatrix.cc ├── ovector2.cc ├── ovector3.cc ├── quickDom.cc ├── registerClasses.log ├── symbols.lisp ├── t.sh ├── vector2.cc ├── vector3.cc └── vector4.cc ├── kinematics ├── bondedJoint.cc ├── complexBondedJoint.cc ├── configure_symbol_scrape.py ├── configure_symbol_scrape.pyc ├── coordinateCalculators.cc ├── cscript.lisp ├── dofType.cc ├── joint.cc ├── jump.cc ├── jumpJoint.cc ├── kinematicsPackage.cc ├── old │ ├── aggregateNode.cc │ ├── bondId.cc │ ├── chainNode.cc │ ├── chiDihedrals.cc │ ├── conformation.cc │ ├── delayedBondedJoint.cc │ ├── foldTree.cc │ ├── jointTemplate.cc │ ├── kin_rotamer.cc │ ├── monomerBaseNode.cc │ ├── monomerId.cc │ ├── monomerNode.cc │ ├── originJumpJoint.cc │ ├── retired │ │ ├── atomHandle.cc │ │ └── atomo.cc │ ├── ringClosingMonomerNode.cc │ ├── rootBondedJoint.cc │ └── rootJointInfo.cc ├── registerClasses.log ├── stub.cc ├── workbench.lisp └── xyzJoint.cc ├── lisp ├── amber │ ├── amber-jobs.lisp │ ├── amber-jupyter.asd │ ├── amber-jupyter.lisp │ ├── amber.asd │ ├── dashboard.lisp │ ├── examples │ │ └── smilesModelBuilding.lisp │ ├── graphviz-amber.lisp │ ├── packages-jupyter.lisp │ ├── packages.lisp │ └── params.lisp ├── cando-build │ ├── build.lisp │ ├── cando-build.asd │ └── packages.lisp ├── cando-jupyter │ ├── cando-jupyter.asd │ ├── kernel.lisp │ ├── packages.lisp │ └── ui.lisp ├── cando-primop │ ├── cando-primop.asd │ └── primops.lisp ├── cando-serialize │ ├── cando-serialize.asd │ ├── packages.lisp │ └── print-read.lisp ├── cando-user-install │ ├── cando-user-install.asd │ ├── install.lisp │ └── packages.lisp ├── cando-user │ ├── cando-user.asd │ ├── cl-jupyter.lisp │ ├── extension.lisp │ ├── graphviz.lisp │ ├── packages.lisp │ ├── sharp-bang-subshell.lisp │ └── start-swank.lisp ├── cando-widgets │ ├── cando-widgets.asd │ ├── interactive-tools.lisp │ ├── molecule-map.lisp │ ├── molecule-select.lisp │ ├── ngl-structure-viewer.lisp │ ├── ngl-util.lisp │ ├── packages.lisp │ ├── pages.lisp │ ├── show.lisp │ └── workspace-task-page.lisp ├── cando │ ├── align.lisp │ ├── anchor.lisp │ ├── aromaticity │ │ ├── aromaticity.asd │ │ ├── aromaticity.lisp │ │ └── packages.lisp │ ├── atom-tree.lisp │ ├── basic.lisp │ ├── build.lisp │ ├── cando.asd │ ├── candoview │ │ ├── candoview.asd │ │ ├── candoview.lisp │ │ ├── molview.asd │ │ ├── molview.lisp │ │ └── packages.lisp │ ├── charges │ │ ├── am1bcc.lisp │ │ ├── charges.asd │ │ ├── charges.lisp │ │ ├── mopac-interface.lisp │ │ ├── packages.lisp │ │ ├── sqm-interface.lisp │ │ └── sqm-output.txt │ ├── chemdraw.lisp │ ├── chemistry.lisp │ ├── cif.lisp │ ├── conditions.lisp │ ├── constitution.lisp │ ├── convenience.lisp │ ├── documentation.lisp │ ├── dynamics.lisp │ ├── energy.lisp │ ├── environment.lisp │ ├── formula-weight.lisp │ ├── fortran.lisp │ ├── geom.lisp │ ├── geometry │ │ └── geometry.asd │ ├── inet │ │ ├── inet.asd │ │ ├── inet.lisp │ │ └── packages.lisp │ ├── infix.lisp │ ├── loader.lisp │ ├── matter-hierarchy.lisp │ ├── mechanics.lisp │ ├── modelling.lisp │ ├── modelling │ │ ├── modelling.asd │ │ ├── modelling.lisp │ │ └── packages.lisp │ ├── molecules.lisp │ ├── packages.lisp │ ├── print-read.lisp │ ├── progress.lisp │ ├── psf-files.lisp │ ├── ring-builder.lisp │ ├── search.lisp │ ├── select.lisp │ ├── simple-restraints.lisp │ ├── smirnoff │ │ ├── assign.lisp │ │ ├── load.lisp │ │ ├── packages.lisp │ │ ├── smirnoff.asd │ │ ├── smirnoff.lisp │ │ ├── units.lisp │ │ └── workbench.lisp │ ├── stereochemistry.lisp │ ├── struct.lisp │ ├── units.lisp │ └── utility │ │ ├── directories.lisp │ │ ├── packages.lisp │ │ └── utility.asd ├── chem-extras │ ├── chem-extras.asd │ ├── chem.lisp │ └── packages.lisp ├── chem-info │ ├── chem-info.asd │ ├── packages.lisp │ └── pucker.lisp ├── docs │ ├── docs.lisp │ └── documentation.md ├── geometry-tests │ ├── geometry-tests.asd │ ├── packages.lisp │ └── utils.lisp ├── kinematics-extras │ ├── kinematics-extras.asd │ ├── kinematics.lisp │ └── packages.lisp ├── leap-commands │ ├── commands.lisp │ ├── grammar.lisp │ ├── leap-commands.asd │ └── packages.lisp ├── leap │ ├── add-ions.lisp │ ├── align-axes.lisp │ ├── antechamber-type-definition-parser.lisp │ ├── atom-types.lisp │ ├── cando-database.lisp │ ├── chem.lisp │ ├── commands.lisp │ ├── core.lisp │ ├── easy.lisp │ ├── grammar.lisp │ ├── interpreter.lisp │ ├── leap.asd │ ├── leap.lisp │ ├── library.lisp │ ├── off.lisp │ ├── packages.lisp │ ├── parmchk2.lisp │ ├── pdb.lisp │ ├── prep.lisp │ ├── sequence.lisp │ ├── set-box.lisp │ ├── solvate.lisp │ ├── topology.lisp │ ├── workbench.lisp │ └── write-parameters.lisp ├── lomap │ ├── README.md │ ├── lomap.asd │ ├── lomap.ipynb │ ├── src │ │ ├── graphviz.lisp │ │ ├── lomap.lisp │ │ ├── packages.lisp │ │ ├── spanning.lisp │ │ └── workspace.lisp │ └── workspace.lisp ├── molecule-graph │ ├── graphviz.lisp │ ├── max-clique.lisp │ ├── molecule-graph.asd │ ├── molecule-graph.lisp │ └── packages.lisp ├── numscl │ ├── integrate.lisp │ ├── numscl.asd │ ├── packages.lisp │ └── polyfit.lisp ├── pas │ ├── README.md │ ├── demo.ipynb │ ├── packages.lisp │ ├── pas.asd │ └── pas.lisp ├── regression-tests │ ├── cremer-pople.lisp │ ├── data │ │ ├── a1.mol2 │ │ ├── butane.mol2 │ │ ├── force-field.offxml │ │ ├── frcmod.pho │ │ ├── hexapeptide.mol2 │ │ ├── jostle.mol2 │ │ ├── samplemol.cdxml │ │ └── struct-0000.mol2 │ ├── energy.lisp │ ├── geometry.lisp │ ├── leap.lisp │ ├── run-all.lisp │ └── spanning-tree.lisp ├── render │ ├── packages.lisp │ └── render.lisp ├── sdf │ ├── packages.lisp │ ├── sdf-writer.lisp │ ├── sdf.asd │ └── sdf.lisp ├── sketch2d │ ├── examples │ │ ├── .ipynb_checkpoints │ │ │ ├── Untitled-checkpoint.ipynb │ │ │ └── examples-checkpoint.ipynb │ │ ├── 017.mol2 │ │ ├── examples.ipynb │ │ ├── examples.lisp │ │ ├── test.svg │ │ └── test01.cdxml │ ├── infix.lisp │ ├── packages.lisp │ ├── render-svg.lisp │ ├── sketch2d.asd │ ├── sketch2d.lisp │ └── workbench.lisp ├── smarts-jupyter │ ├── hir.lisp │ ├── packages.lisp │ ├── smarts-jupyter.asd │ └── smarts.lisp ├── smarts │ ├── bison-smarts │ │ ├── packages.lisp │ │ ├── small-mol.cdxml │ │ ├── smarts.asd │ │ ├── smarts.lisp │ │ └── wb-smarts.lisp │ ├── emacs-lisp │ │ └── test.el │ ├── examples │ │ ├── ethane.smiles │ │ ├── test.smarts │ │ └── test2.smarts │ ├── figures │ │ └── metamodel.png │ ├── graphviz.lisp │ ├── language.smarts.asd │ ├── language.smarts.language-server.asd │ ├── language.smiles.asd │ ├── packages.lisp │ ├── smarts.asd │ ├── smarts.lisp │ ├── src │ │ ├── language-server │ │ │ └── package.lisp │ │ ├── smarts │ │ │ └── parser │ │ │ │ ├── grammar.lisp │ │ │ │ ├── package.lisp │ │ │ │ ├── protocol.lisp │ │ │ │ ├── test.lisp │ │ │ │ └── trash.lisp │ │ └── smiles │ │ │ └── parser │ │ │ ├── grammar.lisp │ │ │ ├── package.lisp │ │ │ ├── protocol.lisp │ │ │ ├── test.lisp │ │ │ └── variables.lisp │ └── version-string.sexp ├── smiles │ ├── cangen.lisp │ ├── generate.lisp │ ├── packages.lisp │ ├── smiles.asd │ └── smiles.lisp ├── solid-modeller │ ├── modeller.lisp │ ├── packages.lisp │ └── solid-modeller.asd ├── spanning │ ├── packages.lisp │ ├── spanning.asd │ └── spanning.lisp ├── structure-editor │ ├── composer.lisp │ ├── packages.lisp │ ├── structure-editor.asd │ └── structure-editor.lisp ├── tirun-jupyter │ ├── packages.lisp │ ├── tirun-jupyter.asd │ └── tirun-jupyter.lisp ├── tirun │ ├── COPYING │ ├── README.md │ ├── assemble.lisp │ ├── getdvdl.lisp │ ├── gml.lisp │ ├── graph2.lisp │ ├── graphviz.lisp │ ├── makefile │ ├── packages.lisp │ ├── prepare.lisp │ ├── script.lisp │ ├── test.lisp │ ├── ti.lisp │ ├── tirun-from-structures.lisp │ ├── tirun-version.lisp │ ├── tirun.asd │ └── tirun.lisp ├── topology │ ├── README.md │ ├── assembler.lisp │ ├── badgeom.lisp │ ├── commands.lisp │ ├── conformation-debug.lisp │ ├── constitution.lisp │ ├── context.lisp │ ├── define-topology.lisp │ ├── design.lisp │ ├── documentation.lisp │ ├── fold.lisp │ ├── graphviz.lisp │ ├── internals.lisp │ ├── joint-templates.lisp │ ├── joint-tree.lisp │ ├── jupyter.lisp │ ├── linearize-internals.lisp │ ├── oligomer-space-dag.lisp │ ├── oligomer.lisp │ ├── packages-foldamer.lisp │ ├── packages-jupyter.lisp │ ├── packages.lisp │ ├── protein.lisp │ ├── readtable.lisp │ ├── serial.lisp │ ├── shape.lisp │ ├── spirobuild-segments.lisp │ ├── steppers.lisp │ ├── topology-classes.lisp │ ├── topology-jupyter.asd │ ├── topology.asd │ └── workbench.lisp └── yampi │ ├── example-2.lisp │ ├── example.lisp │ ├── message.lisp │ ├── packages.lisp │ └── yampi.asd ├── main ├── _symbolTableAfterBuild.txt ├── allHeaders.cc ├── cscript.lisp ├── dumpStmts.lisp ├── extension.cc ├── foo.lisp ├── gc_interface.cc ├── heap.py ├── heapsearch.py ├── link_clasp_boehm_d_unwind.sh ├── linkbrcl_o.sh ├── linkmpi.sh ├── main.cc ├── mainMpi.cc ├── memory.py ├── mpsio.txt ├── mymps.c ├── tgc.sh └── tub.sh ├── makefile ├── mathematica ├── amber_energy_force_hessian.nb ├── amber_energy_force_hessian_speedup.nb ├── dihedral_harmonic_speedup.m ├── makefile ├── optimizeExpressions.m ├── optimizeExpressionsOriginal.m └── rigid-staple.nb ├── openmmPackage ├── Jamfile.jam ├── configure_symbol_scrape.py ├── exposeMacros.m4 ├── makefile ├── openmmExpose.cc ├── openmmExpose.h ├── openmmExpose.m4 ├── openmmFoundation.h ├── openmmPackage.cc ├── openmmPackage.h ├── openmmState.cc ├── openmmState.h ├── otherPackageClasses.h ├── serializer.cc ├── serializer.h └── symbols.m4 ├── tests ├── addions │ ├── .ipynb_checkpoints │ │ └── Untitled-checkpoint.ipynb │ ├── Untitled.ipynb │ ├── alanine-leap.mol2 │ ├── alanine.mol2 │ ├── alanine2.cdxml │ └── water_amber.def ├── alanine-demo │ ├── .gitignore │ ├── 01_Heat.in │ ├── 01_Min.in │ ├── 01_Min_cando.out │ ├── alanine-demo.ipynb │ ├── alanine.cdxml │ ├── alanine.lisp │ ├── alanine2.cdxml │ ├── alanine2.mol2 │ ├── alanine_cando.crd │ ├── alanine_cando.top │ ├── makefile │ ├── mdinfo │ ├── restrt │ ├── water_amber.def │ └── workbench.lisp ├── aromaticity │ ├── ligand8a.cdxml │ ├── polyaromatic.cdxml │ ├── test-aromaticity.lisp │ └── workbench.lisp ├── boron │ ├── Aryl-boronic-demo.ipynb │ ├── arylboronate.cdxml │ ├── arylboronate2d.png │ ├── boron parameters.xlsx │ ├── boron.def │ ├── boronic-ester01.cdxml │ ├── boronic-ester02.cdxml │ ├── boronic-ester03.cdxml │ ├── boronic-esters.ipynb │ ├── boronic_acid.dat │ ├── frcmod.boronic-ester │ ├── trinag.mol2 │ └── water_gaff.def ├── c6h12n2so2.lisp ├── charge │ ├── 9lyz.pdb │ ├── alanine2.mol2 │ ├── example.cdx │ └── example.cdxml ├── pdbfile │ ├── 5t6o.pdb │ ├── 9lyz.pdb │ ├── pdb-loader.ipynb │ └── water_amber.def ├── smarts │ ├── lactam6.cdxml │ └── smarts-tests.lisp └── tiny │ ├── 01_Min.in │ └── tiny.lisp └── units ├── Jamfile.jam ├── configure_symbol_scrape.py ├── configure_symbol_scrape.pyc ├── cscript.lisp ├── dimension.cc ├── initClasses.inc ├── initScripting.inc ├── initSignals.inc ├── makefile ├── namedUnit.cc ├── old ├── baseUnit.cc ├── baseUnit.fwd.h ├── baseUnit.h ├── coordinateArray.cc ├── coordinateArray.fwd.h ├── coordinateArray.h ├── float.cc ├── float.fwd.h ├── float.h ├── quantity.cc ├── quantity.fwd.h ├── quantity.h ├── system.cc ├── system.fwd.h ├── system.h ├── xyz.cc ├── xyz.fwd.h └── xyz.h ├── quantity.cc ├── registerClasses.log ├── registerSignals.log ├── symbol ├── symbols.inc ├── symbols.m4 ├── tu.l ├── unit.cc └── unitsPackage.cc /.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 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "github-actions" 4 | directory: "/.github/workflows/" 5 | schedule: 6 | interval: "weekly" 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | local.config 2 | **/*.fasl 3 | **/*.o 4 | **/*.bc 5 | **/.bak 6 | *.fasl 7 | *.dwarf 8 | *.info 9 | *~ 10 | .ipynb_checkpoints 11 | \#*\# -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/2a3b074c7e3b359c9bfea3522002466dd60a5503/.gitmodules -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 -------------------------------------------------------------------------------- /documentation/CANDO_map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/2a3b074c7e3b359c9bfea3522002466dd60a5503/documentation/CANDO_map.png -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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/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/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/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/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/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/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/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/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/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/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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/_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/_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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/_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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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/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/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/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 | -------------------------------------------------------------------------------- /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/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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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/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 | -------------------------------------------------------------------------------- /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/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/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/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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /include/cscript.lisp: -------------------------------------------------------------------------------- 1 | (k:includes #~"" #~"cando/main/") 2 | 3 | (k:sources :install-code #~"cando/") 4 | 5 | -------------------------------------------------------------------------------- /src/.gitignore: -------------------------------------------------------------------------------- 1 | bin/ 2 | *.log 3 | *.pyc -------------------------------------------------------------------------------- /src/adapt/configure_symbol_scrape.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | packageName = "AdaptPkg" 4 | -------------------------------------------------------------------------------- /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/chem/.gitignore: -------------------------------------------------------------------------------- 1 | *.output -------------------------------------------------------------------------------- /src/chem/configure_symbol_scrape.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | packageName = "ChemPkg" 4 | -------------------------------------------------------------------------------- /src/chem/configure_symbol_scrape.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/2a3b074c7e3b359c9bfea3522002466dd60a5503/src/chem/configure_symbol_scrape.pyc -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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/data/force-field/.gitignore: -------------------------------------------------------------------------------- 1 | .ipynb_checkpoints/* -------------------------------------------------------------------------------- /src/data/molecules/chanmon0.cdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/2a3b074c7e3b359c9bfea3522002466dd60a5503/src/data/molecules/chanmon0.cdx -------------------------------------------------------------------------------- /src/data/molecules/others.cdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/2a3b074c7e3b359c9bfea3522002466dd60a5503/src/data/molecules/others.cdx -------------------------------------------------------------------------------- /src/examples/lysozyme-tirun/.gitignore: -------------------------------------------------------------------------------- 1 | .ipynb_checkpoints 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/examples/lysozyme-tirun/ligands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/2a3b074c7e3b359c9bfea3522002466dd60a5503/src/examples/lysozyme-tirun/ligands.png -------------------------------------------------------------------------------- /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/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/examples/thrombin-tirun/ligand2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/2a3b074c7e3b359c9bfea3522002466dd60a5503/src/examples/thrombin-tirun/ligand2.png -------------------------------------------------------------------------------- /src/examples/thrombin-tirun/ligand3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/2a3b074c7e3b359c9bfea3522002466dd60a5503/src/examples/thrombin-tirun/ligand3.png -------------------------------------------------------------------------------- /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/geom/configure_symbol_scrape.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | packageName = "GeomPkg" 4 | -------------------------------------------------------------------------------- /src/geom/configure_symbol_scrape.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/2a3b074c7e3b359c9bfea3522002466dd60a5503/src/geom/configure_symbol_scrape.pyc -------------------------------------------------------------------------------- /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/geom/symbols.lisp: -------------------------------------------------------------------------------- 1 | (load "../common/symbolCreation.lisp") 2 | 3 | 4 | (currentPackage "ExtPkg") 5 | 6 | 7 | (finish) 8 | 9 | -------------------------------------------------------------------------------- /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/kinematics/configure_symbol_scrape.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | packageName = "KinPkg" 4 | symbolsOutput = "symbols_scraped_inc.h" 5 | exportOutput = "symbols_exported_inc.h" 6 | -------------------------------------------------------------------------------- /src/kinematics/configure_symbol_scrape.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/2a3b074c7e3b359c9bfea3522002466dd60a5503/src/kinematics/configure_symbol_scrape.pyc -------------------------------------------------------------------------------- /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/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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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-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 | -------------------------------------------------------------------------------- /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/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/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 | #: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-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/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/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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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/packages.lisp: -------------------------------------------------------------------------------- 1 | 2 | (defpackage #:molview 3 | (:use :cl) 4 | (:export 5 | #:molview 6 | #:view 7 | #:current-aggregate-set 8 | )) 9 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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/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/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/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/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/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/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/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/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/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/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/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/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 | -------------------------------------------------------------------------------- /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/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/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/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/chem-extras/packages.lisp: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | (defpackage #:chem.extras 5 | (:use #:common-lisp) 6 | (:export 7 | )) 8 | 9 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/lisp/chem-info/pucker.lisp: -------------------------------------------------------------------------------- 1 | (in-package :chem-info) 2 | 3 | 4 | 5 | (defun cremer-pople-ring5-positions (vector-list) 6 | (let ((center-of-geometry (loop with acc = (geom:vec 0.0 0.0 0.0) 7 | for vec in vector-list 8 | for acc = (geom:v+ vec acc) 9 | finally (return (geom:v* acc (/ 1.0 (length vector-list))))))) 10 | center-of-geometry)) 11 | 12 | 13 | (defun cremer-pople-ring5-atoms (atom-list) 14 | (let ((vector-list (mapcar #'chem:get-position atom-list))) 15 | (cremer-pople-ring5-positions vector-list))) 16 | -------------------------------------------------------------------------------- /src/lisp/docs/documentation.md: -------------------------------------------------------------------------------- 1 | # Welcome to Cando 2 | 3 | This is the documentation body of the first page! 4 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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/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-commands/commands.lisp: -------------------------------------------------------------------------------- 1 | #| nothing |# 2 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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/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 | -------------------------------------------------------------------------------- /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/leap/prep.lisp: -------------------------------------------------------------------------------- 1 | 2 | (in-package :amber-prep) 3 | 4 | (defun parse-atom (line) 5 | 6 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /src/lisp/pas/README.md: -------------------------------------------------------------------------------- 1 | # Positional Analogue Scanning for Cando 2 | 3 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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/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/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 | -------------------------------------------------------------------------------- /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/sdf/sdf.asd: -------------------------------------------------------------------------------- 1 | (in-package :asdf-user) 2 | 3 | (defsystem "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/sketch2d/examples/.ipynb_checkpoints/Untitled-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [], 3 | "metadata": {}, 4 | "nbformat": 4, 5 | "nbformat_minor": 2 6 | } 7 | -------------------------------------------------------------------------------- /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/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/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/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/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/smarts/bison-smarts/smarts.lisp: -------------------------------------------------------------------------------- 1 | (in-package :smarts) 2 | 3 | -------------------------------------------------------------------------------- /src/lisp/smarts/examples/ethane.smiles: -------------------------------------------------------------------------------- 1 | bla 2 | bla 3 | bla 4 | -------------------------------------------------------------------------------- /src/lisp/smarts/examples/test.smarts: -------------------------------------------------------------------------------- 1 | [a]1#[Br@SP3]N1 2 | -------------------------------------------------------------------------------- /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/lisp/smarts/figures/metamodel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/2a3b074c7e3b359c9bfea3522002466dd60a5503/src/lisp/smarts/figures/metamodel.png -------------------------------------------------------------------------------- /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/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/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/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/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 | -------------------------------------------------------------------------------- /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/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/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/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/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/smarts/version-string.sexp: -------------------------------------------------------------------------------- 1 | "0.1.0" -------------------------------------------------------------------------------- /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/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/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/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 | -------------------------------------------------------------------------------- /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/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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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/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 | -------------------------------------------------------------------------------- /src/lisp/topology/README.md: -------------------------------------------------------------------------------- 1 | # topology 2 | # topology 3 | -------------------------------------------------------------------------------- /src/lisp/topology/commands.lisp: -------------------------------------------------------------------------------- 1 | (in-package :foldamer) 2 | 3 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/lisp/topology/readtable.lisp: -------------------------------------------------------------------------------- 1 | (in-package :topology) 2 | 3 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | )) 29 | 30 | 31 | 32 | (defsystem "topology/documentation" 33 | :description "Documentation for topology system" 34 | :version "0.0.1" 35 | :author "Christian Schafmeister " 36 | :licence "LGPL-3.0" 37 | :depends-on (:topology :mgl-pax) 38 | :serial t 39 | :components ((:file "documentation"))) 40 | -------------------------------------------------------------------------------- /src/lisp/topology/workbench.lisp: -------------------------------------------------------------------------------- 1 | (ql:quickload :topology) 2 | 3 | 4 | 5 | (defparameter confs (cando.serialize:load-cando "conformations.cando")) 6 | 7 | -------------------------------------------------------------------------------- /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/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/main/_symbolTableAfterBuild.txt: -------------------------------------------------------------------------------- 1 | // symbolTable 2 | -------------------------------------------------------------------------------- /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/main/cscript.lisp: -------------------------------------------------------------------------------- 1 | (k:sources :libclasp #~"extension.cc") 2 | -------------------------------------------------------------------------------- /src/main/foo.lisp: -------------------------------------------------------------------------------- 1 | (defun a () (break "test")) 2 | (defun b () (a)) 3 | (defun c () (b)) 4 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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 | -------------------------------------------------------------------------------- /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/mathematica/makefile: -------------------------------------------------------------------------------- 1 | 2 | install: 3 | install -c _*.cc ../../include/cando/energy-functions/ 4 | -------------------------------------------------------------------------------- /src/openmmPackage/configure_symbol_scrape.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | packageName = "OmmPkg" 4 | symbolsOutput = "symbols_scraped.inc" 5 | exportOutput = "symbols_exported.inc" 6 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/tests/alanine-demo/.gitignore: -------------------------------------------------------------------------------- 1 | .ipynb_checkpoints/* -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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/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/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/tests/boron/arylboronate2d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/2a3b074c7e3b359c9bfea3522002466dd60a5503/src/tests/boron/arylboronate2d.png -------------------------------------------------------------------------------- /src/tests/boron/boron parameters.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/2a3b074c7e3b359c9bfea3522002466dd60a5503/src/tests/boron/boron parameters.xlsx -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /src/tests/charge/example.cdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/2a3b074c7e3b359c9bfea3522002466dd60a5503/src/tests/charge/example.cdx -------------------------------------------------------------------------------- /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/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/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) ; -------------------------------------------------------------------------------- /src/units/configure_symbol_scrape.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | packageName = "UnitsPkg" 4 | -------------------------------------------------------------------------------- /src/units/configure_symbol_scrape.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cando-developers/cando/2a3b074c7e3b359c9bfea3522002466dd60a5503/src/units/configure_symbol_scrape.pyc -------------------------------------------------------------------------------- /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/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/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/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 | -------------------------------------------------------------------------------- /src/units/registerSignals.log: -------------------------------------------------------------------------------- 1 | initSignals.inc will be unchanged --> NOT UPDATED 2 | -------------------------------------------------------------------------------- /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() -------------------------------------------------------------------------------- /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/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 | --------------------------------------------------------------------------------