This file is indexed.

/usr/lib/emboss/include/ajalign.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
/* @include ajalign ***********************************************************
**
** AJAX ALIGN (ajax alignment output) functions
**
** These functions align AJAX sequences and report them in a variety
** of formats.
**
** @author Copyright (C) 2001 Peter Rice, LION Bioscience Ltd.
** @version $Revision: 1.40 $
** @modified $Date: 2011/10/18 14:23:40 $ 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 AJALIGN_H
#define AJALIGN_H

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

#include "ajdefine.h"
#include "ajfile.h"
#include "ajlist.h"
#include "ajmatrices.h"
#include "ajseqdata.h"

AJ_BEGIN_DECLS




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




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




/* @data AjPAlign *************************************************************
**
** Ajax Align Output object.
**
** Holds definition of feature align output.
**
** @alias AjSAlign
** @alias AjOAlign
**
** @new ajAlignNew Default constructor
** @delete ajAlignDel Default destructor
** @modify ajAlignReset Resets ready for reuse.
** @output ajAlignWrite Master alignment output routine
** @output ajAlignWriteHeader Master header output routine
** @output ajAlignWriteTail Master footer output routine
** @cast ajAlignGetFormat Returns the format of an alignment
**
** @other AjPSeqout Sequence output
** @other AjPFeatout Feature output
** @other AjPReport Report output
** @other AjPFile Input and output files
**
** @attr Type [AjPStr] "P" Protein or "N" Nucleotide
** @attr Formatstr [AjPStr] Report format (-aformat qualifier)
** @attr File [AjPFile] Output file object
** @attr Header [AjPStr] Text to add to header with newlines
** @attr SubHeader [AjPStr] Text to add to align subheader with newlines
** @attr Tail [AjPStr] Text to add to tail with newlines
** @attr SubTail [AjPStr] Text to add to subtail with newlines
** @attr Showacc [AjBool] Report accession number if ajTrue
** @attr Showdes [AjBool] Report sequence description if ajTrue
** @attr Showusa [AjBool] Report full USA (-ausa qualifier) if ajTrue
**                        or only seqname if ajFalse
** @attr Multi [AjBool] if true, assume >1 alignment
** @attr Global [AjBool] if true, show full sequence beyond match
** @attr Format [AjEnum] Report format (index number)
** @attr Data [AjPList] Alignment specific data - see ajalign.c
** @attr Nseqs [ajint] Number of sequences in all alignments
** @attr Nmin [ajint] Minimum number of sequences e.g. 2
** @attr Nmax [ajint] Maximum number of sequences e.g. 2
** @attr Width [ajint] Output width (minimum 10)
** @attr IMatrix [AjPMatrix] Integer matrix (see also FMatrix)
** @attr FMatrix [AjPMatrixf] Floating point matrix (see also IMatrix)
** @attr Matrix [AjPStr] Matrix name
** @attr GapPen [AjPStr] Gap penalty (converted to string)
** @attr ExtPen [AjPStr] Gap extend penalty (converted to string)
** @attr SeqOnly [AjBool] Sequence output only, no head or tail
** @attr SeqExternal [AjBool] Sequence is non-local, do not delete
** @attr Count [ajint] Use count
** @attr RefSeq [ajint] Index of the reference sequences in AlignOData objects
**                      of the Data list
** @@
******************************************************************************/

typedef struct AjSAlign
{
    AjPStr Type;
    AjPStr Formatstr;
    AjPFile File;
    AjPStr Header;
    AjPStr SubHeader;
    AjPStr Tail;
    AjPStr SubTail;
    AjBool Showacc;
    AjBool Showdes;
    AjBool Showusa;
    AjBool Multi;
    AjBool Global;
    AjEnum Format;
    AjPList Data;
    ajint Nseqs;
    ajint Nmin;
    ajint Nmax;
    ajint Width;
    AjPMatrix  IMatrix;
    AjPMatrixf FMatrix;
    AjPStr Matrix;
    AjPStr GapPen;
    AjPStr ExtPen;
    AjBool SeqOnly;
    AjBool SeqExternal;
    ajint Count;
    ajint RefSeq;
} AjOAlign;

#define AjPAlign AjOAlign*




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

/*
** Prototype definitions
*/

void         ajAlignClose(AjPAlign thys);
AjBool       ajAlignConsAmbig(const AjPSeqset thys, AjPStr *cons);
AjBool       ajAlignConsAmbigNuc(const AjPSeqset thys, AjPStr *cons);
AjBool       ajAlignConsAmbigProt(const AjPSeqset thys, AjPStr *cons);
AjBool       ajAlignConsStats(const AjPSeqset thys, AjPMatrix mymatrix,
                              AjPStr *cons, ajint* retident,
                              ajint* retsim, ajint* retgap,
                              ajint* retlen);
AjBool       ajAlignDefine(AjPAlign pthys, AjPSeqset seqset);
AjBool       ajAlignDefineSS(AjPAlign pthys,
                             const AjPSeq seqa, const AjPSeq seqb);
AjBool       ajAlignDefineCC(AjPAlign pthys,
                             const char* seqa, const char* seqb,
                             const char* namea,const  char* nameb);
void         ajAlignDel(AjPAlign* pthys);
void         ajAlignExit(void);
AjBool       ajAlignFindFormat(const AjPStr format, ajint* iformat);
AjBool       ajAlignFormatDefault(AjPStr* pformat);
AjBool       ajAlignFormatShowsSequences(const AjPAlign thys);
ajint        ajAlignGetLen(const AjPAlign thys);
const char*  ajAlignGetFilename(const AjPAlign thys);
const AjPStr ajAlignGetFormat(const AjPAlign thys);
AjPAlign     ajAlignNew(void);
AjBool       ajAlignOpen(AjPAlign thys, const AjPStr name);
void         ajAlignPrintFormat(AjPFile outf, AjBool full);
void         ajAlignPrintbookFormat(AjPFile outf);
void         ajAlignPrinthtmlFormat(AjPFile outf);
void         ajAlignPrintwikiFormat(AjPFile outf);
void         ajAlignReset(AjPAlign thys);
void         ajAlignSetExternal(AjPAlign thys, AjBool external);
void         ajAlignSetHeader(AjPAlign thys, const AjPStr header);
void         ajAlignSetHeaderApp(AjPAlign thys, const AjPStr header);
void         ajAlignSetHeaderC(AjPAlign thys, const char* header);
void         ajAlignSetGapI(AjPAlign thys, ajint gappen, ajint extpen);
void         ajAlignSetGapR(AjPAlign thys, float gappen, float extpen);
void         ajAlignSetMatrixName(AjPAlign thys, const AjPStr matrix);
void         ajAlignSetMatrixNameC(AjPAlign thys, const char* matrix);
void         ajAlignSetMatrixInt(AjPAlign thys, AjPMatrix matrix);
void         ajAlignSetMatrixFloat(AjPAlign thys, AjPMatrixf matrix);
AjBool       ajAlignSetRange(AjPAlign thys,
                             ajint start1, ajint end1,
                             ajint len1, ajint off1,
                             ajint start2, ajint end2,
                             ajint len2, ajint off2);
void         ajAlignSetRefSeqIndx(AjPAlign thys, ajint refseq);
void         ajAlignSetScoreI(AjPAlign thys, ajint score);
void         ajAlignSetScoreL(AjPAlign thys, ajlong score);
void         ajAlignSetScoreR(AjPAlign thys, float score);
void         ajAlignSetStats(AjPAlign thys, ajint iali, ajint len,
                             ajint ident, ajint sim, ajint gaps,
                             const AjPStr score);
AjBool       ajAlignSetSubRange(AjPAlign thys,
                                ajint substart1, ajint start1,
                                ajint end1, AjBool rev1, ajint len1,
                                ajint substart2, ajint start2,
                                ajint end2, AjBool rev2, ajint len2);
void         ajAlignSetSubHeader(AjPAlign thys, const AjPStr subheader);
void         ajAlignSetSubHeaderApp(AjPAlign thys, const AjPStr subheader);
void         ajAlignSetSubHeaderC(AjPAlign thys, const char* subheader);
void         ajAlignSetSubHeaderPre(AjPAlign thys, const AjPStr subheader);
void         ajAlignSetSubStandard(AjPAlign thys, ajint iali);
void         ajAlignSetSubTail(AjPAlign thys, const AjPStr tail);
void         ajAlignSetSubTailC(AjPAlign thys, const char* tail);
void         ajAlignSetSubTailApp(AjPAlign thys, const AjPStr tail);
void         ajAlignSetTail(AjPAlign thys, const AjPStr tail);
void         ajAlignSetTailApp(AjPAlign thys, const AjPStr tail);
void         ajAlignSetTailC(AjPAlign thys, const char* tail);
void         ajAlignSetType(AjPAlign thys);
void         ajAlignTrace(const AjPAlign thys);
void         ajAlignTraceT(const AjPAlign thys, const char* title);
AjBool       ajAlignValid(AjPAlign thys);
void         ajAlignWrite(AjPAlign thys);
void         ajAlignWriteHeader(AjPAlign thys);
void         ajAlignWriteTail(AjPAlign thys);

/*
** End of prototype definitions
*/




AJ_END_DECLS

#endif /* !AJALIGN_H */