|
NCBI Home IEB Home C Toolkit docs C++ Toolkit source browser C Toolkit source browser (2) |
NCBI C Toolkit Cross ReferenceC/api/a2fstruc.h |
source navigation diff markup identifier search freetext search file search |
1 /* a2fstruc.h
2 * ===========================================================================
3 *
4 * PUBLIC DOMAIN NOTICE
5 * National Center for Biotechnology Information (NCBI)
6 *
7 * This software/database is a "United States Government Work" under the
8 * terms of the United States Copyright Act. It was written as part of
9 * the author's official duties as a United States Government employee and
10 * thus cannot be copyrighted. This software/database is freely available
11 * to the public for use. The National Library of Medicine and the U.S.
12 * Government do not place any restriction on its use or reproduction.
13 * We would, however, appreciate having the NCBI and the author cited in
14 * any work or product based on this material
15 *
16 * Although all reasonable efforts have been taken to ensure the accuracy
17 * and reliability of the software and data, the NLM and the U.S.
18 * Government do not and cannot warrant the performance or results that
19 * may be obtained by using this software or data. The NLM and the U.S.
20 * Government disclaim all warranties, express or implied, including
21 * warranties of performance, merchantability or fitness for any particular
22 * purpose.
23 *
24 * ===========================================================================
25 *
26 * File Name: a2fstruc.h
27 *
28 * Author: Karl Sirotkin, Tom Madden, Tatiana Tatusov
29 *
30 * Version Creation Date: 7/15/95
31 *
32 * $Revision: 6.0 $
33 *
34 * File Description:
35 *
36 * Modifications:
37 * --------------------------------------------------------------------------
38 * Date Name Description of modification
39 * ------- ---------- -----------------------------------------------------
40 *
41 *
42 * ==========================================================================
43 */
44
45 /*********************************************************************
46 *
47 * Structures for asn2ff and makerpt
48 *
49 **********************************************************************/
50
51 /*************************************
52 *
53 * $Log: a2fstruc.h,v $
54 * Revision 6.0 1997/08/25 18:04:30 madden
55 * Revision changed to 6.0
56 *
57 * Revision 5.0 1996/05/28 13:23:23 ostell
58 * Set to revision 5.0
59 *
60 * Revision 4.0 1995/07/26 13:49:01 ostell
61 * force revision to 4.0
62 *
63 * Revision 1.11 1995/07/17 19:33:20 kans
64 * parameters combined into Asn2ffJobPtr structure
65 *
66 * Revision 1.10 1995/06/19 21:40:02 kans
67 * Tatiana's first major reorganization, moving printing, adding HTML
68 *
69 * Revision 1.9 1995/05/15 21:46:05 ostell
70 * added Log line
71 *
72 *
73 *************************************/
74
75 #ifndef _A2FSTRUC_
76 #define _A2FSTRUC_
77
78 #include <asn.h>
79 #include <objall.h>
80 #include <objpubd.h>
81 #include <objsub.h>
82 #include <prtutil.h>
83 #include <asn2ffg.h>
84
85 #define LINKS 20
86
87
88 /*--------------the structure for information on Genes-----*/
89
90 typedef struct genestruct {
91 ValNodePtr gene;
92 ValNodePtr product;
93 ValNodePtr standard_name;
94 CharPtr PNTR map; /* only map[0] is used why we need PNTR? */
95 ValNodePtr ECNum;
96 Int2 map_size, map_index; /* map_size is always 1 */
97 Int2 matchlist_size;
98 Int2Ptr genes_matched;
99 Boolean pseudo;
100 } GeneStruct, PNTR GeneStructPtr;
101
102 /*--------------the structure for the composition of notes-----*/
103
104 typedef struct notestruct {
105 CharPtr PNTR note;
106 Uint1 PNTR note_alloc;
107 CharPtr PNTR note_annot;
108 Int2 note_size, note_index;
109 } NoteStruct, PNTR NoteStructPtr;
110
111 /* ---------------The Biotable Structure ------------*/
112
113 typedef struct biotable {
114 SeqEntryPtr sep; /* the SeqEntryPtr passed to asn2ff_setup */
115 SeqEntryPtr PNTR sepp; /* An array of SeqEntryPtr's, used by makerpt */
116 BioseqPtr PNTR bsp; /* This array lists the (valid) entries to be
117 formatted */
118 BioseqPtr PNTR table; /* This array lists the BioseqPtr's with repr
119 "seg" in a segmented set. If the entry is not
120 segmented, this is NULL */
121 BioseqContextPtr PNTR bcp; /* The BioseqContextPtr for each
122 BioseqPtr */
123 BioseqContextPtr PNTR bcp_na; /* BioseqContextPtr of a nucleotide
124 sequence, used for an amino acid sequence;
125 set in EstablishProteinLink */
126 Uint1 PNTR bcp_na_alloc; /* flag that says whether the bcp is
127 allocated */
128 SeqFeatPtr PNTR cds; /* Used by genPept to determine which CDS
129 a protein comes from, set in
130 EstablishProteinLink */
131 Int2 FlatLoc_context;
132 GeneStructPtr PNTR PNTR gspp; /* information on Genes */
133 NoteStructPtr PNTR PNTR nspp; /* information on Notes. */
134 NoteStructPtr source_notes; /* Note for source feature */
135 SeqFeatPtr sfp_out; /* ImpFeat used to hole SeqFeat info while
136 they're being formatted */
137 /* The next several variables, all starting with "sfp", are set in
138 OrganizeSeqFeat */
139 Int2Ptr sfpListsize; /* Number of "generic" (i.e., not in any
140 category below) features/entry */
141 SeqFeatPtr PNTR PNTR sfpList; /* ptr's to "generic" features */
142 Int2Ptr sfpCommsize; /* Number of comment features */
143 SeqFeatPtr PNTR PNTR sfpCommlist; /* ptr's to comment features */
144 Int2Ptr sfpGenesize; /* Number of gene features */
145 SeqFeatPtr PNTR PNTR sfpGenelist; /* Ptr's to gene features */
146 Int2Ptr sfpOrgsize; /* Number of Organism features. */
147 SeqFeatPtr PNTR PNTR sfpOrglist; /* ptr's to Org features. */
148 Int2Ptr sfpSitesize; /* Number of ImpFeat's with key "Site-ref" */
149 SeqFeatPtr PNTR PNTR sfpSitelist; /* ptr's to ImpFeat's with key "Site-ref" */
150 Int2Ptr sfpSourcesize; /* Number of ImpFeat's with key "source" */
151 SeqFeatPtr PNTR PNTR sfpSourcelist; /* ptr's to ImpFeat's with key "source" */
152 Int2Ptr sfpXrefsize; /* Number of Seq's that go out as xref's */
153 SeqFeatPtr PNTR PNTR sfpXreflist;/* ptr's to Seq's that are xref's */
154 ValNodePtr PNTR Pub; /* Linked list of references */
155 CharPtr PNTR base_cnt_line;
156 CharPtr PNTR access;
157 CharPtr PNTR locus;
158 CharPtr PNTR division;
159 CharPtr PNTR date;
160 CharPtr PNTR create_date;
161 CharPtr PNTR update_date;
162 CharPtr PNTR embl_rel;
163 Int2Ptr embl_ver;
164 Int4Ptr gi;
165 Int2 count;
166 Int2Ptr seg_num;
167 Int2Ptr seg_total;
168 Int4 pap_index;
169 Uint1 pap_last;
170 Char newline;
171 Boolean pseudo;
172 Uint1 gene_binding;
173 Int2 number_of_cds;
174 SeqPortPtr spp;
175 Int4 count_set;
176 Boolean found_match;
177 struct biotable PNTR btp_other;
178 } Biotable, PNTR BiotablePtr;
179
180 /*----------- Estimates for the number of lines returned for
181 each of the following------------------------------------------*/
182
183 #define NUM_OF_ESTIMATES 20
184 #define NUM_SEQ_LINES 10
185
186 static Int2 line_estimate[NUM_OF_ESTIMATES] = {
187 1, /* 0; Locus, Segment, Base Count, Origin, Feature Header lines */
188 1, /* 1; Definition line(s) */
189 1, /* 2; Accession line(s) */
190 1, /* 3; Keyword line(s) */
191 2, /* 4; Source lines */
192 6, /* 5; Reference (pub) lines */
193 10, /* 6; GBComAndFH */
194 11, /* 7; GBComAndXref */
195 6, /* 8; Features */
196 NUM_SEQ_LINES, /* 9; Sequence lines */
197 2, /* 10; EMBL Date lines */
198 2, /* 11; EMBL Organism lines */
199 4, /* 12; DBSOURCE field */
200 };
201
202
203
204 typedef void (* FFPapFct) PROTO ((Asn2ffJobPtr ajp, BiotablePtr btp, Int2 count));
205
206 typedef struct ffprintarray {
207 FFPapFct fct;
208 Asn2ffJobPtr ajp;
209 BiotablePtr btp;
210 Int2 count;
211 Int4 index;
212 Uint1 last;
213 Uint1 printxx;
214 Int2 estimate;
215 SeqFeatPtr sfp;
216 ValNodePtr pub;
217 ValNodePtr descr;
218 } FFPrintArray, PNTR FFPrintArrayPtr;
219
220 #endif
221 |
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more information. |