This file is indexed.

/usr/lib/emboss/include/ajtranslate.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
/* @include ajtranslate *******************************************************
**
** AJAX translate functions
**
** These functions control all aspects of sequence translation
**
** These functions do not translate to the 'ambiguity' residues
** 'B' (Asn or Asp) and 'Z' (Glu or Gln). So the codons:
** RAC, RAT, RAY, RAU which could code for 'B' return 'X'
** and SAA, SAG, SAR which could code for 'Z' return 'X'.
**
** This translation table doesn't have the doubly ambiguous
** codons set up:
** YTR - L
** MGR - R
** YUR - L
**
** This should be attended to at some time.
**
** @author Copyright (C) 1999 Gary Williams
** @version $Revision: 1.24 $
** @modified Feb 15 1999 GWW First version
** @modified April 19 1999 GWW Second version using NCBI's GC tables
** @modified April 18 2000 GWW Reorganised many of the routines
** @modified 2001-2011 Peter Rice
** @modified $Date: 2013/02/07 10:32:50 $ 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 AJTRANSLATE_H
#define AJTRANSLATE_H

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

#include "ajdefine.h"
#include "ajstr.h"
#include "ajfile.h"
#include "ajseq.h"

AJ_BEGIN_DECLS




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




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




/* @data AjPTrn ***************************************************************
**
** Ajax Sequence translation object.
**
** Holds the Genetic Code specification and information needed to translate
** the sequence and find initiation sites.
**
** @new ajTrnNew Default constructor
** @new ajTrnNewI Default constructor
** @new ajTrnNewC Default constructor
** @delete ajTrnDel Default destructor
** @input ajTrnReadFile Reads a Genetic Code file
** @use ajTrnCodon Translating a codon from an AjPStr
** @use ajTrnRevCodon Reverse complement translating a codon from an AjPStr
** @use ajTrnCodonC Translating a codon from a char* text
** @use ajTrnRevCodonC Translating a codon from a char* text
** @use ajTrnCodonK Translating a codon from a char* to a char
** @use ajTrnRevCodonK Reverse complement translating a codon
**                     from a char* to a char
** @use ajTrnC Translating a sequence from a char* text
** @use ajTrnRevC Reverse complement translating a sequence from a char* text
** @use ajTrnAltRevC (Alt) Reverse complement translating a sequence
**                         from a char* text
** @use ajTrnStr Translating a sequence from a AjPStr
** @use ajTrnRevStr Reverse complement translating a sequence from a AjPStr
** @use ajTrnAltRevStr (Alt) Reverse complement translating a sequence
**                           from a AjPStr
** @use ajTrnSeq Translating a sequence from a AjPSeq
** @use ajTrnRevSeq Reverse complement translating a sequence from a AjPSeq
** @use ajTrnAltRevSeq Reverse complement translating a sequence from a AjPSeq
** @use ajTrnCFrame Translating a sequence from a char* in a frame
** @use ajTrnStrFrame Translating a sequence from a AjPStr in a frame
** @use ajTrnSeqFrame Translating a sequence from a AjPSeq in a frame
** @use ajTrnSeqFramePep Translating a sequence from a AjPSeq in a frame
**                       and returns a new peptide
** @use ajTrnDangleC Translates the last 1 or two bases of a sequence
**                   in a char* text
** @use ajTrnDangleS Translates the last 1 or two bases of a sequence
**                     in a AjStr
** @use ajTrnSeqOrig Translating a sequence
** @cast ajTrnGetTitle Returns description of the translation table
** @cast ajTrnGetFilename Returns file name the translation table was read from
** @use ajTrnCodonstrTypeS Checks whether the input codon is a Start codon,
**                     a Stop codon or something else
** @use ajTrnCodonstrTypeC Checks whether a const char* codon is
**                      a Start codon, a Stop codon or something else
**
** @attr FileName [AjPStr] name of file that held the data
** @attr Title [AjPStr] title of data read from file
** @attr GC [char[16][16][16]] genetic codon table
** @attr Starts [char[16][16][16]] initiation site table
**
** @alias AjSTrn
** @alias AjOTrn
** @@
******************************************************************************/

typedef struct AjSTrn
{
    AjPStr FileName;
    AjPStr Title;
    char GC[16][16][16];
    char Starts[16][16][16];
} AjOTrn;

#define AjPTrn AjOTrn*




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




/*
** Prototype definitions
*/

void          ajTrnDel(AjPTrn* pthis);
void          ajTrnExit(void);
AjPTrn        ajTrnNew(const AjPStr trnFileName);
AjPTrn        ajTrnNewI(ajint trnFileNameInt);
AjPTrn        ajTrnNewC(const char *trnFileName);
void          ajTrnReadFile(AjPTrn trnObj, AjPFile trnFile);
AjPSeq        ajTrnNewPep(const AjPSeq nucleicSeq, ajint frame);
char          ajTrnCodonS(const AjPTrn trnObj, const AjPStr codon);
char          ajTrnCodonRevS(const AjPTrn trnObj, const AjPStr codon);
char          ajTrnCodonC(const AjPTrn trnObj, const char *codon);
char          ajTrnCodonRevC(const AjPTrn trnObj, const char *codon);
char          ajTrnCodonK(const AjPTrn trnObj, const char *codon);
char          ajTrnRevCodonK(const AjPTrn trnObj, const char *codon);
void          ajTrnRevStr(const AjPTrn trnObj, const AjPStr str,
                          AjPStr *pep);
void          ajTrnSeqC(const AjPTrn trnObj, const char *str, ajint len,
                        AjPStr *pep);
void          ajTrnSeqInitC(const AjPTrn trnObj, const char *str, ajint len,
                            AjPStr *pep);
void          ajTrnSeqRevC(const AjPTrn trnObj, const char *str, ajint len,
                           AjPStr *pep);
void          ajTrnSeqRevinitC(const AjPTrn trnObj, const char *str, ajint len,
                               AjPStr *pep);
void          ajTrnSeqAltRevC(const AjPTrn trnObj, const char *str, ajint len,
                              AjPStr *pep);
void          ajTrnSeqAltRevinitC(const AjPTrn trnObj, const char *str,
                                  ajint len, AjPStr *pep);
void          ajTrnSeqS(const AjPTrn trnObj, const AjPStr str,
                        AjPStr *pep);
void          ajTrnSeqAltRevS(const AjPTrn trnObj, const AjPStr str,
                              AjPStr *pep);
void          ajTrnSeqSeq(const AjPTrn trnObj, const AjPSeq seq,
                          AjPStr *pep);
void          ajTrnSeqRevSeq(const AjPTrn trnObj, const AjPSeq seq,
                             AjPStr *pep);
void          ajTrnSeqAltRevSeq(const AjPTrn trnObj, const AjPSeq seq,
                                AjPStr *pep);
void          ajTrnSeqFrameC(const AjPTrn trnObj, const char *seq, ajint len,
                             ajint frame, AjPStr *pep);
void          ajTrnSeqFrameInitC(const AjPTrn trnObj, const char *seq,
                                 ajint len, ajint frame, AjPStr *pep);
const AjPStr  ajTrnName(ajint trnFileNameInt);
void          ajTrnSeqFrameS(const AjPTrn trnObj, const AjPStr seq,
                             ajint frame, AjPStr *pep);
void          ajTrnSeqFrameInitS(const AjPTrn trnObj, const AjPStr seq,
                                 ajint frame, AjPStr *pep);
void          ajTrnSeqFrameSeq(const AjPTrn trnObj, const AjPSeq seq,
                               ajint frame, AjPStr *pep);
void          ajTrnSeqFrameSeqInit(const AjPTrn trnObj, const AjPSeq seq,
                                   ajint frame, AjPStr *pep);
ajint         ajTrnSeqDangleC(const AjPTrn trnObj, const char *seq,
                              ajint frame, AjPStr *pep);
ajint         ajTrnSeqDangleS(const AjPTrn trnObj, const AjPStr seq,
                              ajint frame, AjPStr *pep);
AjPSeq        ajTrnSeqFramePep(const AjPTrn trnObj, const AjPSeq seq,
                               ajint frame);
AjPStr        ajTrnGetTitle(const AjPTrn thys);
AjPStr        ajTrnGetFilename(const AjPTrn thys);
ajint         ajTrnCodonstrTypeC(const AjPTrn trnObj,
                                 const char *codon, char *aa);
ajint         ajTrnCodonstrTypeS(const AjPTrn trnObj,
                                 const AjPStr codon, char *aa);
AjPSeq        ajTrnSeqInit(const AjPTrn trnObj, const AjPSeq seq,
                           ajint frame);
AjPSeq        ajTrnSeqOrig(const AjPTrn trnObj, const AjPSeq seq,
                           ajint frame);

/*
** End of prototype definitions
*/





#ifdef AJ_COMPILE_DEPRECATED_BOOK
#endif /* AJ_COMPILE_DEPRECATED_BOOK */

#ifdef AJ_COMPILE_DEPRECATED

__deprecated ajint         ajTrnStartStop(const AjPTrn trnObj,
                                          const AjPStr codon, char *aa);
__deprecated ajint         ajTrnStartStopC(const AjPTrn trnObj,
                                           const char *codon, char *aa);
__deprecated AjPStr        ajTrnGetFileName(const AjPTrn thys);
__deprecated const  AjPStr ajTrnCodon(const AjPTrn trnObj, const AjPStr codon);
__deprecated const  AjPStr ajTrnRevCodon(const AjPTrn trnObj,
                                         const AjPStr codon);
__deprecated void    ajTrnC(const AjPTrn trnObj, const char *str, ajint len,
                            AjPStr *pep);
__deprecated void    ajTrnRevC(const AjPTrn trnObj, const char *str,
                               ajint len, AjPStr *pep);
__deprecated void    ajTrnAltRevC(const AjPTrn trnObj, const char *str,
                                  ajint len, AjPStr *pep);
__deprecated void    ajTrnStr(const AjPTrn trnObj, const AjPStr str,
                              AjPStr *pep);
__deprecated void    ajTrnAltRevStr(const AjPTrn trnObj, const AjPStr str,
                                    AjPStr *pep);
__deprecated void    ajTrnSeq(const AjPTrn trnObj, const AjPSeq seq,
                              AjPStr *pep);
__deprecated void    ajTrnRevSeq(const AjPTrn trnObj, const AjPSeq seq,
                                 AjPStr *pep);
__deprecated void    ajTrnAltRevSeq(const AjPTrn trnObj, const AjPSeq seq,
                                    AjPStr *pep);
__deprecated void    ajTrnCFrame(const AjPTrn trnObj, const char *seq,
                                 ajint len, ajint frame, AjPStr *pep);
__deprecated void    ajTrnStrFrame(const AjPTrn trnObj, const AjPStr seq,
                                   ajint frame, AjPStr *pep);
__deprecated void    ajTrnSeqFrame(const AjPTrn trnObj, const AjPSeq seq,
                                   ajint frame, AjPStr *pep);
__deprecated ajint   ajTrnCDangle(const AjPTrn trnObj, const char *seq,
                                  ajint len, ajint frame, AjPStr *pep);
__deprecated ajint   ajTrnStrDangle(const AjPTrn trnObj, const AjPStr seq,
                                    ajint frame, AjPStr *pep);

#endif /* AJ_COMPILE_DEPRECATED */




AJ_END_DECLS

#endif /* !AJTRANSLATE_H */