NCBI C Toolkit Cross Reference

C/api/a2fstruc.h


  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 

source navigation ]   [ diff markup ]   [ identifier search ]   [ freetext search ]   [ file search ]  

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.