This file is indexed.

/usr/lib/emboss/include/embdmx.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
/* @include embdmx ************************************************************
**
** Algorithms for some of the DOMAINATRIX EMBASSY applications. 
** For use with the Scophit and Scopalign objects.  
** The functionality will eventually be subsumed by other AJAX and NUCLEUS 
** libraries. 
** 
** @author Copyright (C) 2004 Ranjeeva Ranasinghe (rranasin@hgmp.mrc.ac.uk)
** @author Copyright (C) 2004 Jon Ison (jison@hgmp.mrc.ac.uk) 
** @version $Revision: 1.20 $ 
** @modified $Date: 2011/10/18 14:24:24 $ 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 EMBDMX_H
#define EMBDMX_H




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

#include "ajdefine.h"
#include "ajlist.h"
#include "ajfile.h"
#include "ajseqdata.h"
#include "ajdmx.h"
#include "ajarr.h"
#include "ajmatrices.h"
#include "embsig.h"

AJ_BEGIN_DECLS




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




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




/* @data EmbPDmxNrseq *********************************************************
**
** NUCLEUS data structure for non-redundant sequence testing
**

** @attr Seq [AjPSeq] Sequence to be tested for redundancy
** @attr Garbage [AjBool] True if sequence is to be ignored
** @attr Padding [char[4]] Padding to alignment boundary
** @@
******************************************************************************/

typedef struct EmbSDmxNrseq {
  AjPSeq Seq;
  AjBool Garbage;
  char Padding[4];
} EmbODmxNrseq;
#define EmbPDmxNrseq EmbODmxNrseq*





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



/*
** Prototype definitions
*/

void          embDmxNrseqDel(EmbPDmxNrseq* Pnrseq);

EmbPDmxNrseq  embDmxNrseqNew(const AjPSeq seq);

AjPList       embDmxScophitReadAllFasta(AjPFile in);

AjBool        embDmxHitlistToScophits(const AjPList in, 
				      AjPList out);

AjBool        embDmxScophitsToHitlist(const AjPList in, 
				      EmbPHitlist *out, 
				      AjIList *iter);

AjBool        embDmxScophitToHit(EmbPHit *to, 
				 const AjPScophit from);

AjBool        embDmxScophitsAccToHitlist(const AjPList in, 
					 EmbPHitlist *out,   
					 AjIList *iter);

AjBool        embDmxHitsWrite(AjPFile outf,
			      EmbPHitlist hits, 
			      ajint maxhits);

AjBool        embDmxScopToScophit(const AjPScop source, 
				  AjPScophit* target);

AjBool        embDmxScopalgToScop(const AjPScopalg align,
				  AjPScop const *scop_arr, 
				  ajint scop_dim, 
				  AjPList* list);

AjBool        embDmxScophitsOverlap(const AjPScophit h1,
				    const AjPScophit h2, 
				    ajuint n);

AjBool        embDmxScophitsOverlapAcc(const AjPScophit h1,
				       const AjPScophit h2, 
				       ajuint n);

AjPScophit    embDmxScophitMerge(const AjPScophit hit1, 
				 const AjPScophit hit2);

AjBool        embDmxScophitMergeInsertThis(const AjPList list,
					   AjPScophit hit1, 
					   AjPScophit hit2,
					   AjIList iter);

AjBool        embDmxScophitMergeInsertThisTarget(const AjPList list, 
						 AjPScophit hit1, 
						 AjPScophit hit2,  
						 AjIList iter);

AjBool        embDmxScophitMergeInsertThisTargetBoth(const AjPList list, 
						     AjPScophit hit1, 
						     AjPScophit hit2,  
						     AjIList iter);

AjBool        embDmxScophitMergeInsertOther(AjPList list,
					    AjPScophit hit1, 
					    AjPScophit hit2);

AjBool        embDmxScophitMergeInsertOtherTargetBoth(AjPList list, 
						      AjPScophit hit1, 
						      AjPScophit hit2);

AjBool        embDmxScophitMergeInsertOtherTarget(AjPList list, 
						  AjPScophit hit1, 
						  AjPScophit hit2);

AjBool        embDmxSeqNR(const AjPList input, 
			  AjPUint *keep, 
			  ajint *nset,
			  const AjPMatrixf matrix,
			  float gapopen, 
			  float gapextend,
			  float thresh, 
			  AjBool CheckGarbage);

AjBool        embDmxSeqNRRange(const AjPList input, 
			       AjPUint *keep, 
			       ajint *nset,
			       const AjPMatrixf matrix, 
			       float gapopen, 
			       float gapextend,
			       float thresh1, 
			       float thresh2, 
			       AjBool CheckGarbage);

AjBool        embDmxSeqCompall(const AjPList input, 
			       AjPFloat2d *scores, 
			       const AjPMatrixf matrix, 
			       float gapopen, 
			       float gapextend);

/*
** End of prototype definitions
*/

AJ_END_DECLS

#endif  /* !EMBDMX_H */