This file is indexed.

/usr/lib/emboss/include/ajfeat.h is in emboss-lib 6.6.0+dfsg-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
/* @include ajfeat ************************************************************
**
** A genome feature (in AJAX program context) is a description of a
** genomic entity which was determined by some 'source' analysis
** (which may be of 'wet lab' experimental or 'in silico'
** computational nature), has a 'primary' descriptor ('Primary_Tag'),
** may have some 'score' asserting the level of analysis confidence in
** its identity (e.g. log likelihood relative to a null hypothesis or
** other similar entity), has a 'Position' in the genome, and may have
** any arbitrary number of descriptor tags associated with it.
**
** @author Copyright (C) 1999 Richard Bruskiewich
** @version $Revision: 1.80 $
** @modified 2000 Ian Longden.
** @modified 2001 Peter Rice.
** @modified $Date: 2013/06/29 22:31:59 $ by $Author: rice $
** @@
**
** This library is free software; you can redistribute it and/or
** modify it under the terms of the GNU Lesser General Public
** License as published by the Free Software Foundation; either
** version 2.1 of the License, or (at your option) any later version.
**
** This library is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
** Lesser General Public License for more details.
**
** You should have received a copy of the GNU Lesser General Public
** License along with this library; if not, write to the Free Software
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
** MA  02110-1301,  USA.
******************************************************************************/

#ifndef AJFEAT_H
#define AJFEAT_H

/* ========================================================================= */
/* ============================= include files ============================= */
/* ========================================================================= */

#include "ajdefine.h"
#include "ajexcept.h"
#include "ajmem.h"
#include "ajreg.h"
#include "ajstr.h"
#include "ajtagval.h"
#include "ajfile.h"
#include "ajtime.h"
#include "ajfmt.h"
#include "ajfeatdata.h"
#include "ajseqdata.h"
#include <stdlib.h>
#include <stdio.h>

AJ_BEGIN_DECLS




/* ========================================================================= */
/* =============================== constants =============================== */
/* ========================================================================= */




/* ========================================================================= */
/* ============================== public data ============================== */
/* ========================================================================= */




/* ========================================================================= */
/* =========================== public functions ============================ */
/* ========================================================================= */




/*
** Prototype definitions
*/

ajint          ajFeatCompByEnd(const void *a, const void *b);
ajint          ajFeatCompByGroup(const void *a, const void *b);
ajint          ajFeatCompByStart(const void *a, const void *b);
ajint          ajFeatCompByType(const void *a, const void *b);

const AjPTable ajFeatVocabGetTags(const char* name);
const AjPTable ajFeatVocabGetTagsNuc(const char* name);
const AjPTable ajFeatVocabGetTagsProt(const char* name);
const AjPTable ajFeatVocabGetTypes(const char* name);
const AjPTable ajFeatVocabGetTypesNuc(const char* name);
const AjPTable ajFeatVocabGetTypesProt(const char* name);
const AjPTable ajFeatVocabInit(const char* name);
const AjPTable ajFeatVocabInitNuc(const char* name);
const AjPTable ajFeatVocabInitProt(const char* name);
AjPFeature    ajFeatNewFeat(const AjPFeature orig);
void          ajFeatDel(AjPFeature *pthis);
void          ajFeatExit(void);
ajuint        ajFeatGetEnd(const AjPFeature thys);
char          ajFeatframeGetFrame(ajint frame);
char          ajFeatframeGetFrameNuc(ajint frame);
char          ajFeatstrandGetStrand(ajint strand);
AjBool        ajFeatGetForward(const AjPFeature thys);
ajint         ajFeatGetFrame(const AjPFeature thys);
ajuint        ajFeatGetLength(const AjPFeature thys);
AjBool        ajFeatGetNoteC(const AjPFeature thys, const char* name,
                             AjPStr* val);
AjBool        ajFeatGetNoteCI(const AjPFeature thys, const char* name,
                              ajint count, AjPStr* val);
AjBool        ajFeatGetNoteSI(const AjPFeature thys, const AjPStr name,
                              ajint count, AjPStr* val);
AjBool        ajFeatGetNoteS(const AjPFeature thys, const AjPStr name,
                             AjPStr* val);
AjBool        ajFeatGetRemoteseq(const AjPFeature thys, const AjPStr usa,
                                 AjPSeq seq);
float         ajFeatGetScore(const AjPFeature thys);
AjBool        ajFeatGetScorerange(const AjPFeature thys,
                                  float *minscore, float *maxscore);
const AjPStr  ajFeatGetSubtype(const AjPFeature thys);
const AjPStr  ajFeatGetSource(const AjPFeature thys);
AjBool        ajFeatGetFlags(const AjPFeature thys,  AjPStr* Pflagstr);
AjBool        ajFeatGetSeq(const AjPFeature feat,
                           const AjPSeq seq, AjPStr* seqstr);
AjBool        ajFeatGetSeqJoin(const AjPFeature thys,
                               const AjPSeq seq, AjPStr* Pseqstr);
ajuint        ajFeatGetStart(const AjPFeature thys);
char          ajFeatGetStrand(const AjPFeature thys);
AjBool        ajFeatGetTagC(const AjPFeature thys, const char* tname,
                            ajint num, AjPStr* val);
AjBool        ajFeatGetTagS(const AjPFeature thys, const AjPStr name,
                            ajint num, AjPStr* val);
AjBool        ajFeatGetTranslation(const AjPFeature feat, AjPStr* seqstr);
const AjPStr  ajFeatGetType(const AjPFeature thys);
AjBool        ajFeatGetXrefs(const AjPFeature thys, AjPList *Pxreflist);
AjBool        ajFeatIsCompMult(const AjPFeature gf);
AjBool        ajFeatIsLocal(const AjPFeature gf);
AjBool        ajFeatIsLocalRange(const AjPFeature gf,
                                 ajuint start, ajuint end);
AjBool        ajFeatIsMultiple(const AjPFeature gf);
AjBool        ajFeatLocMark(const AjPFeature thys, const AjPFeattable table,
                            AjPStr* Pseqstr);
AjPFeature    ajFeatNew(AjPFeattable thys,
                        const AjPStr source, const AjPStr type,
                        ajint Start, ajint End, float score,
                        char strand, ajint frame);
AjPFeature    ajFeatNewII(AjPFeattable thys,
                          ajint Start, ajint End);
AjPFeature    ajFeatNewIIRev(AjPFeattable thys,
                             ajint Start, ajint End);
AjPFeature    ajFeatNewBetween(AjPFeattable thys,
                               ajint Start);
AjPFeature   ajFeatNewNuc(AjPFeattable thys,
                          const AjPStr source, const AjPStr type,
                          ajint Start, ajint End,
                          float score, char  strand,
                          ajint frame, ajint exon,
                          ajint Start2, ajint End2,
                          const AjPStr entryid,  const AjPStr label);
AjPFeature   ajFeatNewNucFlags(AjPFeattable thys,
                               const AjPStr source, const AjPStr type,
                               ajint Start, ajint End,
                               float score, char  strand,
                               ajint frame, ajint exon,
                               ajint Start2, ajint End2,
                               const AjPStr entryid,  const AjPStr label,
                               ajuint flags);
AjPFeature    ajFeatNewProt(AjPFeattable thys,
                            const AjPStr source, const AjPStr type,
                            ajint Start, ajint End,
                            float score);
AjPFeature    ajFeatNewProtFlags(AjPFeattable thys,
                                 const AjPStr source, const AjPStr type,
                                 ajint Start, ajint End,
                                 float score,
                                 ajuint flags);
AjPFeature    ajFeatNewSub(AjPFeattable thys, AjPFeature parent,
                           const AjPStr source, const AjPStr type,
                           ajint Start, ajint End, float score,
                           char strand, ajint frame);
AjPFeature    ajFeatNewIISub(AjPFeattable thys, AjPFeature parent,
                             ajint Start, ajint End);
AjPFeature    ajFeatNewIIRevSub(AjPFeattable thys, AjPFeature parent,
                                ajint Start, ajint End);
AjPFeature   ajFeatNewNucSub(AjPFeattable thys, AjPFeature parent,
                             const AjPStr source, const AjPStr type,
                             ajint Start, ajint End,
                             float score, char  strand,
                             ajint frame, ajint exon,
                             ajint Start2, ajint End2,
                             const AjPStr entryid,  const AjPStr label);
AjPFeature   ajFeatNewNucFlagsSub(AjPFeattable thys, AjPFeature parent,
                                  const AjPStr source, const AjPStr type,
                                  ajint Start, ajint End,
                                  float score, char  strand,
                                  ajint frame, ajint exon,
                                  ajint Start2, ajint End2,
                                  const AjPStr entryid,  const AjPStr label,
                                  ajuint flags);
AjPFeature    ajFeatNewProtSub(AjPFeattable thys, AjPFeature parent,
                               const AjPStr source, const AjPStr type,
                               ajint Start, ajint End,
                               float score);
AjPFeature    ajFeatNewProtFlagsSub(AjPFeattable thys, AjPFeature parent,
                                    const AjPStr source, const AjPStr type,
                                    ajint Start, ajint End,
                                    float score,
                                    ajuint flags);
void          ajFeatReverse(AjPFeature thys, ajint ilen);
void          ajFeatSetDesc(AjPFeature thys, const AjPStr desc);
void          ajFeatSetDescApp(AjPFeature thys, const AjPStr desc);
void          ajFeatSetScore(AjPFeature thys, float score);
void          ajFeatSetSource(AjPFeature thys, const AjPStr source);
void          ajFeatSetStrand(AjPFeature thys, AjBool rev);
void          ajFeatSortByEnd(AjPFeattable Feattab);
void          ajFeatSortByStart(AjPFeattable Feattab);
void          ajFeatSortByType(AjPFeattable Feattab);
void          ajFeattableAdd(AjPFeattable thys, AjPFeature feature);
void          ajFeattableAddNew(AjPFeattable thys, AjPFeature feature);
void          ajFeattableClear(AjPFeattable thys);
void          ajFeattableDel(AjPFeattable *pthis);
ajint         ajFeattableGetBegin(const AjPFeattable thys);
ajint         ajFeattableGetEnd(const AjPFeattable thys);
const AjPStr  ajFeattableGetEntry(const AjPFeattable thys);
ajint         ajFeattableGetLen(const AjPFeattable thys);
const AjPStr  ajFeattableGetName(const AjPFeattable thys);
const char*   ajFeattableGetQryC(const AjPFeattable ftable);
const AjPStr  ajFeattableGetQryS(const AjPFeattable ftable);
AjBool        ajFeattableGetScorerange(const AjPFeattable thys,
                                       float *minscore, float *maxscore);
ajuint        ajFeattableGetSize(const AjPFeattable thys);
const char*   ajFeattableGetTypeC(const AjPFeattable thys);
const AjPStr  ajFeattableGetTypeS(const AjPFeattable thys);
AjBool        ajFeattableGetXrefs(const AjPFeattable thys, AjPList *Pxreflist,
                                  ajuint *Ptaxid);
AjBool        ajFeattableIsCircular(const AjPFeattable thys);
AjBool        ajFeattableIsNuc(const AjPFeattable thys);
AjBool        ajFeattableIsProt(const AjPFeattable thys);
ajuint        ajFeattableMerge(AjPFeattable thys, const AjPFeattable srctable);
AjPFeattable  ajFeattableNew(const AjPStr name);
AjPFeattable  ajFeattableNewDna(const AjPStr name);
AjPFeattable  ajFeattableNewFtable(const AjPFeattable orig);
AjPFeattable  ajFeattableNewFtableLimit(const AjPFeattable orig, ajint limit);
AjPFeattable  ajFeattableNewProt(const AjPStr name);
AjPFeattable  ajFeattableNewSeq(const AjPSeq seq);
ajuint        ajFeattablePos(const AjPFeattable thys, ajint ipos);
ajuint        ajFeattablePosI(const AjPFeattable thys,
                              ajuint imin, ajint ipos);
ajuint        ajFeattablePosII(ajuint ilen, ajuint imin, ajint ipos);
void          ajFeattableReset(AjPFeattable thys, const AjPStr name);
void          ajFeattableReverse(AjPFeattable  thys);
void          ajFeattableSetCircular(AjPFeattable thys);
void          ajFeattableSetDefname(AjPFeattable thys, const AjPStr setname);
void          ajFeattableSetLength(AjPFeattable thys, ajuint len);
void          ajFeattableSetLinear(AjPFeattable thys);
void          ajFeattableSetNuc(AjPFeattable thys);
void          ajFeattableSetProt(AjPFeattable thys);
void          ajFeattableSetRange(AjPFeattable thys,
                                  ajint fbegin, ajint fend);
void          ajFeattableSetReverse(AjPFeattable thys);
void          ajFeattableTrace(const AjPFeattable thys);
AjBool        ajFeattableTrim(AjPFeattable thys);
AjBool        ajFeattableTrimOff(AjPFeattable thys,
                                 ajuint ioffset, ajuint ilen);
AjPFeatGfftags ajFeatGfftagsNew(void);
void           ajFeatGfftagsDel(AjPFeatGfftags*Pthys);
AjPFeatGfftags ajFeatGetGfftags(const AjPFeature thys);
void           ajFeatGfftagTrace(const AjPFeature thys);
const AjPStr   ajFeatGetId(const AjPFeature thys);
const AjPStr   ajFeatGetParent(const AjPFeature thys);

ajuint        ajFeatGfftagAddSS(AjPFeature thys,
                                const AjPStr tag, const AjPStr value);
ajuint        ajFeatGfftagAddCS(AjPFeature thys,
                                const char* tag, const AjPStr value);
AjBool        ajFeatGfftagAddTag(AjPFeature thys, const AjPTagval tagval);

AjBool        ajFeatTagAddSS(AjPFeature thys,
                             const AjPStr tag, const AjPStr value);
AjBool        ajFeatTagAddCS(AjPFeature thys,
                             const char* tag, const AjPStr value);
AjBool        ajFeatTagAddCC(AjPFeature thys,
                             const char* tag, const char* value);
AjBool        ajFeatTagAddTag(AjPFeature thys, const AjPTagval tagval);
AjIList       ajFeatSubIter(const AjPFeature thys);
AjIList       ajFeatTagIter(const AjPFeature thys);
AjBool        ajFeatTagSet(AjPFeature thys,
                           const AjPStr tag, const AjPStr value);
AjBool        ajFeatTagSetC(AjPFeature thys,
                            const char* tag, const AjPStr value);
void          ajFeatTagTrace(const AjPFeature thys);
AjBool        ajFeatTagval(AjIList iter, AjPStr* tagnam,
                           AjPStr* tagval);
void          ajFeatTest(void);
void          ajFeatTrace(const AjPFeature thys);
AjBool        ajFeatTrimOffRange(AjPFeature ft, ajuint ioffset,
                                 ajuint begin, ajuint end,
                                 AjBool dobegin, AjBool doend);
const AjPStr  ajFeatTypeGetCategory(const AjPStr type);
AjBool        ajFeatTypeIsCds(const AjPFeature gf);
AjBool        ajFeatTypeMatchC(const AjPFeature gf, const char* txt);
AjBool        ajFeatTypeMatchS(const AjPFeature gf, const AjPStr str);
AjBool        ajFeatTypeMatchWildS(const AjPFeature gf, const AjPStr str);
const AjPStr  ajFeatTypeNuc(const AjPStr type);
const AjPStr  ajFeatTypeProt(const AjPStr type);
AjBool        ajFeattagIsNote(const AjPStr tag);

void          ajFeatUnused(void);
void          ajFeatWarn(const char* fmt, ...);
const AjPStr  ajFeattypeGetExternal(const AjPStr type, const AjPTable table);
const AjPStr  ajFeattypeGetInternal(const AjPStr type);
const AjPStr  ajFeattypeGetInternalEmbl(const AjPStr type);
const AjPStr  ajFeattypeGetInternalNuc(const AjPStr type);
const AjPStr  ajFeattypeGetInternalPir(const AjPStr type);
const AjPStr  ajFeattypeGetInternalProt(const AjPStr type);
const AjPStr  ajFeattypeGetInternalRefseqp(const AjPStr type);
AjBool        ajFeattagSpecial(const AjPStr tag, AjPStr* pval);
AjBool        ajFeattagSpecialGff2(const AjPStr tag, AjPStr* pval);
AjBool        ajFeattagSpecialGff3(const AjPStr tag, AjPStr* pval);
void          ajFeattagFormat(const AjPStr name, const AjPTable table,
                              AjPStr* retstr);
const AjPStr  ajFeattagGetNameC(const char *tag, const AjPTable table,
                                AjBool* known);
const AjPStr  ajFeattagGetNameS(const AjPStr name, const AjPTable table,
                                AjBool* known);
void          ajFeattagGetLimit(const AjPStr name, const AjPTable table,
                                AjPStr* retstr);

/*
** End of prototype definitions
*/

/*
//#define       MAJFEATOBJVERIFY(p,c) ajFeatObjAssert((p), (c), \
//      __FILE__, __LINE__)
//#define       MAJFEATSETSCORE(p,s) (((AjPFeature)(p))->Score=(s))
//#define       MAJFEATSCORE(p)    ((p)->Score)
//#define       MAJFEATSOURCE(p)   ((p)->Source)
//#define       MAJFEATTYPE(p)     ((p)->Type)
//#define       MAJFEATTABSETVERSION(p,v) ((p)->Version=(v))
//#define       MAJFEATTABSETDATE(p,d)    ((p)->Date=(d))
//#define       MAJFEATTABDEFFORMAT(p,f)  ((p)->DefFormat=(f))
//#define       MAJFEATTABFORMAT(p)       ((p)->Format)
//#define       MAJFEATTABVERSION(p)      ((p)->Version)
//#define       MAJFEATTABDATE(p)         ((p)->Date)
//#define       MAJFEATTABDICTIONARY(p)   ((p)->Dictionary)
//#define       MAJFEATVOCABREADONLY(p,f) ((p)?(p)->ReadOnly=(f):AjTrue)
*/


#ifdef AJ_COMPILE_DEPRECATED_BOOK
#endif /* AJ_COMPILE_DEPRECATED_BOOK */

#ifdef AJ_COMPILE_DEPRECATED

__deprecated AjBool        ajFeatGetNoteI(const AjPFeature thys,
                                          const AjPStr name,
                                          ajint count, AjPStr* val);
__deprecated AjPFeature    ajFeatCopy(const AjPFeature orig);
__deprecated AjPFeattable  ajFeattableCopy(const AjPFeattable orig);
__deprecated AjPFeattable  ajFeattableCopyLimit(const AjPFeattable orig,
                                                ajint limit);
__deprecated AjPFeattable  ajFeatUfoRead(AjPFeattabIn tabin, const AjPStr Ufo);
__deprecated AjPFeattable  ajFeatRead(AjPFeattabIn ftin);
__deprecated ajint         ajFeattableBegin(const AjPFeattable thys);
__deprecated ajint         ajFeattableEnd(const AjPFeattable thys);
__deprecated ajint         ajFeattableLen(const AjPFeattable thys);
__deprecated ajint         ajFeattableSize(const AjPFeattable thys);
__deprecated void          ajFeatDefName(AjPFeattable thys,
                                         const AjPStr setname);
__deprecated AjBool        ajFeatGetNote(const AjPFeature thys,
                                         const AjPStr name, AjPStr* val);

__deprecated ajuint        ajFeatGfftagAdd(AjPFeature thys,
                                           const AjPStr tag,
                                           const AjPStr value);
__deprecated ajuint        ajFeatGfftagAddC(AjPFeature thys,
                                            const char* tag,
                                            const AjPStr value);

__deprecated AjBool        ajFeatTagAdd(AjPFeature thys,
                                        const AjPStr tag, const AjPStr value);
__deprecated AjBool        ajFeatTagAddC(AjPFeature thys,
                                         const char* tag, const AjPStr value);
__deprecated AjBool        ajFeatIsChild(const AjPFeature gf);

#endif /* AJ_COMPILE_DEPRECATED */




AJ_END_DECLS

#endif /* AJFEAT_H */