|
NCBI Home IEB Home C Toolkit docs C++ Toolkit source browser C Toolkit source browser (2) |
NCBI C Toolkit Cross ReferenceC/object/objpubd.h |
source navigation diff markup identifier search freetext search file search |
1 /* objpubd.h
2 * ===========================================================================
3 *
4 * PUBLIC DOMAIN NOTICE
5 * National Center for Biotechnology Information
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 have not placed any restriction on its use or reproduction.
13 *
14 * Although all reasonable efforts have been taken to ensure the accuracy
15 * and reliability of the software and data, the NLM and the U.S.
16 * Government do not and cannot warrant the performance or results that
17 * may be obtained by using this software or data. The NLM and the U.S.
18 * Government disclaim all warranties, express or implied, including
19 * warranties of performance, merchantability or fitness for any particular
20 * purpose.
21 *
22 * Please cite the author in any work or product based on this material.
23 *
24 * ===========================================================================
25 *
26 * File Name: objpubd.h
27 *
28 * Author: James Ostell
29 *
30 * Version Creation Date: 4/1/91
31 *
32 * $Revision: 6.13 $
33 *
34 * File Description: Object manager interface for type Pubdesc from
35 * NCBI-Sequence. This is separate to avoid typedef
36 * order problems with NCBI-Sequence and NCBI-Seqfeat
37 * which both reference Pubdesc
38 * Numbering and Heterogen have now also been added
39 * for the same reason. Heterogen is just a string,
40 * so no special typedefs are required.
41 *
42 * Modifications:
43 * --------------------------------------------------------------------------
44 * Date Name Description of modification
45 * ------- ---------- -----------------------------------------------------
46 *
47 * ==========================================================================
48 */
49
50 #ifndef _NCBI_Pubdesc_
51 #define _NCBI_Pubdesc_
52
53 #ifndef _ASNTOOL_
54 #include <asn.h>
55 #endif
56
57 #undef NLM_EXTERN
58 #ifdef NLM_IMPORT
59 #define NLM_EXTERN NLM_IMPORT
60 #else
61 #define NLM_EXTERN extern
62 #endif
63
64 #ifdef __cplusplus
65 extern "C" {
66 #endif
67
68 /*****************************************************************************
69 *
70 * Pubdesc
71 *
72 *****************************************************************************/
73 typedef struct pd {
74 ValNodePtr pub; /* points to Pub-equiv */
75 CharPtr name,
76 fig;
77 ValNodePtr num; /* points to Numbering */
78 Boolean numexc,
79 poly_a;
80 Uint1 align_group; /* 0 = not part of a group */
81 CharPtr maploc,
82 seq_raw,
83 comment;
84 Uint1 reftype; /* 0=seq, 1=sites, 2=feats,
85 3=seq with no explicit span, for GenBank ref */
86 } Pubdesc, PNTR PubdescPtr;
87
88 NLM_EXTERN PubdescPtr LIBCALL PubdescNew PROTO((void));
89 NLM_EXTERN Boolean LIBCALL PubdescAsnWrite PROTO((PubdescPtr pdp, AsnIoPtr aip, AsnTypePtr atp));
90 NLM_EXTERN PubdescPtr LIBCALL PubdescAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
91 NLM_EXTERN PubdescPtr LIBCALL PubdescFree PROTO((PubdescPtr pdp));
92
93 NLM_EXTERN Boolean LIBCALL PubdescContentMatch (PubdescPtr pdp1, PubdescPtr pdp2);
94
95 typedef ValNode Numbering, FAR *NumberingPtr;
96
97 /*****************************************************************************
98 *
99 * Numbering uses an ValNode with choice =
100 1 = cont Num-cont , -- continuous numbering
101 2 = enum Num-enum , -- enumerated names for residues
102 3 = ref Num-ref, type 1 sources -- by reference to another sequence
103 4 = ref Num-ref, type 2 aligns (SeqAlign in data.ptrvalue)
104 5 = real Num-real -- for maps etc
105 *
106 *****************************************************************************/
107
108 #define Numbering_cont 1
109 #define Numbering_enum 2
110 #define Numbering_ref_source 3
111 #define Numbering_ref_align 4
112 #define Numbering_real 5
113
114 NLM_EXTERN Boolean LIBCALL NumberingAsnWrite PROTO((NumberingPtr anp, AsnIoPtr aip, AsnTypePtr atp));
115 NLM_EXTERN NumberingPtr LIBCALL NumberingAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
116 NLM_EXTERN NumberingPtr LIBCALL NumberingFree PROTO((NumberingPtr anp));
117
118 /*****************************************************************************
119 *
120 * NumCont - continuous numbering system
121 *
122 *****************************************************************************/
123 typedef struct numcont {
124 Int4 refnum;
125 Boolean has_zero,
126 ascending;
127 } NumCont, PNTR NumContPtr;
128
129 NLM_EXTERN NumContPtr LIBCALL NumContNew PROTO((void));
130 NLM_EXTERN Boolean LIBCALL NumContAsnWrite PROTO((NumContPtr ncp, AsnIoPtr aip, AsnTypePtr atp));
131 NLM_EXTERN NumContPtr LIBCALL NumContAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
132 NLM_EXTERN NumContPtr LIBCALL NumContFree PROTO((NumContPtr ncp));
133
134 /*****************************************************************************
135 *
136 * NumEnum - enumerated numbering system
137 *
138 *****************************************************************************/
139 typedef struct numenum {
140 Int4 num; /* number of names */
141 CharPtr buf; /* a buffer for the names */
142 CharPtr PNTR names; /* array of pointers to names */
143 } NumEnum, PNTR NumEnumPtr;
144
145 NLM_EXTERN NumEnumPtr LIBCALL NumEnumNew PROTO((void));
146 NLM_EXTERN Boolean LIBCALL NumEnumAsnWrite PROTO((NumEnumPtr nep, AsnIoPtr aip, AsnTypePtr atp));
147 NLM_EXTERN NumEnumPtr LIBCALL NumEnumAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
148 NLM_EXTERN NumEnumPtr LIBCALL NumEnumFree PROTO((NumEnumPtr nep));
149
150 /*****************************************************************************
151 *
152 * NumReal - float type numbering system
153 *
154 *****************************************************************************/
155 typedef struct numreal {
156 FloatHi a, b; /* number in "units" = ax + b */
157 CharPtr units;
158 } NumReal, PNTR NumRealPtr;
159
160 NLM_EXTERN NumRealPtr LIBCALL NumRealNew PROTO((void));
161 NLM_EXTERN Boolean LIBCALL NumRealAsnWrite PROTO((NumRealPtr ncp, AsnIoPtr aip, AsnTypePtr atp));
162 NLM_EXTERN NumRealPtr LIBCALL NumRealAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
163 NLM_EXTERN NumRealPtr LIBCALL NumRealFree PROTO((NumRealPtr ncp));
164
165 /*****************************************************************************
166 *
167 * MolInfo - Info about mols
168 *
169 *****************************************************************************/
170 typedef struct molinfo {
171 Uint1 biomol,
172 tech;
173 CharPtr techexp;
174 Uint1 completeness;
175 CharPtr gbmoltype;
176 } MolInfo, PNTR MolInfoPtr;
177
178 #define MI_TECH_unknown 0
179 #define MI_TECH_standard 1
180 #define MI_TECH_est 2 /* EST division */
181 #define MI_TECH_sts 3 /* STS division */
182 #define MI_TECH_survey 4 /* GSS division */
183 #define MI_TECH_genemap 5 /* Bioseq is a genetic map */
184 #define MI_TECH_physmap 6 /* Bioseq is physical map */
185 #define MI_TECH_derived 7 /* Bioseq is a computed inference */
186 #define MI_TECH_concept_trans 8 /* conceptual translation */
187 #define MI_TECH_seq_pept 9 /* peptide sequencing used */
188 #define MI_TECH_both 10 /* combination of 8 and 9 used */
189 #define MI_TECH_seq_pept_overlap 11 /* peptides ordered by overlap */
190 #define MI_TECH_seq_pept_homol 12 /* peptides ordered by homology */
191 #define MI_TECH_concept_trans_a 13 /* concept trans supplied by author */
192 #define MI_TECH_htgs_1 14 /* unordered High Throughput Sequence Contig */
193 #define MI_TECH_htgs_2 15 /* ordered High Throughput sequence contig */
194 #define MI_TECH_htgs_3 16 /* finished High Throughut sequence */
195 #define MI_TECH_fli_cdna 17 /* full-length insert cDNA sequence */
196 #define MI_TECH_htgs_0 18 /* unordered single pass reads */
197 #define MI_TECH_htc 19 /* High Throughput CDNA.. unfinished */
198 #define MI_TECH_wgs 20 /* Whole Genome Shotgun */
199 #define MI_TECH_barcode 21 /* Barcode of Life Project */
200 #define MI_TECH_composite_wgs_htgs 22 /* Assembly/Scaffold composite of techniques */
201 #define MI_TECH_tsa 23 /* Transcriptome Shotgun Assembly */
202 #define MI_TECH_other 255 /* doesnt' fit anything */
203
204 NLM_EXTERN MolInfoPtr LIBCALL MolInfoNew PROTO((void));
205 NLM_EXTERN Boolean LIBCALL MolInfoAsnWrite PROTO((MolInfoPtr mip, AsnIoPtr aip, AsnTypePtr atp));
206 NLM_EXTERN MolInfoPtr LIBCALL MolInfoAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
207 NLM_EXTERN MolInfoPtr LIBCALL MolInfoFree PROTO((MolInfoPtr mip));
208
209
210 #ifdef __cplusplus
211 }
212 #endif
213
214 #undef NLM_EXTERN
215 #ifdef NLM_EXPORT
216 #define NLM_EXTERN NLM_EXPORT
217 #else
218 #define NLM_EXTERN
219 #endif
220
221 #endif
222 |
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more information. |