1 /* @include ensanalysis *******************************************************
2 **
3 ** Ensembl Analysis functions
4 **
5 ** @author Copyright (C) 1999 Ensembl Developers
6 ** @author Copyright (C) 2006 Michael K. Schuster
7 ** @version $Revision: 1.19 $
8 ** @modified 2009 by Alan Bleasby for incorporation into EMBOSS core
9 ** @modified $Date: 2012/08/05 10:24:06 $ by $Author: mks $
10 ** @@
11 **
12 ** This library is free software; you can redistribute it and/or
13 ** modify it under the terms of the GNU Lesser General Public
14 ** License as published by the Free Software Foundation; either
15 ** version 2.1 of the License, or (at your option) any later version.
16 **
17 ** This library is distributed in the hope that it will be useful,
18 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
19 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
20 ** Lesser General Public License for more details.
21 **
22 ** You should have received a copy of the GNU Lesser General Public
23 ** License along with this library; if not, write to the Free Software
24 ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
25 ** MA  02110-1301,  USA.
26 **
27 ******************************************************************************/
28 
29 #ifndef ENSANALYSIS_H
30 #define ENSANALYSIS_H
31 
32 /* ========================================================================= */
33 /* ============================= include files ============================= */
34 /* ========================================================================= */
35 
36 #include "ensbaseadaptor.h"
37 
38 AJ_BEGIN_DECLS
39 
40 
41 
42 
43 /* ========================================================================= */
44 /* =============================== constants =============================== */
45 /* ========================================================================= */
46 
47 
48 
49 
50 /* ========================================================================= */
51 /* ============================== public data ============================== */
52 /* ========================================================================= */
53 
54 
55 
56 
57 /* ========================================================================= */
58 /* =========================== public functions ============================ */
59 /* ========================================================================= */
60 
61 /*
62 ** Prototype definitions
63 */
64 
65 /* Ensembl Analysis */
66 
67 EnsPAnalysis ensAnalysisNewCpy(const EnsPAnalysis analysis);
68 
69 EnsPAnalysis ensAnalysisNewIni(EnsPAnalysisadaptor aa,
70                                ajuint identifier,
71                                AjPStr cdate,
72                                AjPStr name,
73                                AjPStr databasename,
74                                AjPStr databaseversion,
75                                AjPStr databasefile,
76                                AjPStr programname,
77                                AjPStr programversion,
78                                AjPStr programfile,
79                                AjPStr parameters,
80                                AjPStr modulename,
81                                AjPStr moduleversion,
82                                AjPStr gffsource,
83                                AjPStr gfffeature,
84                                AjPStr description,
85                                AjPStr displaylabel,
86                                AjPStr webdata,
87                                AjBool displayable);
88 
89 EnsPAnalysis ensAnalysisNewRef(EnsPAnalysis analysis);
90 
91 void ensAnalysisDel(EnsPAnalysis *Panalysis);
92 
93 EnsPAnalysisadaptor ensAnalysisGetAdaptor(const EnsPAnalysis analysis);
94 
95 AjPStr ensAnalysisGetDatabasefile(const EnsPAnalysis analysis);
96 
97 AjPStr ensAnalysisGetDatabasename(const EnsPAnalysis analysis);
98 
99 AjPStr ensAnalysisGetDatabaseversion(const EnsPAnalysis analysis);
100 
101 AjPStr ensAnalysisGetDateCreation(const EnsPAnalysis analysis);
102 
103 AjPStr ensAnalysisGetDescription(const EnsPAnalysis analysis);
104 
105 AjBool ensAnalysisGetDisplayable(const EnsPAnalysis analysis);
106 
107 AjPStr ensAnalysisGetDisplaylabel(const EnsPAnalysis analysis);
108 
109 AjPStr ensAnalysisGetGfffeature(const EnsPAnalysis analysis);
110 
111 AjPStr ensAnalysisGetGffsource(const EnsPAnalysis analysis);
112 
113 ajuint ensAnalysisGetIdentifier(const EnsPAnalysis analysis);
114 
115 AjPStr ensAnalysisGetModulename(const EnsPAnalysis analysis);
116 
117 AjPStr ensAnalysisGetModuleversion(const EnsPAnalysis analysis);
118 
119 AjPStr ensAnalysisGetName(const EnsPAnalysis analysis);
120 
121 AjPStr ensAnalysisGetParameters(const EnsPAnalysis analysis);
122 
123 AjPStr ensAnalysisGetProgramfile(const EnsPAnalysis analysis);
124 
125 AjPStr ensAnalysisGetProgramname(const EnsPAnalysis analysis);
126 
127 AjPStr ensAnalysisGetProgramversion(const EnsPAnalysis analysis);
128 
129 AjPStr ensAnalysisGetWebdata(const EnsPAnalysis analysis);
130 
131 AjBool ensAnalysisSetAdaptor(EnsPAnalysis analysis,
132                              EnsPAnalysisadaptor aa);
133 
134 AjBool ensAnalysisSetDatabasefile(EnsPAnalysis analysis,
135                                   AjPStr databasefile);
136 
137 AjBool ensAnalysisSetDatabasename(EnsPAnalysis analysis,
138                                   AjPStr databasename);
139 
140 AjBool ensAnalysisSetDateCreation(EnsPAnalysis analysis,
141                                   AjPStr cdate);
142 
143 AjBool ensAnalysisSetDescription(EnsPAnalysis analysis,
144                                  AjPStr description);
145 
146 AjBool ensAnalysisSetDisplayable(EnsPAnalysis analysis,
147                                  AjBool displayable);
148 
149 AjBool ensAnalysisSetDisplaylabel(EnsPAnalysis analysis,
150                                   AjPStr displaylabel);
151 
152 AjBool ensAnalysisSetDatabaseversion(EnsPAnalysis analysis,
153                                      AjPStr databaseversion);
154 
155 AjBool ensAnalysisSetIdentifier(EnsPAnalysis analysis,
156                                 ajuint identifier);
157 
158 AjBool ensAnalysisSetGfffeature(EnsPAnalysis analysis,
159                                 AjPStr gfffeature);
160 
161 AjBool ensAnalysisSetGffsource(EnsPAnalysis analysis,
162                                AjPStr gffsource);
163 
164 AjBool ensAnalysisSetModulename(EnsPAnalysis analysis,
165                                 AjPStr modulename);
166 
167 AjBool ensAnalysisSetModuleversion(EnsPAnalysis analysis,
168                                    AjPStr moduleversion);
169 
170 AjBool ensAnalysisSetName(EnsPAnalysis analysis,
171                           AjPStr name);
172 
173 AjBool ensAnalysisSetParameters(EnsPAnalysis analysis,
174                                 AjPStr parameters);
175 
176 AjBool ensAnalysisSetProgramfile(EnsPAnalysis analysis,
177                                  AjPStr programfile);
178 
179 AjBool ensAnalysisSetProgramname(EnsPAnalysis analysis,
180                                  AjPStr programname);
181 
182 AjBool ensAnalysisSetProgramversion(EnsPAnalysis analysis,
183                                     AjPStr programversion);
184 
185 AjBool ensAnalysisSetWebdata(EnsPAnalysis analysis,
186                              AjPStr webdata);
187 
188 AjBool ensAnalysisTrace(const EnsPAnalysis analysis, ajuint level);
189 
190 size_t ensAnalysisCalculateMemsize(const EnsPAnalysis analysis);
191 
192 AjBool ensAnalysisIsDatabase(const EnsPAnalysis analysis);
193 
194 AjBool ensAnalysisMatch(const EnsPAnalysis analysis1,
195                         const EnsPAnalysis analysis2);
196 
197 AjBool ensListAnalysisSortIdentifierAscending(AjPList analyses);
198 
199 AjBool ensListAnalysisSortIdentifierDescending(AjPList analyses);
200 
201 AjBool ensListAnalysisSortNameAscending(AjPList analyses);
202 
203 AjBool ensListAnalysisSortNameDescending(AjPList analyses);
204 
205 /* Ensembl Analysis Adaptor */
206 
207 EnsPAnalysisadaptor ensRegistryGetAnalysisadaptor(
208     EnsPDatabaseadaptor dba);
209 
210 EnsPAnalysisadaptor ensAnalysisadaptorNew(
211     EnsPDatabaseadaptor dba);
212 
213 AjBool ensAnalysisadaptorCacheClear(EnsPAnalysisadaptor aa);
214 
215 void ensAnalysisadaptorDel(EnsPAnalysisadaptor *Paa);
216 
217 EnsPBaseadaptor ensAnalysisadaptorGetBaseadaptor(
218     EnsPAnalysisadaptor aa);
219 
220 EnsPDatabaseadaptor ensAnalysisadaptorGetDatabaseadaptor(
221     EnsPAnalysisadaptor aa);
222 
223 AjBool ensAnalysisadaptorFetchAll(
224     EnsPAnalysisadaptor aa,
225     AjPList analyses);
226 
227 AjBool ensAnalysisadaptorFetchAllbyFeatureclass(
228     EnsPAnalysisadaptor aa,
229     const AjPStr class,
230     AjPList analyses);
231 
232 AjBool ensAnalysisadaptorFetchByIdentifier(
233     EnsPAnalysisadaptor aa,
234     ajuint identifier,
235     EnsPAnalysis *Panalysis);
236 
237 AjBool ensAnalysisadaptorFetchByName(
238     EnsPAnalysisadaptor aa,
239     const AjPStr name,
240     EnsPAnalysis *Panalysis);
241 
242 /*
243 ** End of prototype definitions
244 */
245 
246 
247 
248 
249 AJ_END_DECLS
250 
251 #endif /* !ENSANALYSIS_H */
252