/usr/include/ncbi/suggest.h is in libncbi6-dev 6.1.20110713-3ubuntu2.
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 | /* suggest.c
* ===========================================================================
*
* PUBLIC DOMAIN NOTICE
* National Center for Biotechnology Information (NCBI)
*
* This software/database is a "United States Government Work" under the
* terms of the United States Copyright Act. It was written as part of
* the author's official duties as a United States Government employee and
* thus cannot be copyrighted. This software/database is freely available
* to the public for use. The National Library of Medicine and the U.S.
* Government do not place any restriction on its use or reproduction.
* We would, however, appreciate having the NCBI and the author cited in
* any work or product based on this material
*
* Although all reasonable efforts have been taken to ensure the accuracy
* and reliability of the software and data, the NLM and the U.S.
* Government do not and cannot warrant the performance or results that
* may be obtained by using this software or data. The NLM and the U.S.
* Government disclaim all warranties, express or implied, including
* warranties of performance, merchantability or fitness for any particular
* purpose.
*
* ===========================================================================
*
* File Name: suggest.c
*
* Author: Webb Miller, Karl Sirotkin, Warren Gish, Jonathan Kans, Yuri Sadykov
*
* Version Creation Date: 3/17/94
*
* $Revision: 6.3 $
*
* File Description:
*
* Modifications:
* --------------------------------------------------------------------------
* Date Name Description of modification
* ------- ---------- -----------------------------------------------------
*
*
* ==========================================================================
*/
#ifndef _SUGGEST_
#define _SUGGEST_
#include <ncbi.h>
#include <objall.h>
#include <sequtil.h>
/**************************************************
*
* SuggestIntervals
*
**************************************************/
typedef struct struct_Suggest_intervals {
Uint4 OBbits__;
struct struct_Suggest_parameters PNTR params;
ValNodePtr dna;
ValNodePtr protein;
Int4 code;
} SuggestIntervals, PNTR SuggestIntervalsPtr;
/**************************************************
*
* SuggestParameters
*
**************************************************/
typedef struct struct_Suggest_parameters {
Uint4 OBbits__;
#define OB__Suggest_parameters_size 0
Int4 size;
#define OB__Suggest_parameters_begin_search 1
Int4 begin_search;
#define OB__Suggest_parameters_end_search 2
Int4 end_search;
#define OB__Suggest_parameters_term_stop 3
Uint1 term_stop;
} SuggestParameters, PNTR SuggestParametersPtr;
/**************************************************
*
* SuggestError
*
**************************************************/
typedef struct struct_Suggest_error {
Uint4 OBbits__;
Uint2 level;
/* following #defines are for enumerated type, not used by object loaders */
#define Suggest_error_level_none 0
#define Suggest_error_level_info 1
#define Suggest_error_level_warn 2
#define Suggest_error_level_error 3
#define Suggest_error_level_fatal 4
CharPtr msg;
} SuggestError, PNTR SuggestErrorPtr;
/*****************************************************************************
* Defines
*/
#define AINT_NONE -1
#define DBINT Int4
#define DBSMALLINT Int2
#define DBTINYINT Int1
#define MAX_AMINO 9000 /* maximum length of protein sequence */
#define MAX_DNA 1000000
#define MAX_LINE 200 /* maximum length of input line */
#define MAX_EXONS 5000 /* maximum number of exons */
#define WORD_SIZE 3 /* length of critical word (DO NOT CHANGE!) */
#define SuggestPlusStrand 1
#define SuggestMinusStrand 2
/*****************************************************************************
* Typedefs
*/
typedef struct match {
/* dna_pos must be *3 to get nucleic acid location */
Int4 orient, fr_shift, p_pos, dna_pos, length;
/* SPLIT_CODON_FOR_UNASSIGNED the following two fields track
the number of bases in the split codons
at exon-exon boundaries */
char left_add_bases, right_add_bases;
} Match;
/*****************************************************************************
*
* IdRec
* Structure to hold sequence identifier strings
*
*****************************************************************************/
typedef struct idrec {
union {
CharPtr accn;
SeqIdPtr pSeqId;
} id;
Int4 uid;
struct idrec PNTR next;
} IdRec, PNTR IdRecPtr;
typedef struct myintervalrec {
Int4 from;
Int4 to;
Int4 orient;
Int4 id;
struct myintervalrec * next;
} IntRec, *IntPtr;
/*****************************************************************************
*
* SeqRec
* Structure to hold sequence and segment information
*
*****************************************************************************/
typedef struct seqrec {
ByteStorePtr rawSeq;
ByteStorePtr segLens;
IdRecPtr ids;
CharPtr sequence;
CharPtr reverse;
Int4 length;
Boolean nuc;
Boolean lookForStop;
} SeqRec, PNTR SeqRecPtr;
/*****************************************************************************
*
* SuggestRec
* Structure to hold suggest interval parameters
*
*****************************************************************************/
typedef struct suggestrec {
SeqRec nucleotide;
SeqRec protein;
CharPtr geneticCode;
Int4 minVal;
Int4 maxVal;
Int4 tooShort;
Int4 minExon;
Boolean lookForStop;
} SuggestRec, PNTR SuggestRecPtr;
/*---------------------------------------------------------------------------
* This structure is needed because suggest-client and suggest-server share
* common part of code, but the client and the server have different "output".
*/
typedef struct suggestoutput {
union {
FILE *fileOut;
SeqAnnotPtr pSeqAnnot;
} out;
Boolean bServer;
} SuggestOutput, PNTR SuggestOutputPtr;
/*****************************************************************************
* Globals
*/
extern Match * m_stk;
extern Int4 m_top;
extern Int4 vx[128];
/*****************************************************************************
* Function prototipes
*/
extern void copy_m_stk_entry(Int4 to, Int4 from);
extern void fix_single_mismatches(void);
extern void find_best_set (Int4 TooShort, Int4 pro_len);
extern void remove_redundant_intervals (Int4 TooShort);
extern void fix_single_unassigned(Char *dna_seq, Char *rev_seq, Char *p_seq, Char *genetic_code);
extern Int4 combine_with_long_mismatches(Int4 TooShort);
extern void fix_overlaps_by_splice_sites(Char *dna_seq, Char *rev_seq, Char *p_seq, Char *genetic_code);
extern void ensure_consistent_set(Int4 pro_len);
/* void reverse(Int4 n); */
extern void ClearSeqRec (SeqRecPtr srp);
extern void SetBatchSuggestFrames (Char *dna_seq, Char *rev_seq, Int4 len);
extern void ClearBatchSuggestFrames (void);
extern Int4 Get_Genetic_Code (Int4 code, SuggestRecPtr sugrp);
void OutProteinID (SuggestOutputPtr pSuggestOut, Int2 num);
void OutLocation (SuggestOutputPtr pSuggestOut, Int4 num_nuc);
Boolean InitSuggest (void);
Int2 ProcessData (SuggestOutputPtr pSuggestOut, Boolean clearNucSeqRec);
#endif
|