1 /*    asn2ffp.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:  asn2ffp.h
27 *
28 * Author:  Karl Sirotkin, Tom Madden, Tatiana Tatusov
29 *
30 * Version Creation Date:   7/15/95
31 *
32 * $Revision: 6.37 $
33 *
34 * File Description:
35 *
36 * Modifications:
37 * --------------------------------------------------------------------------
38 * Date     Name        Description of modification
39 * -------  ----------  -----------------------------------------------------
40 *
41 *
42 * ==========================================================================
43 */
44 
45 #ifndef _ASN2FFP_
46 #define _ASN2FFP_
47 
48 #include <asn2ffg.h>
49 #include <asn2ff.h>
50 #include <asn2ff6.h>
51 
52 
53 #undef NLM_EXTERN
54 #ifdef NLM_IMPORT
55 #define NLM_EXTERN NLM_IMPORT
56 #else
57 #define NLM_EXTERN extern
58 #endif
59 
60 NLM_EXTERN  Boolean asn2ff_flags[13];
61 
62 #define ASN2FF_LOCAL_ID                 asn2ff_flags[0]
63 #define ASN2FF_LOOK_FOR_SEQ             asn2ff_flags[1]
64 #define ASN2FF_VALIDATE_FEATURES        asn2ff_flags[2]
65 #define ASN2FF_IGNORE_PATENT_PUBS       asn2ff_flags[3]
66 #define ASN2FF_DROP_SHORT_AA            asn2ff_flags[4]
67 #define ASN2FF_AVOID_LOCUS_COLL         asn2ff_flags[5]
68 #define ASN2FF_DATE_ERROR_MSG           asn2ff_flags[6]
69 #define ASN2FF_IUPACAA_ONLY             asn2ff_flags[7]
70 #define ASN2FF_TRANSL_TABLE             asn2ff_flags[8]
71 #define ASN2FF_REPORT_LOCUS_COLL        asn2ff_flags[9]
72 #define ASN2FF_SHOW_ALL_PUBS	        asn2ff_flags[10]
73 #define ASN2FF_SHOW_ERROR_MSG	        asn2ff_flags[11]
74 #define ASN2FF_SHOW_GB_STYLE	        asn2ff_flags[12]
75 
76 #define DBNUM 58
77 NLM_EXTERN CharPtr dbtag[DBNUM];
78 
79 NLM_EXTERN void FlatSpliceOff PROTO((SeqEntryPtr the_set, ValNodePtr desc));
80 NLM_EXTERN void FlatSpliceOn PROTO((SeqEntryPtr the_set, ValNodePtr desc));
81 
82 NLM_EXTERN void PrintLocusLine PROTO((Asn2ffJobPtr ajp, GBEntryPtr gbp));
83 NLM_EXTERN void PrintAccessLine PROTO((Asn2ffJobPtr ajp, GBEntryPtr gbp));
84 NLM_EXTERN void PrintVersionLine PROTO((Asn2ffJobPtr ajp, GBEntryPtr gbp));
85 NLM_EXTERN void PrintNCBI_GI PROTO((Asn2ffJobPtr ajp, GBEntryPtr gbp));
86 NLM_EXTERN void PrintNID PROTO((Asn2ffJobPtr ajp, GBEntryPtr gbp));
87 NLM_EXTERN void GetDefinitionLine PROTO((Asn2ffJobPtr ajp, GBEntryPtr gbp));
88 NLM_EXTERN void PrintDefinitionLine PROTO((Asn2ffJobPtr ajp, GBEntryPtr gbp));
89 NLM_EXTERN void PrintKeywordLine PROTO((Asn2ffJobPtr ajp, GBEntryPtr gbp));
90 NLM_EXTERN void PrintOriginLine PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp));
91 NLM_EXTERN void PrintOrganismLine PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp));
92 
93 NLM_EXTERN void PrintEPLocusLine PROTO((Asn2ffJobPtr ajp, GBEntryPtr gbp));
94 NLM_EXTERN void PrintSegmentLine PROTO((Asn2ffJobPtr ajp, GBEntryPtr gbp));
95 
96 NLM_EXTERN void PrintGBSourceLine PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp));
97 NLM_EXTERN void PrintGBOrganismLine PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp));
98 
99 NLM_EXTERN void PrintPubsByNumber PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp));
100 NLM_EXTERN void PrintFeatHeader PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp));
101 NLM_EXTERN void PrintSequence PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp, Int4 start, Int4 stop));
102 NLM_EXTERN void PrintEPSequence PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp, Int4 start, Int4 stop));
103 NLM_EXTERN void PrintBaseCount PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp));
104 NLM_EXTERN ValNodePtr tie_next PROTO((ValNodePtr head, ValNodePtr vnp));
105 NLM_EXTERN ValNodePtr GatherDescrByChoice PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp, Uint1 choice));
106 NLM_EXTERN ValNodePtr GatherDescrListByChoice PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp, Uint1 choice));
107 NLM_EXTERN ValNodePtr GetOrgRef PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp));
108 NLM_EXTERN ValNodePtr GetBiosource PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp));
109 NLM_EXTERN void EMBL_PrintPubs PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp, PubStructPtr psp));
110 NLM_EXTERN void GB_PrintPubs PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp, PubStructPtr psp));
111 NLM_EXTERN void GR_PrintPubs PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp, PubStructPtr psp));
112 NLM_EXTERN Boolean FlatIgnoreThisPatentPub PROTO ((BioseqPtr bsp, ValNodePtr best, Int4Ptr seqidPt));
113 NLM_EXTERN CharPtr FlatCleanEquals PROTO ((CharPtr retval));
114 NLM_EXTERN ValNodePtr GetAuthors PROTO((Asn2ffJobPtr ajp, ValNodePtr the_pub));
115 NLM_EXTERN CharPtr FlatJournal PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp, ValNodePtr the_pub, Int4 pat_seqid, Boolean PNTR submit, Boolean make_index));
116 NLM_EXTERN ValNodePtr GetKeywordLine PROTO((Asn2ffJobPtr ajp, GBEntryPtr gbp));
117 NLM_EXTERN void PrintSourceFeat PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp));
118 NLM_EXTERN Int2 PrintImpFeat PROTO ((Asn2ffJobPtr ajp, BioseqPtr bsp, SeqFeatPtr sfp));
119 NLM_EXTERN Int2 PrintImpFeatEx PROTO ((Asn2ffJobPtr ajp, BioseqPtr bsp, SeqFeatPtr sfp, BIG_ID gi, Int2 entityID, Uint4 itemID));
120 NLM_EXTERN void PrintNAFeatAwp PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp));
121 NLM_EXTERN void PrintNAFeatByNumber PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp));
122 NLM_EXTERN void PrintAAFeatByNumber PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp));
123 NLM_EXTERN CharPtr FlatLoc PROTO ((BioseqPtr bsp, ValNodePtr location));
124 NLM_EXTERN Boolean FlatAnnotPartial PROTO ((SeqFeatPtr sfp, Boolean use_product));
125 NLM_EXTERN Boolean FlatIgnoreThisPatentPub PROTO ((BioseqPtr bsp, ValNodePtr best, Int4Ptr seqidPt));
126 
127 NLM_EXTERN void PrintCommentByNumber PROTO((Asn2ffJobPtr aip, GBEntryPtr gbp));
128 NLM_EXTERN void PrintFirstComment PROTO((Asn2ffJobPtr aip, GBEntryPtr gbp));
129 NLM_EXTERN void GBDescrComFeat PROTO((Asn2ffJobPtr ajp, GBEntryPtr gbp));
130 
131 NLM_EXTERN Int2 GB_GetSeqDescrComms  PROTO((Asn2ffJobPtr ajp, GBEntryPtr gbp));
132 NLM_EXTERN Int2 GP_GetSeqDescrComms  PROTO((Asn2ffJobPtr ajp, GBEntryPtr gbp));
133 
134 NLM_EXTERN Int4 GetGibbsqNumber PROTO ((BioseqPtr bsp));
135 NLM_EXTERN Int4 GetGibbsqCommentLength PROTO ((GBEntryPtr gbp));
136 NLM_EXTERN CharPtr GetGibbsqComment PROTO ((GBEntryPtr gbp));
137 NLM_EXTERN Int4 GetGibbsqStatement PROTO ((GBEntryPtr gbp, CharPtr ptr));
138 NLM_EXTERN Int2 StorePubInfo PROTO ((Asn2ffJobPtr ajp, BioseqContextPtr bcp, BioseqPtr bsp, ValNodePtr PNTR vnpp));
139 NLM_EXTERN Int2 StoreNAPubInfo PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp, ValNodePtr PNTR vnp, Boolean error_msgs));
140 NLM_EXTERN void GetGBDate PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp));
141 NLM_EXTERN void GetGPDate PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp));
142 NLM_EXTERN void GetEMBLDate PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp));
143 NLM_EXTERN void GetEntryVersion PROTO ((GBEntryPtr gbp));
144 NLM_EXTERN Boolean GetGeneQuals PROTO ((SeqFeatPtr sfp_in, GeneStructPtr gsp));
145 NLM_EXTERN Boolean GetCdregionGeneXrefInfo PROTO ((Asn2ffJobPtr ajp, SeqFeatPtr sfp, GBEntryPtr gbp, Int2 index));
146 NLM_EXTERN void GetGeneRefInfo PROTO ((GeneStructPtr gsp, NoteStructPtr nsp, GeneRefPtr grp));
147 NLM_EXTERN void GetDBXrefFromGene PROTO ((GeneRefPtr grp, SeqFeatPtr sfp));
148 NLM_EXTERN Int2 CompareStringWithGsp PROTO ((GeneStructPtr gsp, CharPtr string));
149 NLM_EXTERN Boolean CheckNAFeat PROTO ((Boolean is_new, BioseqPtr bsp, SeqFeatPtr sfp));
150 NLM_EXTERN Boolean CheckAndGetNAFeatLoc PROTO ((BioseqPtr bsp, CharPtr PNTR buffer, SeqFeatPtr sfp, Boolean loc_return));
151 NLM_EXTERN void GetAAFeatLoc PROTO ((BioseqPtr bsp, CharPtr PNTR buffer, SeqFeatPtr sfp, Boolean use_product));
152 NLM_EXTERN CharPtr GetGBSourceLine PROTO ((GBBlockPtr gb));
153 
154 NLM_EXTERN Int2 CheckPubs PROTO ((Asn2ffJobPtr ajp, BioseqPtr bsp, ValNodePtr PNTR vnpp));
155 NLM_EXTERN CharPtr FlatAuthor PROTO ((Asn2ffJobPtr ajp, ValNodePtr the_pub));
156 NLM_EXTERN CharPtr FlatPubTitle PROTO ((ValNodePtr the_pub));
157 NLM_EXTERN void PrintDBSourceLine PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp));
158 
159 NLM_EXTERN void PostARefErrMessage PROTO ((Asn2ffJobPtr ajp, BioseqPtr bsp, PubStructPtr psp, ValNodePtr ext_pub, Int2 status, CharPtr string));
160 
161 NLM_EXTERN void SeparatePartSuppl PROTO((CharPtr vol_issue, CharPtr part_sub));
162 NLM_EXTERN void AddExtraAccessions PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp));
163 NLM_EXTERN void PrintTerminator PROTO ((void));
164 NLM_EXTERN Boolean get_pubs PROTO ((GatherContextPtr gcp));
165 NLM_EXTERN void GatherItemWithLock PROTO((Uint2 entityID, Uint4 itemID, Uint2 itemtype,
166                                    Pointer userdata, GatherItemProc userfunc));
167 NLM_EXTERN CharPtr format_article PROTO ((Asn2ffJobPtr ajp, BioseqPtr bsp, ValNodePtr the_pub, Boolean make_index));
168 NLM_EXTERN CharPtr format_bookarticle PROTO ((Asn2ffJobPtr ajp, BioseqPtr bsp, ValNodePtr the_pub, Boolean make_index));
169 NLM_EXTERN CharPtr format_jourarticle PROTO ((Asn2ffJobPtr ajp, BioseqPtr bsp, ValNodePtr the_pub, Boolean make_index));
170 
171 NLM_EXTERN void GetProtRefInfo PROTO ((Uint1 format, GeneStructPtr gsp, NoteStructPtr nsp, ProtRefPtr prp));
172 NLM_EXTERN Int2 GetMapFeats PROTO((Asn2ffJobPtr ajp, GBEntryPtr gbp));
173 NLM_EXTERN Boolean find_item PROTO ((GatherContextPtr gcp));
174 NLM_EXTERN Boolean get_prot_feats PROTO((GatherContextPtr gcp));
175 NLM_EXTERN void AddSiteNoteQual PROTO((SeqFeatPtr sfp_in, SeqFeatPtr sfp));
176 NLM_EXTERN void MatchAAGeneToFeat PROTO((OrganizeFeatPtr ofp, SortStructPtr p));
177 NLM_EXTERN void MatchNAGeneToFeat PROTO ((Boolean non_strict, OrganizeFeatPtr ofp, SortStructPtr p));
178 NLM_EXTERN void SortOrganizeFeat PROTO((OrganizeFeatPtr ofp));
179 NLM_EXTERN void OrganizeSeqFeat PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp));
180 NLM_EXTERN void GetSeqFeat PROTO ((Asn2ffJobPtr ajp));
181 
182 #undef NLM_EXTERN
183 #ifdef NLM_EXPORT
184 #define NLM_EXTERN NLM_EXPORT
185 #else
186 #define NLM_EXTERN
187 #endif
188 
189 #endif
190