using System; using System.Collections.Generic; using System.Text; namespace com.epam.indigo { public unsafe interface IndigoLib { sbyte* indigoVersion(); long indigoAllocSessionId(); void indigoSetSessionId(long id); void indigoReleaseSessionId(long id); sbyte* indigoGetLastError(); void indigoSetErrorMessage(String message); int indigoFree(int id); int indigoClone(int id); int indigoCountReferences(); int indigoSetOption(string name, string value); int indigoSetOptionInt(string name, int value); int indigoSetOptionBool(string name, int value); int indigoSetOptionFloat(string name, float value); int indigoSetOptionColor(string name, float r, float g, float b); int indigoSetOptionXY(string name, int x, int y); int indigoReadFile(string filename); int indigoReadString(string str); int indigoLoadString(string str); int indigoReadBuffer(byte[] buffer, int size); int indigoLoadBuffer(byte[] buffer, int size); int indigoWriteFile(string filename); int indigoWriteBuffer(); int indigoClose(int item); int indigoCreateMolecule(); int indigoCreateQueryMolecule(); int indigoLoadMoleculeFromString(string str); int indigoLoadMoleculeFromFile(string path); int indigoLoadMoleculeFromBuffer(byte[] buf, int bufsize); int indigoLoadQueryMoleculeFromString(string str); int indigoLoadQueryMoleculeFromFile(string path); int indigoLoadQueryMoleculeFromBuffer(byte[] buf, int bufsize); int indigoLoadSmartsFromString(string str); int indigoLoadSmartsFromFile(string filename); int indigoLoadSmartsFromBuffer(byte[] buffer, int size); int indigoSaveMolfile(int molecule, int output); int indigoSaveMolfileToFile(int molecule, string filename); sbyte* indigoMolfile(int molecule); int indigoSaveCml(int molecule, int output); int indigoSaveCmlToFile(int molecule, string filename); sbyte* indigoCml(int molecule); int indigoSaveMDLCT(int item, int output); int indigoCreateSaver(int output, string format); int indigoCreateFileSaver(string filename, string format); int indigoAppend(int saver, int obj); int indigoLoadReactionFromString(string str); int indigoLoadReactionFromFile(string path); int indigoLoadReactionFromBuffer(byte[] buf, int bufsize); int indigoLoadQueryReactionFromString(string str); int indigoLoadQueryReactionFromFile(string path); int indigoLoadQueryReactionFromBuffer(byte[] buf, int bufsize); int indigoLoadReactionSmartsFromString(string str); int indigoLoadReactionSmartsFromFile(string path); int indigoLoadReactionSmartsFromBuffer(byte[] buf, int bufsize); int indigoCreateReaction(); int indigoCreateQueryReaction(); int indigoAddReactant(int reaction, int molecule); int indigoAddProduct(int reaction, int molecule); int indigoAddCatalyst(int reaction, int molecule); int indigoCountReactants(int reaction); int indigoCountProducts(int reaction); int indigoCountCatalysts(int reaction); int indigoCountMolecules(int reaction); int indigoIterateReactants(int reaction); int indigoIterateProducts(int reaction); int indigoIterateCatalysts(int reaction); int indigoIterateMolecules(int reader); int indigoSaveRxnfile(int reaction, int output); int indigoSaveRxnfileToFile(int reaction, string filename); sbyte* indigoRxnfile(int reaction); int indigoAutomap(int reaction, string filename); int indigoGetAtomMappingNumber(int reaction, int reaction_atom); int indigoSetAtomMappingNumber(int reaction, int reaction_atom, int number); int indigoClearAAM(int reaction); int indigoCorrectReactingCenters(int reaction); int indigoGetReactingCenter(int reaction, int reaction_bond, int* rc); int indigoSetReactingCenter(int reaction, int reaction_bond, int rc); int indigoOptimize(int query, string options); int indigoNormalize(int structure, string options); int indigoStandardize(int item); int indigoIonize(int item, float pH, float pH_toll); float* indigoGetAcidPkaValue(int item, int atom, int level, int min_level); float* indigoGetBasicPkaValue(int item, int atom, int level, int min_level); int indigoBuildPkaModel(int level, float theshold, String filename); int indigoIterateAtoms(int molecule); int indigoIteratePseudoatoms(int molecule); int indigoIterateRSites(int molecule); int indigoIterateStereocenters(int molecule); int indigoIterateAlleneCenters(int molecule); int indigoIterateRGroups(int molecule); int indigoIterateRGroupFragments(int rgroup); int indigoCountAttachmentPoints(int rgroup); int indigoIsPseudoatom(int atom); int indigoIsRSite(int atom); int indigoStereocenterType(int atom); int* indigoStereocenterPyramid(int atom); int indigoSingleAllowedRGroup(int rsite); int indigoChangeStereocenterType(int atom, int type); int indigoAddStereocenter(int atom, int type, int v1, int v2, int v3, int v4); int indigoStereocenterGroup(int atom); int indigoSetStereocenterGroup(int atom, int group); sbyte* indigoSymbol(int atom); int indigoDegree(int atom); int indigoGetCharge(int atom, int* charge); int indigoGetRadical(int atom, int* radical); int indigoGetExplicitValence(int atom, int* valence); int indigoGetRadicalElectrons(int atom, int* electrons); int indigoAtomicNumber(int atom); int indigoIsotope(int atom); int indigoValence(int atom); int indigoCountHydrogens(int atom, int* hydro); int indigoCountImplicitHydrogens(int item); int indigoCountSuperatoms(int item); int indigoCountDataSGroups(int item); int indigoCountGenericSGroups(int item); int indigoCountRepeatingUnits(int item); int indigoCountMultipleGroups(int item); int indigoIterateSuperatoms(int item); int indigoIterateDataSGroups(int item); int indigoIterateGenericSGroups(int item); int indigoIterateRepeatingUnits(int item); int indigoIterateMultipleGroups(int item); int indigoGetDataSGroup(int mol, int idx); int indigoGetSuperatom(int mol, int idx); int indigoGetGenericSGroup (int molecule, int index); int indigoGetMultipleGroup (int molecule, int index); int indigoGetRepeatingUnit (int molecule, int index); sbyte* indigoDescription(int item); sbyte* indigoData(int item); int indigoAddDataSGroup(int molecule, int natoms, int[] atoms, int nbonds, int[] bonds, string description, string data); int indigoSetDataSGroupXY(int sgroup, float x, float y, string options); int indigoAddSuperatom(int molecule, int natoms, int[] atoms, string name); int indigoCreateSGroup(string type, int mapping, string name); int indigoSetSGroupClass(int sgroup, string sgclass); int indigoSetSGroupName(int sgroup, string sgname); sbyte* indigoGetSGroupClass(int sgroup); sbyte* indigoGetSGroupName(int sgroup); int indigoGetSGroupNumCrossBonds(int sgroup); int indigoAddSGroupAttachmentPoint(int sgroup, int aidx, int lvidx, string apid); int indigoDeleteSGroupAttachmentPoint(int sgroup, int apidx); int indigoGetSGroupDisplayOption(int sgroup); int indigoSetSGroupDisplayOption(int sgroup, int option); int indigoGetSGroupMultiplier(int sgroup); int indigoSetSGroupMultiplier(int sgroup, int mult); int indigoSetSGroupData (int sgroup, string data); int indigoSetSGroupCoords (int sgroup, float x, float y); int indigoSetSGroupDescription (int sgroup, string description); int indigoSetSGroupFieldName (int sgroup, string name); int indigoSetSGroupQueryCode (int sgroup, string querycode); int indigoSetSGroupQueryOper (int sgroup, string queryoper); int indigoSetSGroupDisplay (int sgroup, string option); int indigoSetSGroupLocation (int sgroup, string option); int indigoSetSGroupTag (int sgroup, string tag); int indigoSetSGroupTagAlign (int sgroup, int tag_align); int indigoSetSGroupDataType (int sgroup, string type); int indigoSetSGroupXCoord (int sgroup, float x); int indigoSetSGroupYCoord (int sgroup, float y); int indigoSetSGroupBrackets(int sgroup, int brk_style, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4); int indigoFindSGroups(int molecule, string property, string value); int indigoGetSGroupType(int sgroup); int indigoGetSGroupIndex(int sgroup); int indigoTransformSCSRtoCTAB(int molecule); int indigoTransformCTABtoSCSR(int molecule, int templates); float* indigoXYZ(int atom); int indigoSetXYZ(int atom, float x, float y, float z); int indigoResetCharge(int atom); int indigoResetExplicitValence(int atom); int indigoResetRadical(int atom); int indigoResetIsotope(int atom); int indigoSetAttachmentPoint(int atom, int order); int indigoIterateAttachmentPoints(int item, int order); int indigoClearAttachmentPoints(int item); int indigoRemoveConstraints(int item, string type); int indigoAddConstraint(int item, string type, string value); int indigoAddConstraintNot(int item, string type, string value); int indigoAddConstraintOr(int item, string type, string value); int indigoInvertStereo(int atom); int indigoResetStereo(int atom); int indigoCountAtoms(int molecule); int indigoCountBonds(int molecule); int indigoCountPseudoatoms(int molecule); int indigoCountRSites(int molecule); int indigoIterateBonds(int molecule); int indigoBondOrder(int molecule); int indigoBondStereo(int molecule); int indigoTopology(int bond); int indigoIterateNeighbors(int atom); int indigoBond(int nei); int indigoGetAtom(int molecule, int idx); int indigoGetBond(int molecule, int idx); int indigoGetMolecule(int reaction, int idx); int indigoSource(int bond); int indigoDestination(int bond); int indigoClearCisTrans(int item); int indigoClearStereocenters(int item); int indigoClearAlleneCenters(int item); int indigoCountStereocenters(int item); int indigoCountAlleneCenters(int item); int indigoResetSymmetricCisTrans(int handle); int indigoResetSymmetricStereocenters(int handle); int indigoMarkEitherCisTrans(int handle); int indigoMarkStereobonds(int handle); int indigoValidateChirality(int handle); int indigoAddAtom(int molecule, string symbol); int indigoResetAtom(int atom, string symbol); int indigoAddRSite(int molecule, string name); int indigoSetRSite(int atom, string name); int indigoSetCharge(int atom, int charge); int indigoSetExplicitValence(int atom, int valence); int indigoSetIsotope(int atom, int isotope); int indigoSetImplicitHCount(int atom, int implh); int indigoSetRadical(int atom, int radical); int indigoAddBond(int source, int destination, int order); int indigoSetBondOrder(int bond, int order); int indigoMerge(int where_to, int what); int indigoHighlight(int item); int indigoUnhighlight(int item); int indigoIsHighlighted(int item); int indigoCountComponents(int molecule); int indigoComponentIndex(int atom); int indigoIterateComponents(int molecule); int indigoComponent(int molecule, int index); int indigoCountSSSR(int molecule); int indigoIterateSSSR(int molecule); int indigoIterateSubtrees(int molecule, int min_atoms, int max_atoms); int indigoIterateRings(int molecule, int min_atoms, int max_atoms); int indigoIterateEdgeSubmolecules(int molecule, int min_bonds, int max_bonds); int indigoCountHeavyAtoms(int molecule); int indigoGrossFormula(int molecule); float indigoMolecularWeight(int molecule); float indigoMostAbundantMass(int molecule); float indigoMonoisotopicMass(int molecule); sbyte* indigoCanonicalSmiles(int molecule); sbyte* indigoLayeredCode(int molecule); int indigoHasCoord(int molecule); int indigoHasZCoord(int molecule); int indigoIsChiral(int molecule); int indigoIsPossibleFischerProjection(int molecule, string options); int indigoCreateSubmolecule(int molecule, int nvertices, int[] vertices); int indigoCreateEdgeSubmolecule(int molecule, int nvertices, int[] vertices, int nedges, int[] edges); int indigoRemoveAtoms(int molecule, int nvertices, int[] vertices); int indigoRemoveBonds(int molecule, int nbonds, int[] bonds); int indigoGetSubmolecule(int molecule, int nvertices, int[] vertices); float indigoAlignAtoms(int molecule, int natoms, int[] atom_ids, float[] desired_xyz); int indigoAromatize(int item); int indigoDearomatize(int item); int indigoFoldHydrogens(int item); int indigoUnfoldHydrogens(int item); int indigoLayout(int item); sbyte* indigoSmiles(int item); int indigoExactMatch(int item1, int item2, string flags); int indigoSetTautomerRule(int id, string beg, string end); int indigoRemoveTautomerRule(int id); int indigoClearTautomerRules(); sbyte* indigoName(int item); int indigoSetName(int item, string name); int indigoSerialize(int handle, byte** buf, int* size); int indigoUnserialize(byte[] buf, int size); int indigoHasProperty(int handle, string field); sbyte* indigoGetProperty(int handle, string field); int indigoSetProperty(int handle, string field, string value); int indigoRemoveProperty(int item, string prop); int indigoIterateProperties(int handle); int indigoClearProperties(int handle); sbyte* indigoCheckBadValence(int handle); sbyte* indigoCheckAmbiguousH(int handle); int indigoFingerprint(int item, string type); int indigoCountBits(int fingerprint); int indigoCommonBits(int fingerprint1, int fingerprint2); float indigoSimilarity(int molecule1, int molecule2, string metrics); int indigoIterateSDF(int reader); int indigoIterateRDF(int reader); int indigoIterateSmiles(int reader); int indigoIterateCML(int reader); int indigoIterateCDX(int reader); int indigoIterateSDFile(string filename); int indigoIterateRDFile(string filename); int indigoIterateSmilesFile(string filename); int indigoIterateCMLFile(string filename); int indigoIterateCDXFile(string filename); sbyte* indigoRawData(int item); int indigoTell(int item); int indigoSdfAppend(int output, int item); int indigoSmilesAppend(int output, int item); int indigoRdfHeader(int output); int indigoRdfAppend(int output, int item); int indigoCmlHeader(int output); int indigoCmlAppend(int output, int item); int indigoCmlFooter(int output); int indigoCreateArray(); int indigoArrayAdd(int arr, int item); int indigoAt(int item, int index); int indigoCount(int arr); int indigoClear(int arr); int indigoIterateArray(int arr); int indigoSubstructureMatcher(int target, string mode); int indigoIgnoreAtom(int matcher, int atom); int indigoUnignoreAtom(int matcher, int atom); int indigoUnignoreAllAtoms(int matcher); int indigoMatch(int matcher, int query); int indigoCountMatches(int matcher, int query); int indigoCountMatchesWithLimit(int matcher, int query, int embeddings_limit); int indigoIterateMatches(int matcher, int query); int indigoHighlightedTarget(int match); int indigoMapAtom(int match, int query_atom); int indigoMapBond(int match, int query_bond); int indigoMapMolecule(int match, int query_reaction_molecule); int indigoExtractCommonScaffold(int structures, string options); int indigoAllScaffolds(int extracted); int indigoDecomposeMolecules(int scaffold, int structures); int indigoDecomposedMoleculeScaffold(int decomp); int indigoIterateDecomposedMolecules(int decomp); int indigoDecomposedMoleculeHighlighted(int decomp); int indigoDecomposedMoleculeSubstituents(int decomp); int indigoDecomposedMoleculeWithRGroups(int decomp); int indigoCreateDecomposer(int scaffold); int indigoDecomposeMolecule(int decomp, int mol); int indigoIterateDecompositions(int deco_item); int indigoAddDecomposition(int decomp, int q_match); int indigoNext(int iter); int indigoHasNext(int iter); int indigoIndex(int item); int indigoRemove(int item); sbyte* indigoToString(int handle); int indigoToBuffer(int handle, byte** buf, int* size); int* indigoSymmetryClasses(int molecule, int* size); int indigoReactionProductEnumerate(int reaction, int monomers); int indigoTransform(int reaction, int monomers); int indigoExpandAbbreviations (int structure); int indigoIterateTautomers(int structure, string parameters); sbyte* indigoDbgInternalType(int item); sbyte* indigoDbgProfiling (int whole_sessoin); int indigoDbgResetProfiling (int whole_sessoin); int indigoDbgBreakpoint (); } }