1 /* @include ensqcsubmission *************************************************** 2 ** 3 ** Ensembl Quality Check Submission functions 4 ** 5 ** @author Copyright (C) 1999 Ensembl Developers 6 ** @author Copyright (C) 2006 Michael K. Schuster 7 ** @version $Revision: 1.6 $ 8 ** @modified 2009 by Alan Bleasby for incorporation into EMBOSS core 9 ** @modified $Date: 2012/02/04 10:30:24 $ 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 ENSQCSUBMISSION_H 30 #define ENSQCSUBMISSION_H 31 32 /* ========================================================================= */ 33 /* ============================= include files ============================= */ 34 /* ========================================================================= */ 35 36 #include "ensanalysis.h" 37 #include "ensqcsequence.h" 38 39 AJ_BEGIN_DECLS 40 41 42 43 44 /* ========================================================================= */ 45 /* =============================== constants =============================== */ 46 /* ========================================================================= */ 47 48 /* @const EnsPQcsubmissionadaptor ********************************************* 49 ** 50 ** Ensembl Quality Check Submission Adaptor 51 ** 52 ******************************************************************************/ 53 54 #define EnsPQcsubmissionadaptor EnsPBaseadaptor 55 56 57 58 59 /* ========================================================================= */ 60 /* ============================== public data ============================== */ 61 /* ========================================================================= */ 62 63 /* @data EnsPQcsubmission ***************************************************** 64 ** 65 ** Ensembl Quality Check Submission 66 ** 67 ** @alias EnsSQcsubmission 68 ** @alias EnsOQcsubmission 69 ** 70 ** @attr Use [ajuint] Use counter 71 ** @cc Bio::EnsEMBL::Storable 72 ** @attr Identifier [ajuint] SQL database-internal identifier 73 ** @attr Adaptor [EnsPQcsubmissionadaptor] 74 ** Ensembl Quality Check Submission Adaptor 75 ** @cc Bio::EnsEMBL::QC::Submission 76 ** @cc 'submission' SQL table 77 ** @attr Analysis [EnsPAnalysis] Ensembl Analysis 78 ** @attr QuerySequence [EnsPQcsequence] Query Ensembl Quality Check Sequence 79 ** @attr TargetSequence [EnsPQcsequence] Target Ensembl Quality Check Sequence 80 ** @attr QueryStart [ajuint] Query start 81 ** @attr QueryEnd [ajuint] Query end 82 ** @attr QueryStrand [ajint] Query strand 83 ** @attr TargetStart [ajuint] Target start 84 ** @attr TargetEnd [ajuint] Target end 85 ** @attr TargetStrand [ajint] Target strand 86 ** @attr Analysisjobidentifier [ajuint] Ensembl Hive Analysis Job identifier 87 ** @attr Padding [ajuint] Padding to alignment boundary 88 ** @@ 89 ******************************************************************************/ 90 91 typedef struct EnsSQcsubmission 92 { 93 ajuint Use; 94 ajuint Identifier; 95 EnsPQcsubmissionadaptor Adaptor; 96 EnsPAnalysis Analysis; 97 EnsPQcsequence QuerySequence; 98 EnsPQcsequence TargetSequence; 99 ajuint QueryStart; 100 ajuint QueryEnd; 101 ajint QueryStrand; 102 ajuint TargetStart; 103 ajuint TargetEnd; 104 ajint TargetStrand; 105 ajuint Analysisjobidentifier; 106 ajuint Padding; 107 } EnsOQcsubmission; 108 109 #define EnsPQcsubmission EnsOQcsubmission* 110 111 112 113 114 /* ========================================================================= */ 115 /* =========================== public functions ============================ */ 116 /* ========================================================================= */ 117 118 /* 119 ** Prototype definitions 120 */ 121 122 /* Ensembl Quality Check Submission */ 123 124 EnsPQcsubmission ensQcsubmissionNewCpy(const EnsPQcsubmission qcsb); 125 126 EnsPQcsubmission ensQcsubmissionNewIni(EnsPQcsubmissionadaptor adaptor, 127 ajuint identifier, 128 EnsPAnalysis analysis, 129 EnsPQcsequence qsequence, 130 EnsPQcsequence tsequence, 131 ajuint tstart, 132 ajuint tend, 133 ajint tstrand, 134 ajuint analysisjobid); 135 136 EnsPQcsubmission ensQcsubmissionNewRef(EnsPQcsubmission qcsb); 137 138 void ensQcsubmissionDel(EnsPQcsubmission *Pqcsb); 139 140 EnsPQcsubmissionadaptor ensQcsubmissionGetAdaptor(const EnsPQcsubmission qcsb); 141 142 EnsPAnalysis ensQcsubmissionGetAnalysis(const EnsPQcsubmission qcsb); 143 144 ajuint ensQcsubmissionGetAnalysisjobidentifier(const EnsPQcsubmission qcsb); 145 146 ajuint ensQcsubmissionGetIdentifier(const EnsPQcsubmission qcsb); 147 148 ajuint ensQcsubmissionGetQueryEnd(const EnsPQcsubmission qcsb); 149 150 EnsPQcsequence ensQcsubmissionGetQuerySequence(const EnsPQcsubmission qcsb); 151 152 ajuint ensQcsubmissionGetQueryStart(const EnsPQcsubmission qcsb); 153 154 ajint ensQcsubmissionGetQueryStrand(const EnsPQcsubmission qcsb); 155 156 ajuint ensQcsubmissionGetTargetEnd(const EnsPQcsubmission qcsb); 157 158 EnsPQcsequence ensQcsubmissionGetTargetSequence(const EnsPQcsubmission qcsb); 159 160 ajuint ensQcsubmissionGetTargetStart(const EnsPQcsubmission qcsb); 161 162 ajint ensQcsubmissionGetTargetStrand(const EnsPQcsubmission qcsb); 163 164 AjBool ensQcsubmissionSetAdaptor(EnsPQcsubmission qcsb, 165 EnsPQcsubmissionadaptor qcsba); 166 167 AjBool ensQcsubmissionSetAnalysis(EnsPQcsubmission qcsb, 168 EnsPAnalysis analysis); 169 170 AjBool ensQcsubmissionSetAnalysisjobidentifier(EnsPQcsubmission qcsb, 171 ajuint jobid); 172 173 AjBool ensQcsubmissionSetIdentifier(EnsPQcsubmission qcsb, 174 ajuint identifier); 175 176 AjBool ensQcsubmissionSetQueryEnd(EnsPQcsubmission qcsb, 177 ajuint qend); 178 179 AjBool ensQcsubmissionSetQuerySequence(EnsPQcsubmission qcsb, 180 EnsPQcsequence qsequence); 181 182 AjBool ensQcsubmissionSetQueryStart(EnsPQcsubmission qcsb, 183 ajuint qstart); 184 185 AjBool ensQcsubmissionSetQueryStrand(EnsPQcsubmission qcsb, 186 ajint qstrand); 187 188 AjBool ensQcsubmissionSetTargetEnd(EnsPQcsubmission qcsb, 189 ajuint tend); 190 191 AjBool ensQcsubmissionSetTargetSequence(EnsPQcsubmission qcsb, 192 EnsPQcsequence tsequence); 193 194 AjBool ensQcsubmissionSetTargetStart(EnsPQcsubmission qcsb, 195 ajuint tstart); 196 197 AjBool ensQcsubmissionSetTargetStrand(EnsPQcsubmission qcsb, 198 ajint tstrand); 199 200 AjBool ensQcsubmissionTrace(const EnsPQcsubmission qcsb, ajuint level); 201 202 size_t ensQcsubmissionCalculateMemsize(const EnsPQcsubmission qcsb); 203 204 /* Ensembl Quality Check Submission Adaptor */ 205 206 EnsPQcsubmissionadaptor ensRegistryGetQcsubmissionadaptor( 207 EnsPDatabaseadaptor dba); 208 209 EnsPQcsubmissionadaptor ensQcsubmissionadaptorNew( 210 EnsPDatabaseadaptor dba); 211 212 void ensQcsubmissionadaptorDel(EnsPQcsubmissionadaptor *Pqcsba); 213 214 EnsPBaseadaptor ensQcsubmissionadaptorGetBaseadaptor( 215 EnsPQcsubmissionadaptor qcsba); 216 217 EnsPDatabaseadaptor ensQcsubmissionadaptorGetDatabaseadaptor( 218 EnsPQcsubmissionadaptor qcsba); 219 220 AjBool ensQcsubmissionadaptorFetchAllbyQcdatabasePair( 221 EnsPQcsubmissionadaptor qcsba, 222 const EnsPAnalysis analysis, 223 const EnsPQcdatabase qdb, 224 const EnsPQcdatabase tdb, 225 AjPList qcsbs); 226 227 AjBool ensQcsubmissionadaptorFetchAllbyQcdatabaseQuery( 228 EnsPQcsubmissionadaptor qcsba, 229 const EnsPAnalysis analysis, 230 const EnsPQcdatabase qdb, 231 AjPList qcsbs); 232 233 AjBool ensQcsubmissionadaptorFetchAllbyQcdatabaseTarget( 234 EnsPQcsubmissionadaptor qcsba, 235 const EnsPAnalysis analysis, 236 const EnsPQcdatabase tdb, 237 AjPList qcsbs); 238 239 AjBool ensQcsubmissionadaptorFetchAllbyRegion( 240 EnsPQcsubmissionadaptor qcsba, 241 const EnsPAnalysis analysis, 242 const EnsPQcsequence qsequence, 243 const EnsPQcdatabase tdb, 244 const EnsPQcsequence tsequence, 245 ajuint tstart, 246 ajuint tend, 247 ajint tstrand, 248 AjPList qcsbs); 249 250 AjBool ensQcsubmissionadaptorFetchByIdentifier( 251 EnsPQcsubmissionadaptor adaptor, 252 ajuint identifier, 253 EnsPQcsubmission *Pqcsb); 254 255 AjBool ensQcsubmissionadaptorDelete(EnsPQcsubmissionadaptor qcsba, 256 EnsPQcsubmission qcsb); 257 258 AjBool ensQcsubmissionadaptorStore(EnsPQcsubmissionadaptor qcsba, 259 EnsPQcsubmission qcsb); 260 261 AjBool ensQcsubmissionadaptorUpdate(EnsPQcsubmissionadaptor qcsba, 262 const EnsPQcsubmission qcsb); 263 264 /* 265 ** End of prototype definitions 266 */ 267 268 269 270 271 AJ_END_DECLS 272 273 #endif /* !ENSQCSUBMISSION_H */ 274