NCBI C Toolkit Cross Reference

C/object/objpubd.h


  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 

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.