rino 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +44 -0
- data/Rakefile +123 -0
- data/ext/extconf.rb +26 -0
- data/ext/ruby_inchi_main.so +0 -0
- data/ext/src/aux2atom.h +2786 -0
- data/ext/src/comdef.h +148 -0
- data/ext/src/e_0dstereo.c +3014 -0
- data/ext/src/e_0dstereo.h +31 -0
- data/ext/src/e_comdef.h +57 -0
- data/ext/src/e_ctl_data.h +147 -0
- data/ext/src/e_ichi_io.c +498 -0
- data/ext/src/e_ichi_io.h +40 -0
- data/ext/src/e_ichi_parms.c +37 -0
- data/ext/src/e_ichi_parms.h +41 -0
- data/ext/src/e_ichicomp.h +50 -0
- data/ext/src/e_ichierr.h +40 -0
- data/ext/src/e_ichimain.c +593 -0
- data/ext/src/e_ichisize.h +43 -0
- data/ext/src/e_inchi_atom.c +75 -0
- data/ext/src/e_inchi_atom.h +33 -0
- data/ext/src/e_inpdef.h +41 -0
- data/ext/src/e_mode.h +706 -0
- data/ext/src/e_mol2atom.c +649 -0
- data/ext/src/e_readinch.c +58 -0
- data/ext/src/e_readmol.c +54 -0
- data/ext/src/e_readmol.h +180 -0
- data/ext/src/e_readstru.c +251 -0
- data/ext/src/e_readstru.h +33 -0
- data/ext/src/e_util.c +284 -0
- data/ext/src/e_util.h +61 -0
- data/ext/src/extr_ct.h +251 -0
- data/ext/src/ichi.h +206 -0
- data/ext/src/ichi_bns.c +7999 -0
- data/ext/src/ichi_bns.h +231 -0
- data/ext/src/ichican2.c +5000 -0
- data/ext/src/ichicano.c +2195 -0
- data/ext/src/ichicano.h +49 -0
- data/ext/src/ichicans.c +1625 -0
- data/ext/src/ichicant.h +379 -0
- data/ext/src/ichicomn.h +260 -0
- data/ext/src/ichicomp.h +50 -0
- data/ext/src/ichidrp.h +119 -0
- data/ext/src/ichierr.h +124 -0
- data/ext/src/ichiisot.c +101 -0
- data/ext/src/ichilnct.c +286 -0
- data/ext/src/ichimain.h +132 -0
- data/ext/src/ichimak2.c +1189 -0
- data/ext/src/ichimake.c +3812 -0
- data/ext/src/ichimake.h +205 -0
- data/ext/src/ichimap1.c +851 -0
- data/ext/src/ichimap2.c +2856 -0
- data/ext/src/ichimap4.c +1609 -0
- data/ext/src/ichinorm.c +741 -0
- data/ext/src/ichinorm.h +67 -0
- data/ext/src/ichiparm.c +45 -0
- data/ext/src/ichiparm.h +1441 -0
- data/ext/src/ichiprt1.c +3612 -0
- data/ext/src/ichiprt2.c +1511 -0
- data/ext/src/ichiprt3.c +3011 -0
- data/ext/src/ichiqueu.c +1003 -0
- data/ext/src/ichiring.c +326 -0
- data/ext/src/ichiring.h +49 -0
- data/ext/src/ichisize.h +35 -0
- data/ext/src/ichisort.c +539 -0
- data/ext/src/ichister.c +3538 -0
- data/ext/src/ichister.h +35 -0
- data/ext/src/ichitaut.c +3843 -0
- data/ext/src/ichitaut.h +387 -0
- data/ext/src/ichitime.h +74 -0
- data/ext/src/inchi_api.h +670 -0
- data/ext/src/inchi_dll.c +1480 -0
- data/ext/src/inchi_dll.h +34 -0
- data/ext/src/inchi_dll_main.c +23 -0
- data/ext/src/inchi_dll_main.h +31 -0
- data/ext/src/inpdef.h +328 -0
- data/ext/src/lreadmol.h +1246 -0
- data/ext/src/mode.h +706 -0
- data/ext/src/ruby_inchi_main.c +558 -0
- data/ext/src/runichi.c +4179 -0
- data/ext/src/strutil.c +3861 -0
- data/ext/src/strutil.h +182 -0
- data/ext/src/util.c +1130 -0
- data/ext/src/util.h +85 -0
- data/lib/clean_tempfile.rb +220 -0
- data/lib/rino.rb +111 -0
- data/test/test.rb +386 -0
- metadata +130 -0
@@ -0,0 +1,31 @@
|
|
1
|
+
/*
|
2
|
+
* International Union of Pure and Applied Chemistry (IUPAC)
|
3
|
+
* International Chemical Identifier (InChI)
|
4
|
+
* Version 1
|
5
|
+
* Software version 1.00
|
6
|
+
* April 13, 2005
|
7
|
+
* Developed at NIST
|
8
|
+
*/
|
9
|
+
|
10
|
+
#ifndef __0DSTEREO_H__
|
11
|
+
#define __0DSTEREO_H__
|
12
|
+
|
13
|
+
|
14
|
+
#ifndef INCHI_ALL_CPP
|
15
|
+
#ifdef __cplusplus
|
16
|
+
extern "C" {
|
17
|
+
#endif
|
18
|
+
#endif
|
19
|
+
|
20
|
+
|
21
|
+
int Clear3D2Dstereo(inchi_Input *pInp);
|
22
|
+
int set_0D_stereo_parities( inchi_Input *pInp, int bPointedEdgeStereo );
|
23
|
+
|
24
|
+
#ifndef INCHI_ALL_CPP
|
25
|
+
#ifdef __cplusplus
|
26
|
+
}
|
27
|
+
#endif
|
28
|
+
#endif
|
29
|
+
|
30
|
+
|
31
|
+
#endif /* __0DSTEREO_H__ */
|
data/ext/src/e_comdef.h
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
/*
|
2
|
+
* International Union of Pure and Applied Chemistry (IUPAC)
|
3
|
+
* International Chemical Identifier (InChI)
|
4
|
+
* Version 1
|
5
|
+
* Software version 1.00
|
6
|
+
* April 13, 2005
|
7
|
+
* Developed at NIST
|
8
|
+
*/
|
9
|
+
|
10
|
+
/* common definitions -- do not change */
|
11
|
+
#ifndef __COMDEF_H__
|
12
|
+
#define __COMDEF_H__
|
13
|
+
|
14
|
+
/* input bond type definition */
|
15
|
+
#define MIN_INPUT_BOND_TYPE INCHI_BOND_TYPE_SINGLE
|
16
|
+
#define MAX_INPUT_BOND_TYPE INCHI_BOND_TYPE_ALTERN
|
17
|
+
|
18
|
+
/* MOlfile */
|
19
|
+
#define INPUT_STEREO_SNGL_UP 1
|
20
|
+
#define INPUT_STEREO_SNGL_EITHER 4
|
21
|
+
#define INPUT_STEREO_SNGL_DOWN 6
|
22
|
+
#define INPUT_STEREO_DBLE_EITHER 3
|
23
|
+
|
24
|
+
/* radical definitions */
|
25
|
+
#define RADICAL_SINGLET 1
|
26
|
+
#define RADICAL_DOUBLET 2
|
27
|
+
#define RADICAL_TRIPLET 3
|
28
|
+
|
29
|
+
|
30
|
+
/* BILLY 8/6/04 */
|
31
|
+
#ifndef INCHI_ALL_CPP
|
32
|
+
#ifdef __cplusplus
|
33
|
+
extern "C" {
|
34
|
+
#endif
|
35
|
+
#endif
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
int e_AddMOLfileError( char *pStrErr, const char *szMsg );
|
40
|
+
|
41
|
+
#define MOLFILE_ERR_FIN(err, new_err, err_fin, msg) \
|
42
|
+
if ( !(err) && (new_err) ) { (err) = (new_err);} e_AddMOLfileError(pStrErr, (msg)); goto err_fin
|
43
|
+
#define MOLFILE_ERR_SET(err, new_err, msg) \
|
44
|
+
if ( !(err) && (new_err) ) { (err) = (new_err);} e_AddMOLfileError(pStrErr, (msg))
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
/* BILLY 8/6/04 */
|
50
|
+
#ifndef INCHI_ALL_CPP
|
51
|
+
#ifdef __cplusplus
|
52
|
+
}
|
53
|
+
#endif
|
54
|
+
#endif
|
55
|
+
|
56
|
+
#endif /* __COMDEF_H__ */
|
57
|
+
|
@@ -0,0 +1,147 @@
|
|
1
|
+
/*
|
2
|
+
* International Union of Pure and Applied Chemistry (IUPAC)
|
3
|
+
* International Chemical Identifier (InChI)
|
4
|
+
* Version 1
|
5
|
+
* Software version 1.00
|
6
|
+
* April 13, 2005
|
7
|
+
* Developed at NIST
|
8
|
+
*/
|
9
|
+
|
10
|
+
#ifndef __CTL_DATA_H__
|
11
|
+
#define __CTL_DATA_H__
|
12
|
+
#include "e_ichisize.h"
|
13
|
+
/***********************************************/
|
14
|
+
#define STR_ERR_LEN 256
|
15
|
+
|
16
|
+
typedef struct tagStructData {
|
17
|
+
unsigned long ulStructTime;
|
18
|
+
int nErrorCode;
|
19
|
+
int nErrorType;
|
20
|
+
int nStructReadError;
|
21
|
+
int bChiralFlag;
|
22
|
+
char pStrErrStruct[STR_ERR_LEN];
|
23
|
+
long fPtrStart;
|
24
|
+
long fPtrEnd;
|
25
|
+
/* debugging info */
|
26
|
+
#if( bRELEASE_VERSION == 0 )
|
27
|
+
int bExtract;
|
28
|
+
#endif
|
29
|
+
|
30
|
+
} STRUCT_DATA;
|
31
|
+
/***********************************************/
|
32
|
+
|
33
|
+
#if( ACD_LABS_VERSION == 1 )
|
34
|
+
#define MAX_NUM_PATHS 5
|
35
|
+
#else
|
36
|
+
#define MAX_NUM_PATHS 4
|
37
|
+
#endif
|
38
|
+
|
39
|
+
/* SDF treatment */
|
40
|
+
#define MAX_SDF_VALUE 255 /* max lenght of the SDFile data value */
|
41
|
+
#define MAX_SDF_HEADER 64 /* max length of the SDFile data header */
|
42
|
+
|
43
|
+
/***********************************************/
|
44
|
+
|
45
|
+
typedef struct tagInputParms {
|
46
|
+
char szSdfDataHeader[MAX_SDF_HEADER+1];
|
47
|
+
char *pSdfLabel;
|
48
|
+
char *pSdfValue;
|
49
|
+
long lSdfId;
|
50
|
+
long lMolfileNumber;
|
51
|
+
/*#ifndef INCHI_ANSI_ONLY
|
52
|
+
DRAW_PARMS dp;
|
53
|
+
PER_DRAW_PARMS pdp;
|
54
|
+
TBL_DRAW_PARMS tdp;
|
55
|
+
#endif*/
|
56
|
+
/*
|
57
|
+
-- Files --
|
58
|
+
ip->path[0] => Input
|
59
|
+
ip->path[1] => Output (INChI)
|
60
|
+
ip->path[2] => Log
|
61
|
+
ip->path[3] => Problem structures
|
62
|
+
ip->path[4] => Errors file (ACD(
|
63
|
+
|
64
|
+
*/
|
65
|
+
const char *path[MAX_NUM_PATHS];
|
66
|
+
int num_paths;
|
67
|
+
int first_struct_number;
|
68
|
+
int last_struct_number;
|
69
|
+
INPUT_TYPE nInputType;
|
70
|
+
INCHI_MODE nMode;
|
71
|
+
int bAbcNumbers;
|
72
|
+
/*int bXml;*/
|
73
|
+
int bINChIOutputOptions; /* !(ip->bINChIOutputOptions & INCHI_OUT_PLAIN_TEXT) */
|
74
|
+
int bCtPredecessors;
|
75
|
+
int bXmlStarted;
|
76
|
+
int bDisplayEachComponentINChI;
|
77
|
+
|
78
|
+
long msec_MaxTime; /* was ulMaxTime; max time to run ProsessOneStructure */
|
79
|
+
long msec_LeftTime;
|
80
|
+
|
81
|
+
unsigned long ulDisplTime;
|
82
|
+
int bDisplay;
|
83
|
+
int bMergeAllInputStructures;
|
84
|
+
int bSaveWarningStructsAsProblem;
|
85
|
+
int bSaveAllGoodStructsAsProblem;
|
86
|
+
int bGetSdfileId;
|
87
|
+
int bGetMolfileNumber; /* read molfile number from the name line like "Structure #22" */
|
88
|
+
int bCompareComponents; /* see flags CMP_COMPONENTS, etc. */
|
89
|
+
int bDisplayCompositeResults;
|
90
|
+
int bDoNotAddH;
|
91
|
+
int bNoStructLabels;
|
92
|
+
int bChiralFlag;
|
93
|
+
int bAllowEmptyStructure;
|
94
|
+
INCHI_MODE bTautFlags;
|
95
|
+
INCHI_MODE bTautFlagsDone;
|
96
|
+
} INPUT_PARMS;
|
97
|
+
|
98
|
+
/*************************** INChI mode *******************************/
|
99
|
+
/* ip->nMode */
|
100
|
+
#define REQ_MODE_BASIC 0x000001 /* B */
|
101
|
+
#define REQ_MODE_TAUT 0x000002 /* T */
|
102
|
+
#define REQ_MODE_ISO 0x000004 /* I */
|
103
|
+
#define REQ_MODE_NON_ISO 0x000008 /* NI */
|
104
|
+
#define REQ_MODE_STEREO 0x000010 /* S */
|
105
|
+
#define REQ_MODE_ISO_STEREO 0x000020 /* IS */
|
106
|
+
#define REQ_MODE_NOEQ_STEREO 0x000040 /* SS */
|
107
|
+
#define REQ_MODE_REDNDNT_STEREO 0x000080 /* RS */
|
108
|
+
#define REQ_MODE_NO_ALT_SBONDS 0x000100 /* NASB */
|
109
|
+
/* new 10-10-2003 */
|
110
|
+
#define REQ_MODE_RELATIVE_STEREO 0x000200 /* REL All Relative Stereo */
|
111
|
+
#define REQ_MODE_RACEMIC_STEREO 0x000400 /* RAC All Racemic Stereo */
|
112
|
+
#define REQ_MODE_SC_IGN_ALL_UU 0x000800 /* IAUSC Ignore stereocenters if All Undef/Unknown */
|
113
|
+
#define REQ_MODE_SB_IGN_ALL_UU 0x001000 /* IAUSC Ignore stereobonds if All Undef/Unknown */
|
114
|
+
#define REQ_MODE_CHIR_FLG_STEREO 0x002000 /* SUCF If Chiral flag then Abs otherwise Rel stereo */
|
115
|
+
/* end of 10-10-2003 */
|
116
|
+
#define REQ_MODE_MIN_SB_RING_MASK 0x0F0000 /* RSB */
|
117
|
+
#define REQ_MODE_MIN_SB_RING_SHFT 16
|
118
|
+
|
119
|
+
#define REQ_MODE_DEFAULT (REQ_MODE_BASIC | REQ_MODE_TAUT | REQ_MODE_ISO | REQ_MODE_NON_ISO | REQ_MODE_STEREO)
|
120
|
+
|
121
|
+
/*********** compare components flags **********************************/
|
122
|
+
/* ip->bCompareComponents */
|
123
|
+
#define CMP_COMPONENTS 0x0001 /* perform compare components */
|
124
|
+
#define CMP_COMPONENTS_NONISO 0x0002 /* ignore isotopic */
|
125
|
+
#define CMP_COMPONENTS_NONTAUT 0x0004 /* compare non-tautomeric */
|
126
|
+
|
127
|
+
/****************** chemical identifier member definitions *************/
|
128
|
+
/* ip->bINChIOutputOptions */
|
129
|
+
#define INCHI_OUT_NO_AUX_INFO 0x0001 /* do not output Aux Info */
|
130
|
+
#define INCHI_OUT_SHORT_AUX_INFO 0x0002 /* output short version of Aux Info */
|
131
|
+
#define INCHI_OUT_ONLY_AUX_INFO 0x0004 /* output only Aux Info */
|
132
|
+
#define INCHI_OUT_EMBED_REC 0x0008 /* embed reconnected INChI into disconnected INChI */
|
133
|
+
#define INCHI_OUT_SDFILE_ONLY 0x0010 /* save input data in a Molfile instead of creating INChI */
|
134
|
+
#define INCHI_OUT_XML 0x0020 /* output xml INChI */
|
135
|
+
#define INCHI_OUT_PLAIN_TEXT 0x0040 /* output plain text INChI */
|
136
|
+
#define INCHI_OUT_PLAIN_TEXT_COMMENTS 0x0080 /* output plain text annotation */
|
137
|
+
#define INCHI_OUT_XML_TEXT_COMMENTS 0x0100 /* output xml text annotation */
|
138
|
+
#define INCHI_OUT_WINCHI_WINDOW 0x0200 /* output into wINChI text window */
|
139
|
+
#define INCHI_OUT_TABBED_OUTPUT 0x0400 /* tab-delimited (only for plain text) */
|
140
|
+
|
141
|
+
#define FLAG_INP_AT_CHIRAL 1
|
142
|
+
#define FLAG_INP_AT_NONCHIRAL 2
|
143
|
+
#define FLAG_SET_INP_AT_CHIRAL 4
|
144
|
+
#define FLAG_SET_INP_AT_NONCHIRAL 8
|
145
|
+
|
146
|
+
|
147
|
+
#endif /* __CTL_DATA_H__ */
|