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