/usr/lib/emboss/include/ajobo.h is in emboss-lib 6.3.1-6ubuntu3.
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 | #ifdef __cplusplus
extern "C"
{
#endif
#ifndef ajobo_h
#define ajobo_h
#include "ajax.h"
/* @data AjPObo ***************************************************************
**
** OBO parsed data
**
** @attr Termtable [AjPTable] Table of terms by id
** @attr Termnametable [AjPTable] Table of terms by name
** @attr Typedeftable [AjPTable] Table of typedefs
** @attr Instancetable [AjPTable] Table of instances
** @attr Annotable [AjPTable] Table of annotation stanzas
** @attr Formulatable [AjPTable] Table of formula stanzas
** @attr Misctable [AjPTable] Table of other stanzas
** @@
******************************************************************************/
typedef struct AjSObo
{
AjPTable Termtable;
AjPTable Termnametable;
AjPTable Typedeftable;
AjPTable Instancetable;
AjPTable Annotable;
AjPTable Formulatable;
AjPTable Misctable;
} AjOObo;
#define AjPObo AjOObo*
/* @data AjPOboTag ************************************************************
**
** OBO tag name, value and comment.
**
** @attr Name [AjPStr] Tag name
** @attr Value [AjPStr] Tag value
** @attr Modifier [AjPStr] Tag modifier
** @attr Comment [AjPStr] Tag comment
** @attr Linenumber [ajuint] OBO file line number
** @attr Padding [ajuint] Padding to align structure
** @@
******************************************************************************/
typedef struct AjSOboTag
{
AjPStr Name;
AjPStr Value;
AjPStr Modifier;
AjPStr Comment;
ajuint Linenumber;
ajuint Padding;
} AjOOboTag;
#define AjPOboTag AjOOboTag*
/* @data AjPOboTerm ***********************************************************
**
** Term object
** Holds name and identifier of a single OBO term
**
** @alias AjSOboTerm
** @alias AjOOboTerm
**
** @attr Id [AjPStr] Id of term
** @attr Trueid [AjPStr] True id of an alt_id
** @attr Name [AjPStr] Name of term
** @attr Namespace [AjPStr] Namespace of term
** @attr Def [AjPStr] Definition of term
** @attr Comment [AjPStr] Comment tag in term stanza
** @attr Taglist [AjPList] List of other AjPObotag tag name-value pairs
** @attr Obsolete [AjBool] True if term is obsolete
** @attr Builtin [AjBool] True if term is an OBO Built-in term
******************************************************************************/
typedef struct AjSOboTerm
{
AjPStr Id;
AjPStr Trueid;
AjPStr Name;
AjPStr Namespace;
AjPStr Def;
AjPStr Comment;
AjPList Taglist;
AjBool Obsolete;
AjBool Builtin;
} AjOOboTerm;
#define AjPOboTerm AjOOboTerm*
/* @data AjPOboAlias *********************************************************
**
** Alias name for an OBO identifier
**
** @alias AjSOboAlias
** @alias AjOOboAlias
**
** @attr Alias [AjPStr] Alias name of term
** @attr Id [AjPStr] Id of term
******************************************************************************/
typedef struct AjSOboAlias
{
AjPStr Alias;
AjPStr Id;
} AjOOboAlias;
#define AjPOboAlias AjOOboAlias*
/*
** Prototype definitions
*/
AjPObo ajOboNew(void);
AjPOboTerm ajOboTermNew(void);
void ajOboTermDel(AjPOboTerm *Pterm);
AjPObo ajOboParseObo (AjPFile infile, const char* validations);
AjPOboTag ajOboTagNew(const AjPStr name, const AjPStr value,
const AjPStr modifier, const AjPStr comment,
ajuint linenum);
void ajOboTagDel(AjPOboTag* Ptag);
AjPOboTerm ajOboFetchTerm(const AjPObo thys, const AjPStr query);
AjPOboTerm ajOboFetchName(const AjPObo thys, const AjPStr query);
/*
** End of prototype definitions
*/
#endif
#ifdef __cplusplus
}
#endif
|