/usr/lib/emboss/include/ajreport.h is in emboss-lib 6.6.0+dfsg-6build1.
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 | /* @include ajreport **********************************************************
**
** AJAX REPORT (ajax feature reporting) functions
**
** These functions report AJAX sequence feature data in a variety
** of formats.
**
** @author Copyright (C) 2000 Peter Rice, LION Bioscience Ltd.
** @version $Revision: 1.40 $
** @modified Nov 10 First version
** @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 AJREPORT_H
#define AJREPORT_H
/* ========================================================================= */
/* ============================= include files ============================= */
/* ========================================================================= */
#include "ajdefine.h"
#include "ajmath.h"
#include "ajstr.h"
#include "ajfile.h"
#include "ajlist.h"
#include "ajfeatdata.h"
#include "ajseqdata.h"
AJ_BEGIN_DECLS
/* ========================================================================= */
/* =============================== constants =============================== */
/* ========================================================================= */
/* ========================================================================= */
/* ============================== public data ============================== */
/* ========================================================================= */
/* @data AjPReport ************************************************************
**
** Ajax Report Output object.
**
** Holds definition of feature report output.
**
** @alias AjSReport
** @alias AjOReport
**
** @other AjPSeqout Sequence output
** @other AjPFile Input and output files
**
** @attr Name [AjPStr] As "Source" for features, usually empty
** @attr Type [AjPStr] "P" Protein or "N" Nucleotide
** @attr Formatstr [AjPStr] Report format (-rformat)
** @attr Fttable [AjPFeattable] Feature table to use (obsolete?)
** @attr Ftquery [AjPFeattabOut] Output definition for features
** @attr Extension [AjPStr] Output file extension
** @attr File [AjPFile] Output file object
** @attr Tagnames [AjPList] List of extra tag names (from ACD)
** @attr Tagprints [AjPList] List of extra tag printnames (from ACD)
** @attr Tagtypes [AjPList] List of extra tag datatypes (from ACD)
** @attr Header [AjPStr] Text to add to header with newlines
** @attr SubHeader [AjPStr] Text to add to subheader with newlines
** @attr Tail [AjPStr] Text to add to tail with newlines
** @attr SubTail [AjPStr] Text to add to subtail with newlines
** @attr FileNames [AjPList] Names of extra files (see FileTypes)
** @attr FileTypes [AjPList] Types of extra files (see FileNames)
** @attr Totseqs [ajlong] Total number of sequences processed
** @attr Totlength [ajlong] Total length of sequences processed
** @attr Precision [ajint] Floating precision for score
** @attr Showacc [AjBool] Report accession number
** @attr Showdes [AjBool] Report sequence description
** @attr Showusa [AjBool] Report USA (-rusa) or only seqname
** @attr Showscore [AjBool] Report score (if optional for format)
** @attr Showstrand [AjBool] Report nucleotide strand (if optional for format)
** @attr Multi [AjBool] if true, assume >1 sequence
** @attr Mintags [ajint] Minimum number of tags to report
** @attr CountSeq [ajint] Number of sequences reported so far
** @attr CountHit [ajint] Number of features reported so far
** @attr TotHits [ajint] Number of features found so far
** @attr MaxHitAll [ajint] Maximum number of hits to report overall
** @attr MaxHitSeq [ajint] Maximum number of hits to report for each sequence
** @attr MaxLimit [AjBool] if true, maximum hits reached
** @attr Format [AjEnum] Report format (index number)
** @attr Padding [char[4]] Padding to alignment boundary
**
** @new ajReportNew Default constructor
** @delete ajReportDel Default destructor
** @output ajReportWrite Master sequence output routine
** @@
******************************************************************************/
typedef struct AjSReport {
AjPStr Name;
AjPStr Type;
AjPStr Formatstr;
AjPFeattable Fttable;
AjPFeattabOut Ftquery;
AjPStr Extension;
AjPFile File;
AjPList Tagnames;
AjPList Tagprints;
AjPList Tagtypes;
AjPStr Header;
AjPStr SubHeader;
AjPStr Tail;
AjPStr SubTail;
AjPList FileNames;
AjPList FileTypes;
ajlong Totseqs;
ajlong Totlength;
ajint Precision;
AjBool Showacc;
AjBool Showdes;
AjBool Showusa;
AjBool Showscore;
AjBool Showstrand;
AjBool Multi;
ajint Mintags;
ajint CountSeq;
ajint CountHit;
ajint TotHits;
ajint MaxHitAll;
ajint MaxHitSeq;
AjBool MaxLimit;
AjEnum Format;
char Padding[4];
} AjOReport;
#define AjPReport AjOReport*
/* ========================================================================= */
/* =========================== public functions ============================ */
/* ========================================================================= */
/*
** Prototype definitions
*/
void ajReportClose(AjPReport pthys);
void ajReportDel(AjPReport* pthys);
void ajReportDummyFunction(void);
void ajReportExit(void);
void ajReportAddFileF(AjPReport thys,
AjPFile file, const AjPStr type);
AjBool ajReportFindFormat(const AjPStr format, ajint* iformat);
AjBool ajReportFormatDefault(AjPStr* pformat);
AjPReport ajReportNew(void);
AjBool ajReportOpen(AjPReport thys, const AjPStr name);
void ajReportPrintFormat(AjPFile outf, AjBool full);
void ajReportPrintbookFormat(AjPFile outf);
void ajReportPrinthtmlFormat(AjPFile outf);
void ajReportPrintwikiFormat(AjPFile outf);
const AjPStr ajReportGetSeqnameSeq(const AjPReport thys, const AjPSeq seq);
void ajReportAppendHeaderS(AjPReport thys, const AjPStr header);
void ajReportAppendHeaderC(AjPReport thys, const char* header);
void ajReportSetHeaderS(AjPReport thys, const AjPStr header);
void ajReportSetHeaderC(AjPReport thys, const char* header);
void ajReportAppendSubheaderS(AjPReport thys, const AjPStr header);
void ajReportAppendSubheaderC(AjPReport thys, const char* header);
void ajReportSetSubheaderC(AjPReport thys, const char* header);
void ajReportSetSubheaderS(AjPReport thys, const AjPStr header);
void ajReportSetSeqstats(AjPReport thys, const AjPSeqall seqall);
void ajReportSetSeqsetstats(AjPReport thys, const AjPSeqset seqset);
void ajReportSetStatistics(AjPReport thys, ajlong totseqs,
ajlong totlength);
AjBool ajReportSetTagsS(AjPReport thys, const AjPStr taglist);
void ajReportAppendTailS(AjPReport thys, const AjPStr tail);
void ajReportAppendTailC(AjPReport thys, const char* tail);
void ajReportSetTailS(AjPReport thys, const AjPStr tail);
void ajReportSetTailC(AjPReport thys, const char* tail);
void ajReportAppendSubtailS(AjPReport thys, const AjPStr tail);
void ajReportAppendSubtailC(AjPReport thys, const char* tail);
void ajReportSetSubtailS(AjPReport thys, const AjPStr tail);
void ajReportSetSubtailC(AjPReport thys, const char* tail);
void ajReportSetType(AjPReport thys,
const AjPFeattable ftable, const AjPSeq seq);
AjBool ajReportValid(AjPReport thys);
AjBool ajReportWrite(AjPReport thys,
const AjPFeattable ftable, const AjPSeq seq);
void ajReportWriteHeader(AjPReport thys,
const AjPFeattable ftable, const AjPSeq seq);
void ajReportWriteTail(AjPReport thys,
const AjPFeattable ftable, const AjPSeq seq);
/*
** End of prototype definitions
*/
#ifdef AJ_COMPILE_DEPRECATED_BOOK
#endif /* AJ_COMPILE_DEPRECATED_BOOK */
#ifdef AJ_COMPILE_DEPRECATED
__deprecated void ajReportFileAdd(AjPReport thys,
AjPFile file, const AjPStr type);
__deprecated void ajReportAppendSubHeader(AjPReport thys,
const AjPStr header);
__deprecated void ajReportAppendSubHeaderC(AjPReport thys,
const char* header);
__deprecated void ajReportSetSubHeader(AjPReport thys,
const AjPStr header);
__deprecated AjBool ajReportSetTags(AjPReport thys,
const AjPStr taglist);
__deprecated void ajReportAppendTail(AjPReport thys, const AjPStr tail);
__deprecated void ajReportSetTail(AjPReport thys, const AjPStr tail);
__deprecated void ajReportAppendHeader(AjPReport thys,
const AjPStr header);
__deprecated void ajReportSetHeader(AjPReport thys, const AjPStr header);
__deprecated void ajReportAppendSubTail(AjPReport thys, const AjPStr tail);
__deprecated void ajReportAppendSubTailC(AjPReport thys, const char* tail);
__deprecated void ajReportSetSubTail(AjPReport thys, const AjPStr tail);
__deprecated void ajReportSetSubTailC(AjPReport thys, const char* tail);
__deprecated const AjPStr ajReportSeqName(const AjPReport thys,
const AjPSeq seq);
__deprecated ajint ajReportLists(const AjPReport thys,
AjPStr** types, AjPStr** names,
AjPStr** prints, ajuint** tagsizes);
#endif /* AJ_COMPILE_DEPRECATED */
AJ_END_DECLS
#endif /* !AJREPORT_H */
|