|
NCBI Home IEB Home C Toolkit docs C++ Toolkit source browser C Toolkit source browser (2) |
NCBI C Toolkit Cross ReferenceC/sequin/sequin.h |
source navigation diff markup identifier search freetext search file search |
1 /* sequin.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: sequin.h
27 *
28 * Author: Jonathan Kans
29 *
30 * Version Creation Date: 1/22/95
31 *
32 * $Revision: 6.593 $
33 *
34 * File Description:
35 *
36 * Modifications:
37 * --------------------------------------------------------------------------
38 * Date Name Description of modification
39 * ------- ---------- -----------------------------------------------------
40 *
41 *
42 * ==========================================================================
43 */
44
45 #ifndef _SEQUIN_
46 #define _SEQUIN_
47
48 #ifdef INTERNAL_NCBI_SEQUIN
49 #ifndef EXTRA_SERVICES
50 #define EXTRA_SERVICES
51 #endif
52 #ifndef NETWORK_SAVVY_SEQUIN
53 #define NETWORK_SAVVY_SEQUIN
54 #endif
55 #ifndef USE_SPELL
56 #define USE_SPELL
57 #endif
58 #endif
59
60 #ifdef EXTRA_SERVICES
61 #define USE_DESKTOP
62 #define REPLACE_THIS
63 #define EDIT_LOCUS
64 #endif
65
66 #ifdef NETWORK_SAVVY_SEQUIN
67 #define USE_ENTREZ
68 #define USE_LOCAL
69 #define USE_BLAST
70 #define USE_MEDARCH
71 #define USE_TAXON
72 #define ALLOW_DOWNLOAD
73 #endif
74
75 #ifdef PUBLIC_NETWORK_SEQUIN
76 #define USE_DESKTOP
77 #define USE_ENTREZ
78 #define USE_LOCAL
79 #define USE_BLAST
80 #define USE_MEDARCH
81 #define USE_TAXON
82 #define ALLOW_DOWNLOAD
83 #endif
84
85 #include <dlogutil.h>
86 #include <bspview.h>
87 #include <objproj.h>
88 #include <urlquery.h>
89
90
91 #ifdef __cplusplus
92 extern "C" {
93 #endif
94
95
96 #define SEQ_PKG_SINGLE 1
97 #define SEQ_PKG_SEGMENTED 2
98 #define SEQ_PKG_GAPPED 3
99 #define SEQ_PKG_GENOMICCDNA 4
100 #define SEQ_PKG_POPULATION 5
101 #define SEQ_PKG_PHYLOGENETIC 6
102 #define SEQ_PKG_MUTATION 7
103 #define SEQ_PKG_ENVIRONMENT 8
104 #define SEQ_PKG_GENBANK 9
105 #define NUM_SEQ_PKG 9
106
107 #define SEQ_FMT_FASTA 1
108 #define SEQ_FMT_ALIGNMENT 2
109 #define NUM_SEQ_FMT 2
110
111 /*
112 #define SEQ_FMT_FASTAGAP 2
113 #define SEQ_FMT_PHYLIP 3
114 #define SEQ_FMT_NEXUS 4
115 #define SEQ_FMT_PAUP 5
116 */
117
118 #define SEQ_ORIG_SUBMISSION 1
119 #define SEQ_TPA_SUBMISSION 2
120
121 typedef struct fmtblk {
122 Int2 seqPackage;
123 Int2 seqFormat;
124 Int2 numSeqs;
125 Int2 submType;
126 } FormatBlock, PNTR FormatBlockPtr;
127
128 typedef struct sqnblk {
129 AuthorPtr contactperson;
130 AuthListPtr citsubauthors;
131 AffilPtr citsubaffil;
132 CharPtr citsubtitle;
133 DatePtr releasedate;
134 Boolean holduntilpublished;
135 } SequinBlock, PNTR SequinBlockPtr;
136
137 extern CharPtr SEQUIN_APPLICATION;
138 extern CharPtr SEQUIN_SERVICES;
139 extern CharPtr SEQUIN_VERSION;
140
141 extern ForM helpForm;
142
143 extern Boolean useDesktop;
144 extern Boolean useEntrez;
145 extern Boolean useLocal;
146 extern Boolean useBlast;
147 extern Boolean useMedarch;
148 extern Boolean useTaxon;
149 extern Boolean allowDownload;
150 extern Boolean extraServices;
151 extern Boolean indexerVersion;
152 extern CharPtr genomeCenter;
153
154 extern Boolean leaveAsOldAsn;
155 extern Boolean newAlignReader;
156
157 #ifdef WIN_MAC
158 extern Boolean termListUp;
159 extern Boolean docSumUp;
160 extern Boolean bioseqViewUp;
161 #endif
162
163 extern void SwapQualifiers (IteM i);
164 extern void PrefixAuthorityWithOrganism (IteM i);
165 extern void UpdateFastaSet (IteM i);
166 extern void ExtendFastaSet (IteM i);
167 extern void ExtendAllSequencesInSet (IteM i);
168 extern void SeqLocAdjustByOffset (SeqLocPtr slp, Int4 offset);
169 extern void SplitSegmentedFeatsMenuItem (IteM i);
170 extern SeqFeatPtr SeqFeatCopy (SeqFeatPtr sfp);
171 extern SeqLocPtr SeqLocReplaceLocalID (SeqLocPtr slp,
172 SeqIdPtr new_sip);
173 extern SequinBlockPtr SequinBlockFree (SequinBlockPtr sbp);
174
175 extern ForM CreateStartupForm (Int2 left, Int2 top, CharPtr title,
176 BtnActnProc startFa2htgs,
177 BtnActnProc startPhrap,
178 BtnActnProc buildContig,
179 BtnActnProc startNew,
180 BtnActnProc readExisting,
181 BtnActnProc fetchFromNet,
182 BtnActnProc showHelp,
183 BtnActnProc createSubmissionTemplate,
184 BtnActnProc quitProgram,
185 WndActnProc activateForm);
186
187 extern void DrawAbout (PaneL p);
188 extern Int2 AboutBoxWidth (void);
189 extern Int2 AboutBoxHeight (void);
190
191 extern ForM CreateFormatForm (Int2 left, Int2 top, CharPtr title,
192 BtnActnProc goToNext,
193 BtnActnProc goBack,
194 WndActnProc activateForm);
195
196 extern ForM CreateInitSubmitterForm (Int2 left, Int2 top, CharPtr title,
197 BtnActnProc goToNext,
198 BtnActnProc goBack,
199 WndActnProc activateForm);
200
201 extern DialoG CreateFastaDialog (GrouP h, CharPtr title, Boolean is_na, Boolean is_mrna,
202 CharPtr text, Boolean single, Int2Ptr seqPackagePtr);
203
204 extern ForM CreateInitOrgNucProtForm (Int2 left, Int2 top, CharPtr title,
205 FormatBlockPtr format,
206 BtnActnProc goToNext,
207 BtnActnProc goBack,
208 WndActnProc activateForm);
209
210 extern ForM CreateGenomeCenterForm (Int2 left, Int2 top, CharPtr title,
211 BtnActnProc finish,
212 BtnActnProc cancel,
213 Boolean readPhrap,
214 Boolean buildContig,
215 WndActnProc activateForm);
216
217 extern SeqEntryPtr ImportOneGappedSequence (FILE *fp);
218
219 extern Boolean HasZeroLengthSequence (ForM newForm);
220 extern Boolean SequencesFormHasProteins (ForM f);
221 extern SeqEntryPtr GetSequencesFormProteinList (ForM f);
222 extern SeqEntryPtr GetSequencesFormNucleotideList (ForM f);
223 extern Boolean SequencesFormHasTooManyNucleotides (ForM f);
224
225 extern void AppendOrReplaceString (
226 CharPtr PNTR string_loc,
227 CharPtr new_value,
228 Boolean PNTR asked_question,
229 Boolean PNTR do_replace,
230 Boolean PNTR use_semicolon
231 );
232
233 extern void ConsolidateOrganismNotes (IteM i);
234 extern void ConsolidateLikeModifiersWithSemicolons (IteM i);
235 extern void ConsolidateLikeModifiersWithoutSemicolons (IteM i);
236
237 extern void CountryLookupWithoutCapFix (IteM i);
238 extern void CountryLookupWithCapFix (IteM i);
239 extern void ExtractProteinFeaturesFromNote (IteM i);
240 extern void ConvertPseudoCDSToMiscFeat (IteM i);
241 extern void ProcessPseudoMiscFeat (IteM i);
242 extern void ParseInfluenzaAVirusNames (IteM i);
243 extern void AddStrainAndSerotypeToInfluenzaAVirusNames (IteM i);
244 extern void FixupInfluenzaAVirusNames(IteM i);
245 extern void EditPubs (IteM i);
246 extern void EditPubsEx (BaseFormPtr bfp);
247 extern void RemovePubConsortiums (IteM i);
248
249 extern void ExtendPartialFeatures (IteM i);
250 extern void ExtendPartialFeaturesWithConstraint (IteM i);
251 extern void TrimOrganismName (IteM i);
252 extern void SUCSubmitterProc (IteM i);
253
254 extern CharPtr FixInfluenzaVirusName (CharPtr orig_name);
255
256 extern void ConfirmSequencesFormParsing (ForM f, FormActnFunc putItAllTogether);
257
258 extern ForM CreateHelpForm (Int2 left, Int2 top, CharPtr title,
259 CharPtr file, BtnActnProc closeForm,
260 WndActnProc activateForm);
261
262 extern void SendHelpScrollMessage (ForM f, CharPtr heading, CharPtr section);
263
264 extern void ApplyCDSFrame (IteM i);
265
266 /* The next pointer in NewObject is not used in freeing the list. Each
267 block is attached individually as extra data to the appropriate menu item.
268 The linked list is used solely to enable and disable new feature menu items
269 by the target bsp->mol, or to enable and disable analysis menu items by the
270 ability to produce FASTA (bioseq viewer or docsum window). */
271
272 typedef struct urlparamdata {
273 Uint1 type; /* 1 = text, 2 = checkbox, 3 = popup, 4 = radio, 5 = list */
274 CharPtr param;
275 CharPtr prompt; /* if no prompt, use param */
276 CharPtr dfault;
277 CharPtr choices; /* choices if param is popup */
278 CharPtr group; /* used for grouping related controls */
279 CharPtr descr;
280 CharPtr help;
281 } UrlParamData, PNTR UrlParamPtr;
282
283 typedef struct newobjectdata {
284 Int2 kind; /* 1 = feature creation, 2 = analysis */
285 ObjMgrProcPtr ompp;
286 BaseFormPtr bfp;
287 IteM item;
288 Uint1 molgroup;
289 Uint2 descsubtype;
290 Boolean bspOK;
291 Boolean dsmOK;
292 Boolean fastaNucOK;
293 Boolean fastaProtOK;
294 Boolean onlyBspTarget;
295 /* the next eight fields are for the analysis menu only, for remote URLs */
296 CharPtr host_machine;
297 Uint2 host_port;
298 CharPtr host_path;
299 CharPtr query;
300 Uint4 timeoutsec;
301 Int2 format; /* 1 = FASTA, 2 = ASN.1 */
302 Boolean demomode;
303 QueryResultProc resultproc;
304 ValNodePtr paramlist; /* data.ptrvalue points to UrlParamData block */
305 CharPtr prefix;
306 CharPtr suffix;
307 CharPtr homepage;
308 CharPtr credits;
309 CharPtr authors;
310 CharPtr disclaimer;
311 CharPtr reference;
312 Uint4 pmid;
313 CharPtr blurb;
314 struct newobjectdata PNTR next;
315 } NewObjectData, PNTR NewObjectPtr;
316
317 #ifdef WIN_MAC
318 extern VoidPtr macUserDataPtr;
319 #endif
320
321 extern void SetupSpecialMenu (MenU m, BaseFormPtr bfp);
322 extern void SetupNewFeaturesMenu (MenU m, BaseFormPtr bfp);
323 extern void SetupNewDescriptorsMenu (MenU m, BaseFormPtr bfp);
324 extern void SetupNewPublicationsMenu (MenU m, BaseFormPtr bfp);
325 extern void SetupBatchApplyMenu (MenU s, BaseFormPtr bfp);
326 extern void SetupBatchEditMenu (MenU s, BaseFormPtr bfp);
327 extern MenU CreateAnalysisMenu (WindoW w, BaseFormPtr bfp, Boolean bspviewOK, Boolean docsumOK);
328 extern void SetupSequinFilters (void);
329 extern void SetupBioseqPageList (void);
330
331 extern Boolean LIBCALLBACK SequinOpenMimeFile (CharPtr filename);
332 extern Boolean LIBCALLBACK SequinOpenResultFile (CharPtr filename);
333 extern Boolean LIBCALLBACK SequinHandleNetResults (CharPtr filename);
334
335 extern void SequinCheckSocketsProc (void);
336
337 extern Int4 MySeqEntryToAsn3 (SeqEntryPtr sep, Boolean strip, Boolean correct, Boolean force);
338 extern void ValSeqEntryForm (ForM f);
339
340 extern void InitSequinExtras (void);
341 extern void FiniSequinExtras (void);
342
343 /* This function destroys the SequinBlockPtr */
344
345 extern Uint2 PackageFormResults (SequinBlockPtr sbp, SeqEntryPtr sep,
346 Boolean makePubAndDefLine);
347
348 extern void EnableFeaturesPerTarget (BaseFormPtr bfp);
349 extern void EnableAnalysisItems (BaseFormPtr bfp, Boolean isDocSum);
350
351 extern void ExtendSeqLocToPosition (SeqLocPtr slp, Boolean end5, Int4 pos);
352
353 #define REGISTER_BIOSEQ_SEG_EDIT ObjMgrProcLoad(OMPROC_EDIT,"Edit Bioseq Seg","BioseqSegEditor",OBJ_BIOSEQ_SEG,0,OBJ_BIOSEQ_SEG,0,NULL,BioseqSegEditFunc,PROC_PRIORITY_DEFAULT)
354 extern Int2 LIBCALLBACK BioseqSegEditFunc (Pointer data);
355
356 #define REGISTER_BIOSEQ_SET_EDIT ObjMgrProcLoad(OMPROC_EDIT,"Edit Bioseq Set","BioseqSetEditor",OBJ_BIOSEQSET,0,OBJ_BIOSEQSET,0,NULL,BioseqSetEditFunc,PROC_PRIORITY_DEFAULT)
357 extern Int2 LIBCALLBACK BioseqSetEditFunc (Pointer data);
358
359 extern void LaunchOrfViewer (BioseqPtr bsp, Uint2 entityID, Uint4 itemID, Boolean standAlone);
360
361 extern Int2 ApplyAnnotationToAll (Int2 type, SeqEntryPtr sep,
362 ButtoN partialLft, ButtoN partialRgt,
363 TexT geneName, TexT protName,
364 TexT protDesc, TexT rnaName,
365 TexT featcomment, TexT defline);
366
367 extern SeqFeatPtr FindBestCds (Uint2 entityID, SeqLocPtr loc, SeqLocPtr prod, SeqEntryPtr scope);
368
369 NLM_EXTERN SeqEntryPtr SequinFastaToSeqEntryEx
370 (
371 FILE *fp, Boolean is_na, CharPtr PNTR errormsg,
372 Boolean parseSeqId, CharPtr special_symbol
373 );
374
375 NLM_EXTERN SeqEntryPtr SequinFastaToSeqEntryExEx
376 (
377 FILE *fp, /* file to get sequence from */
378 Boolean is_na, /* type of sequence */
379 CharPtr PNTR errormsg, /* error message for debugginq */
380 Boolean parseSeqId, /* Parse SeqID from def line */
381 CharPtr special_symbol, /* Returns special symbol if no SeqEntry */
382 BoolPtr chars_stripped /* set to TRUE if characters other than digits
383 * were stripped from the FASTA sequence data */
384 );
385
386 /* Many miscellaneous extern functions within sequin source files */
387
388 extern Boolean WriteSequinAppParam (CharPtr section, CharPtr type, CharPtr value);
389
390 extern Boolean PropagateFromGenBankBioseqSet (SeqEntryPtr sep, Boolean ask);
391
392 extern Uint2 SmartAttachSeqAnnotToSeqEntry (Uint2 entityID, SeqAnnotPtr sap, ValNodePtr PNTR err_list);
393 extern void HandleProjectAsn (ProjectPtr proj, Uint2 entityID);
394
395 extern CharPtr CompressSpaces (CharPtr str);
396 extern CharPtr SearchForString (CharPtr str, CharPtr sub, Boolean case_counts, Boolean whole_word);
397 extern void AddAboutAndHelpMenuItems (MenU m);
398 extern void NetConfigureProc (IteM i);
399 extern void EntrezQueryProc (IteM i);
400 extern void Entrez2QueryProc (IteM i);
401 extern void SetupEditSecondary (MenU m, BaseFormPtr bfp);
402 extern void SimpleCDDBlastProc (IteM i);
403 extern void SimpleCDDSearchFeatProc (IteM i);
404 extern void SimpleCDDSearchAlignProc (IteM i);
405 extern void ForceCleanupEntityID (Uint2 entityID);
406 extern void ForceTaxonFixupBtn (IteM i, ButtoN b);
407 extern void CommonAddOrgOrModsToDefLines (IteM i, Int2 orgmod, Int2 subsource, ButtoN b);
408 extern void PrefixDefLines (IteM i);
409 extern void MRnaFromCdsProc (Uint2 entityID);
410 extern void BioseqViewFormToolBar (GrouP h);
411 extern void BioseqViewFormWGSToolBar (GrouP h);
412 extern Boolean DoBuildContig (void);
413 extern void SetGenome (PopuP p);
414 extern PopuP ReplaceBioSourceGencodePopup (DialoG d, PopuP gencode);
415 extern CharPtr NameStdPtrToAuthorSpreadsheetString (NameStdPtr nsp);
416 extern NameStdPtr AuthorSpreadsheetStringToNameStdPtr (CharPtr txt);
417 extern Boolean ExtendGene (GeneRefPtr grp, SeqEntryPtr nsep, SeqLocPtr slp);
418 extern void CommonAddOrgOrModsToDefLines (IteM i, Int2 orgmod, Int2 subsource, ButtoN b);
419 extern void CorrectGenCodes (SeqEntryPtr sep, Uint2 entityID);
420 extern void PrepareToConvertToCDS (SeqEntryPtr sep, Uint2 entityID,
421 Uint2 subtype, CharPtr findthis);
422 extern void EditGenbankElements (Handle i);
423 extern void EditSequenceHistory (IteM i);
424 extern void InsertGeneLocusTagPrefix (IteM i);
425 extern void ReplaceRepeatRegionLocusTagWithDbxref (IteM i);
426 extern void FindGeneAndProtForCDS (Uint2 entityID, SeqFeatPtr cds,
427 SeqFeatPtr PNTR gene, SeqFeatPtr PNTR prot);
428 extern void ExportAlignmentInterleave (IteM i);
429 extern void ExportAlignmentContiguous (IteM i);
430 extern void FixFeatureIntervals (IteM i);
431 extern void CombineMultipleCDS (IteM i);
432
433 extern void NewDescriptorMenuFunc (ObjMgrProcPtr ompp, BaseFormPtr bfp, Uint2 descsubtype);
434 extern Boolean PropagateFromGenBankBioseqSet (SeqEntryPtr sep, Boolean ask);
435 extern int LIBCALLBACK SortByVnpChoice (VoidPtr ptr1, VoidPtr ptr2);
436 extern void PrepareToConvertToCDS (SeqEntryPtr sep, Uint2 entityID,
437 Uint2 subtype, CharPtr findthis);
438 extern void ConvertToLocalProcOnlyNucs (IteM i);
439 extern void ConvertToLocalProcOnlyProts (IteM i);
440 extern void ConvertToLocalProcAll (IteM i);
441
442 extern void PromoteToBestIDProc (IteM i);
443 extern void PromoteToWorstIDProc (IteM i);
444 extern void ChangeGenBankNameToLocal (IteM i);
445 extern void RemoveGBIDsFromBioseqs (IteM i);
446 extern void RemoveGBIDsFromProteins (IteM i);
447 extern void RemoveGIsFromBioseqs (IteM i);
448
449 extern void CommonApplyToAllProc (BaseFormPtr bfp, Int2 type);
450 extern void ApplyTitle (IteM i);
451 extern void ApplyCDS (IteM i);
452 extern void ApplyRRNA (IteM i);
453 extern void ApplyImpFeat (IteM i);
454 extern void AdjustCDSLocationsForKnownAndUnknownGapsCallback (SeqFeatPtr sfp, Pointer userdata);
455 extern void AdjustFeaturesForGaps (IteM i);
456 extern void LoadTPAAccessionNumbersFromFile (IteM i);
457 extern void LoadSecondaryAccessionNumbersFromFile (IteM i);
458 extern void LoadHistoryAccessionNumbersFromFile (IteM i);
459 extern void LoadOrganismModifierTable (IteM i);
460 extern void LoadTaxConsult (IteM i);
461 extern void ExportOrganismTable (IteM i);
462 extern void LoadFeatureQualifierTable (IteM i);
463
464 extern void AddCodonListTotRNA (tRNAPtr trna, ValNodePtr codons);
465
466 extern void RemoveRedundantProproteinMiscFeats (IteM i);
467 extern void AddTypeStrainCommentsToAll (IteM i);
468 extern void AddTypeStrainCommentsWithConstraint (IteM i);
469 extern void RemoveSequencesFromAlignment (IteM i);
470 extern void RemoveSequencesFromRecord (IteM i);
471
472 extern void ParseFileToSource (IteM i);
473 extern void AddModToOrg (IteM i);
474 extern void AddModToOrgBaseForm (BaseFormPtr bfp);
475 extern void ChangeTargetBaseForm (BaseFormPtr bfp);
476
477
478 extern void ParseInMoreProteins (IteM i);
479 extern void ParseInNucUpdates (IteM i);
480 extern void ParseInOligoPrimers (IteM i);
481 extern void ParseInMoreMRNAs (IteM i);
482
483 extern void RecomputeSuggestEx (Uint2 entityID, Boolean fix_genes, Boolean recompute_all);
484 extern void RecomputeSuggest (IteM i);
485 extern void RecomputeSuggestFixGenes (IteM i);
486 extern void RetranslateCdRegionsEx (
487 Uint2 entityID,
488 Boolean include_stop,
489 Boolean no_stop_at_end_of_complete_cds );
490 extern void RetranslateCdRegionsNoStop (IteM i);
491 extern void RetranslateCdRegionsDoStop (IteM i);
492 extern void RetranslateCdRegionsNoStopExceptEndCompleteCDS (IteM i);
493 extern void AddGlobalCodeBreak (IteM i);
494 extern void ParseCodonQualToCodeBreak (IteM i);
495 extern void CorrectCDSGenCodes (IteM i);
496 /* extern void CorrectCDSStartCodon (IteM i); */
497 /* extern Boolean RetranslateOneCDS (SeqFeatPtr sfp, Uint2 entityID, Boolean include_stop); */
498 extern void UpdateProteinsFromCDS (IteM i);
499
500 extern void AutoDef (IteM i);
501 extern void AutoDefWithOptions (IteM i);
502 extern void AutoDefWithoutModifiers (IteM i);
503 extern void AutoDefBaseFormCommon (BaseFormPtr bfp, Boolean use_form, Boolean use_modifiers);
504 extern void AutoDefStrain (BaseFormPtr bfp);
505 extern void AutoDefMiscFeat (BaseFormPtr bfp);
506 extern void AutoDefToolBtn (ButtoN b);
507 extern void AutoDefOptionsToolBtn (ButtoN b);
508 extern void AutoDefStrainToolBtn (ButtoN b);
509 extern void AutoDefMiscFeatToolBtn (ButtoN b);
510 extern void AutoDefEntityIDNoOptions (Uint2 entityID, Boolean use_modifiers);
511 extern void AutoDefId (Uint2 entityID);
512
513 extern void RemoveDefLinesToolBtn (ButtoN b);
514 extern void FindStringProcToolBtn (ButtoN b);
515 extern void FindFlatfileProcToolBtn (ButtoN b);
516 extern void ResolveExistingLocalIDsToolBtn (ButtoN b);
517 extern void GroupExplodeToolBtn (ButtoN b);
518
519 extern Int2 LIBCALLBACK MakeGroupsOf200 (Pointer data);
520
521 extern void SetBestFrame (SeqFeatPtr sfp);
522 extern Boolean SetBestFrameByLocation (SeqFeatPtr sfp);
523
524 extern void ViewAlignmentSummary (IteM i);
525
526 extern void SetupEditSecondary (MenU m, BaseFormPtr bfp);
527 extern void EditLocusProc (IteM i);
528
529 extern ValNodePtr BuildDescriptorValNodeList (void);
530
531 extern void RemoveDescriptor (IteM i);
532
533 extern void SelectDescriptor (IteM i);
534 extern void SelectBioseq (IteM i);
535 extern void SelectPubs (IteM i);
536
537 extern void FuseFeature (IteM i);
538
539 extern void MakeExonsFromCDSIntervals (IteM i);
540 extern void MakeExonsFromMRNAIntervals (IteM i);
541
542 extern Int2 LIBCALLBACK CreateDeleteByTextWindow (Pointer data);
543 extern Int2 LIBCALLBACK CreateSegregateByTextWindow (Pointer data);
544 extern Int2 LIBCALLBACK SegregateSetsByField (Pointer data);
545 extern Int2 LIBCALLBACK CreateSegregateByFeatureWindow (Pointer data);
546 extern Int2 LIBCALLBACK CreateSegregateByDescriptorWindow (Pointer data);
547 extern Int2 LIBCALLBACK CreateSegregateByMoleculeTypeWindow (Pointer data);
548 extern Int2 LIBCALLBACK CreateSegregateByIdWindow (Pointer data);
549 extern Int2 LIBCALLBACK SequesterSequences (Pointer data);
550 extern Int2 LIBCALLBACK RemoveExtraneousSets (Pointer data);
551 extern void ReverseComplementBioseqAndFeats (BioseqPtr bsp, Uint2 entityID);
552 extern void RemoveOrphanProteins (Uint2 entityID, SeqEntryPtr sep);
553 extern void RemoveTextInsideString (IteM i);
554 extern void RemoveTextOutsideString (IteM i);
555
556 extern void BioseqViewFormToolBar (GrouP h);
557
558 extern void FindStringProc (IteM i);
559 extern void FindFlatfileProc (IteM i);
560 extern void FindGeneProc (IteM i);
561 extern void FindProtProc (IteM i);
562 extern void FindPosProc (IteM i);
563
564 extern void SimpleUniVecScreenProc (IteM i);
565 extern void SimpleUniVecCoreScreenProc (IteM i);
566
567 extern Boolean MeetsStringConstraint (SeqFeatPtr sfp, CharPtr str, Boolean case_insensitive);
568
569 extern Boolean SaveSeqSubmitProc (BaseFormPtr bfp, Boolean saveAs);
570
571 extern void ExciseString (CharPtr str, CharPtr from, CharPtr to);
572 extern void MakeSearchStringFromAlist (CharPtr str, CharPtr name);
573 extern void AddToSubSource (BioSourcePtr biop, CharPtr title, CharPtr label, Uint1 subtype);
574 extern void AddToOrgMod (BioSourcePtr biop, CharPtr title, CharPtr label, Uint1 subtype);
575 extern Boolean AutomaticProteinProcess (SeqEntryPtr esep, SeqEntryPtr psep,
576 Int2 code, Boolean makeMRNA,
577 SeqLocPtr use_this);
578
579 extern CharPtr repackageMsg;
580 extern BioseqPtr updateTargetBspKludge;
581 extern SeqEntryPtr globalsep;
582 extern Uint2 globalEntityID;
583 extern Char globalPath [PATH_MAX];
584 extern ForM startupForm;
585 extern SeqViewProcs seqviewprocs;
586
587 extern void CommonFetchFromNet (BtnActnProc actn, BtnActnProc cancel);
588 extern void FetchFromNet (ButtoN b);
589 extern Boolean SequinEntrezInit (CharPtr appl_id, Boolean no_warnings, BoolPtr is_network);
590 extern void JustRegisterSeqEntry (BaseFormPtr bfp, Boolean freeit);
591 extern void JustRegisterSeqEntryBtn (ButtoN b);
592 extern void AddSubmitBlockToSeqEntry (ForM f);
593
594 extern void SqnReadAlignView (BaseFormPtr bfp, BioseqPtr target_bsp, SeqEntryPtr source_sep, Boolean do_update);
595 extern void DownloadAndUpdateProc (ButtoN b);
596 extern void DownloadAndExtendProc (ButtoN b);
597 extern void UpdateSeqAfterDownload (BaseFormPtr bfp, BioseqPtr oldbsp, BioseqPtr newbsp);
598 extern void ExtendSeqAfterDownload (BaseFormPtr bfp, BioseqPtr oldbsp, BioseqPtr newbsp);
599 extern void NewUpdateSequence (IteM i);
600 extern void NewExtendSequence (IteM i);
601
602 extern void FastaNucDirectToSeqEdProc (IteM i);
603
604 extern void ParseCodonsFromtRNAComment (IteM i);
605 extern void ParseAntiCodonsFromtRNAComment (IteM i);
606
607 extern void RemoveAlignment (IteM i);
608 extern void RemoveGraph (IteM i);
609 extern void RemoveSeqAnnotIDs (IteM i);
610 extern void RemoveSeqAnnotLOCs (IteM i);
611
612 extern void RemoveProteins (IteM i);
613 extern void RemoveProteinsAndRenormalize (IteM i);
614
615 extern void GlobalAddTranslExcept (IteM i);
616 extern void AddTranslExceptWithComment (IteM i);
617
618 extern const char *nucleotide_alphabet;
619 extern const char *protein_alphabet;
620 extern void ReadAlignment (IteM i);
621 extern SeqEntryPtr SeqEntryFromAlignmentFile (FILE *fp, TSequenceInfoPtr sequence_info, Uint1 moltype,
622 CharPtr no_org_err_msg);
623
624 extern SeqAlignPtr Sqn_GlobalAlignTwoSeq (BioseqPtr bsp1, BioseqPtr bsp2, BoolPtr revcomp);
625
626 extern void SqnNewAlign (BioseqPtr bsp1, BioseqPtr bsp2, SeqAlignPtr PNTR salp);
627
628 extern void ProduceAlignmentNotes (TAlignmentFilePtr afp, TErrorInfoPtr error_list);
629
630 extern void RemoveAlignmentsWithSequence (BioseqPtr bsp, Uint2 input_entityID);
631 extern void FlipEntireAlignmentIfAllSequencesFlipped (SeqAnnotPtr sap, Pointer userdata);
632
633 #ifndef WIN_MAC
634 extern void CreateSqnInitialFormMenus (WindoW w);
635 #endif
636
637 #define NUM_PAGES 8
638
639 typedef struct nucprotassoc {
640 Int4 position;
641 SeqLocPtr loc;
642 struct nucprotassoc PNTR next;
643 } NucProtAssocData, PNTR NucProtAssocPtr;
644
645 typedef struct sequencesform {
646 FORM_MESSAGE_BLOCK
647 GrouP pages [NUM_PAGES];
648 Int2 currentPage;
649 Int2 tagFromPage [NUM_PAGES];
650 Int2 numPages;
651 DialoG tbs;
652
653 Uint1 dnamolfrommolinfo;
654 EnumFieldAssoc PNTR moltypeAlist;
655 ButtoN makeAlign;
656 DialoG dnaseq;
657
658 Int2 seqPackage;
659 Int2 seqFormat;
660 Int2 numSeqs;
661 Int2 submType;
662
663 ButtoN protTechBoth;
664 ButtoN partialN;
665 ButtoN partialC;
666 Boolean makeMRNA;
667 DialoG protseq;
668
669 DialoG mrnaseq;
670 ButtoN partialmRNA5;
671 ButtoN partialmRNA3;
672
673 GrouP annotType;
674 GrouP annotGrp;
675 ButtoN partialLft;
676 ButtoN partialRgt;
677 TexT geneName;
678 PrompT protOrRnaPpt;
679 TexT protOrRnaName;
680 PrompT protDescPpt;
681 TexT protDesc;
682 TexT featcomment;
683 TexT defline;
684 ButtoN orgPrefix;
685
686 ButtoN nextBtn;
687 ButtoN prevBtn;
688 BtnActnProc goToNext;
689 BtnActnProc goToPrev;
690
691 /* These are added to add modifiers on the source tab */
692 ButtoN import_mod_btn;
693 ButtoN source_assist_btn;
694 ButtoN specify_orgs_btn;
695 ButtoN specify_locs_btn;
696 ButtoN specify_gcode_btn;
697 ButtoN specify_mgcode_btn;
698 ButtoN clear_mods_btn;
699 DoC org_doc;
700 GrouP ident_org_grp;
701 DialoG summary_dlg;
702
703 /* These allow the user to specify topology and molecule */
704 ButtoN topology_btn;
705 ButtoN molecule_btn;
706
707 /* This list pairs the proteins and nucleotides. */
708 /* It must be freed using FreeAssociationList. */
709 NucProtAssocPtr nuc_prot_assoc_list;
710
711 } SequencesForm, PNTR SequencesFormPtr;
712
713 extern ValNodePtr InsertMostUsedFeatureValNodes (ValNodePtr old_list);
714
715 extern ValNodePtr FindExactStringInStrings ( ValNodePtr strings, CharPtr value);
716
717 extern EnumFieldAssocPtr InsertMostUsedFeatureEnumFieldAssoc (
718 EnumFieldAssocPtr alist
719 );
720
721 extern ValNodePtr BuildFeatureValNodeList (
722 Boolean prefer_most_used,
723 CharPtr wild_card_name,
724 Int4 wild_card_value,
725 Boolean skip_unusual,
726 Boolean skip_import
727 );
728
729 extern void RemoveOldName (OrgRefPtr orp);
730 extern void SetTaxNameAndRemoveTaxRef (OrgRefPtr orp, CharPtr taxname);
731
732 extern void MergeToPartsJoin (IteM i);
733 extern void MergeToPartsOrdered (IteM i);
734
735 extern void InitValNodePopup (ValNodePtr list, PopuP p);
736 extern Int2 GetValNodePopup (PopuP p, ValNodePtr list);
737 extern void SetValNodePopupValue (ValNodePtr list, PopuP p, CharPtr val);
738
739 extern Uint1 FindTypeForModNameText (CharPtr cp);
740
741 typedef struct featureswithtextdata
742 {
743 Uint1 seqFeatChoice;
744 Uint1 featDefChoice;
745 CharPtr search_text;
746 Boolean case_insensitive;
747 Boolean whole_word;
748 Boolean no_text;
749 Boolean act_when_string_not_present;
750 VisitFeaturesFunc callback;
751 Pointer userdata;
752 } FeaturesWithTextData, PNTR FeaturesWithTextPtr;
753
754 typedef struct descriptorswithtextdata
755 {
756 CharPtr search_text;
757 Boolean case_insensitive;
758 Boolean whole_word;
759 Boolean no_text;
760 Boolean act_when_string_not_present;
761 VisitDescriptorsFunc callback;
762 Pointer userdata;
763 } DescriptorsWithTextData, PNTR DescriptorsWithTextPtr;
764
765
766 extern void OperateOnBioseqFeaturesWithText
767 (BioseqPtr bsp,
768 Pointer userdata);
769
770 extern void OperateOnSeqEntryFeaturesWithText (SeqEntryPtr sep, FeaturesWithTextPtr fdp);
771 extern void OperateOnSeqEntryDescriptorsWithText (SeqEntryPtr sep, DescriptorsWithTextPtr ddp);
772
773 extern LisT
774 MakeSequenceListControl
775 (GrouP g,
776 SeqEntryPtr sep,
777 Nlm_LstActnProc actn,
778 Pointer userdata,
779 Boolean show_nucs,
780 Boolean show_prots);
781 extern ValNodePtr GetSelectedSequenceList (LisT l);
782 extern void SelectAllSequencesInListCtrl (LisT l);
783 extern void UnSelectAllSequencesInListCtrl (LisT l);
784 extern void OffsetLocation (SeqLocPtr loc, Int4 offset, SeqIdPtr sip);
785
786 extern CharPtr kSubmitterUpdateText;
787 extern CharPtr kIndexerUpdateVecScreenText;
788 extern Boolean CreateUpdateCitSubFromBestTemplate (SeqEntryPtr top_sep, SeqEntryPtr upd_sep, CharPtr update_txt);
789 extern void AddCitSubToUpdatedSequence (BioseqPtr upd_bsp, Uint2 input_entityID, CharPtr update_txt);
790
791 extern Boolean AlistMessage (EnumFieldAssocPtr al, UIEnumPtr val, UIEnum dflt, CharPtr mssg);
792
793 extern void LogCDSAmbiguousFrame (LogInfoPtr lip, SeqFeatPtr sfp);
794
795 extern void LoadGenomeProjectIDsFromFile (IteM i);
796 extern void RemoveEmptyGenomeProjectIDs (IteM i);
797 extern void RemoveGenomeProjectIDs (IteM i);
798
799 extern CharPtr SourceQualValNodeName (ValNodePtr vnp);
800 extern ValNodePtr SourceQualValNodeDataCopy (ValNodePtr vnp);
801 extern Boolean SourceQualValNodeMatch (ValNodePtr vnp1, ValNodePtr vnp2);
802
803 extern ValNodePtr GetSourceQualDescList (Boolean get_subsrc, Boolean get_orgmod, Boolean get_discouraged, Boolean get_discontinued);
804
805 extern void FeatureRemove (IteM i);
806 extern void ConvertFeatures (IteM i);
807 extern void SelectFeatures (IteM i);
808 extern void ReverseFeatureIntervals (IteM i);
809 extern void ParseDefLineToSourceQual (IteM i);
810 extern void ParseTaxnameToSourceQual (IteM i);
811 extern void ParseFlatfileToSourceQual (IteM i);
812 extern void ParseLocalIDToSourceQual (ButtoN b);
813 extern void FeatureEvidenceEditor (IteM i);
814 extern void FeatureExceptionEditor (IteM i);
815 extern void FeaturePartialEditor (IteM i);
816 extern void FeatureStrandEditor (IteM i);
817 extern void FeatureCitationEditor (IteM i);
818 extern void FeatureExperimentEditor (IteM i);
819 extern void FeatureInferenceEditor (IteM i);
820 extern void FeaturePseudoEditor (IteM i);
821 extern void ApplySourceQual (IteM i);
822 extern void PublicApplySourceQual (IteM i);
823 extern void EditSourceQual (IteM i);
824 extern void PublicEditSourceQual (IteM i);
825 extern void ConvertSourceQual (IteM i);
826 extern void SwapSourceQual (IteM i);
827 extern void RemoveSourceQual (IteM i);
828 extern void ApplyCDSGeneProt (IteM i);
829 extern void PublicApplyCDSGeneProt (IteM i);
830 extern void EditCDSGeneProt (IteM i);
831 extern void PublicEditCDSGeneProt (IteM i);
832 extern void ConvertCDSGeneProt (IteM i);
833 extern void SwapCDSGeneProt (IteM i);
834 extern void RemoveCDSGeneProt (IteM i);
835 extern void ApplyRNAQual (IteM i);
836 extern void PublicApplyRNAQual (IteM i);
837 extern void EditRNAQual (IteM i);
838 extern void PublicEditRNAQual (IteM i);
839 extern void ConvertRNAQual (IteM i);
840 extern void SwapRNAQual (IteM i);
841 extern void RemoveRNAQual (IteM i);
842 extern void ApplyGBQual (IteM i);
843 extern void PublicApplyGBQual (IteM i);
844 extern void EditGBQual (IteM i);
845 extern void PublicEditGBQual (IteM i);
846 extern void ConvertGBQual (IteM i);
847 extern void SwapGBQual (IteM i);
848 extern void RemoveGBQual (IteM i);
849 extern void ConvertLocusTagToOldLocusTag (IteM i);
850 extern void ExportLastLineage (IteM i);
851
852 extern void MacroApplyGBQual (IteM i);
853 extern void MacroApplySourceQual (IteM i);
854 extern void MacroApplyCDSGeneProt (IteM i);
855 extern void PublicMacroApplyCDSGeneProt (IteM i);
856 extern void MacroApplyRNAQual (IteM i);
857
858 extern void MacroRemoveGBQual (IteM i);
859 extern void MacroRemoveSourceQual (IteM i);
860 extern void MacroRemoveCDSGeneProt (IteM i);
861 extern void MacroRemoveRNAQual (IteM i);
862
863 extern void MacroConvertGBQual (IteM i);
864 extern void MacroConvertSourceQual (IteM i);
865 extern void MacroConvertCDSGeneProt (IteM i);
866 extern void MacroConvertRNAQual (IteM i);
867
868 extern void MacroSwapGBQual (IteM i);
869 extern void MacroSwapSourceQual (IteM i);
870 extern void MacroSwapCDSGeneProt (IteM i);
871 extern void MacroSwapRNAQual (IteM i);
872
873 extern void MacroEditGBQual (IteM i);
874 extern void MacroEditSourceQual (IteM i);
875 extern void MacroEditCDSGeneProt (IteM i);
876 extern void PublicMacroEditCDSGeneProt (IteM i);
877 extern void MacroEditRNAQual (IteM i);
878
879 extern void MacroApplyStructuredComment (IteM i);
880 extern void MacroEditStructuredComment (IteM i);
881 extern void MacroRemoveStructuredComment (IteM i);
882
883 extern void PublicMacroApplyStructuredComment (IteM i);
884 extern void PublicMacroEditStructuredComment (IteM i);
885
886
887 /* constraint values */
888 #define LOCATION_CONSTRAINT_WHOLE_INTERVAL 1
889 #define LOCATION_CONSTRAINT_START_ENDPOINT 2
890 #define LOCATION_CONSTRAINT_STOP_ENDPOINT 3
891
892 #define LOCATION_CONSTRAINT_ANY 1
893 #define LOCATION_CONSTRAINT_UPSTREAM 2
894 #define LOCATION_CONSTRAINT_DOWNSTREAM 3
895 #define LOCATION_CONSTRAINT_CONTAINED 4
896 #define LOCATION_CONSTRAINT_NOT_IN 5
897 #define LOCATION_CONSTRAINT_OVERLAP 6
898 #define LOCATION_CONSTRAINT_EQUAL 7
899
900 #define LOCATION_CONSTRAINT_ANY_STRAND 1
901 #define LOCATION_CONSTRAINT_PLUS_STRAND 2
902 #define LOCATION_CONSTRAINT_MINUS_STRAND 3
903
904 #define LOCATION_CONSTRAINT_ANY_SEQ 1
905 #define LOCATION_CONSTRAINT_NUC_SEQ 2
906 #define LOCATION_CONSTRAINT_PROT_SEQ 3
907
908 typedef struct LocationConstraintX
909 {
910 Int4 left;
911 Int4 right;
912 Int4 interval_end_choice;
913 Int4 match_choice;
914 Int4 strand;
915 Int4 sequence_type;
916 } LocationConstraintXData, PNTR LocationConstraintXPtr;
917
918 typedef enum
919 {
920 eStringConstraintContains = 1,
921 eStringConstraintEquals,
922 eStringConstraintStarts,
923 eStringConstraintEnds,
924 eStringConstraintInList
925 } EStringConstraintMatchLocation;
926
927 typedef struct stringconstraint
928 {
929 CharPtr match_text;
930 Int4 match_location;
931 Boolean insensitive;
932 Boolean whole_word;
933 Boolean not_present;
934 } StringConstraintData, PNTR StringConstraintXPtr;
935
936 extern StringConstraintXPtr StringConstraintXFree (StringConstraintXPtr scp);
937
938 typedef struct pseudoconstraint
939 {
940 Boolean is_pseudo;
941 Int4 featdef_type;
942 } PseudoConstraintData, PNTR PseudoConstraintPtr;
943
944 #define CHOICE_CONSTRAINT_ANY 1
945 #define CHOICE_CONSTRAINT_QUAL_PRESENT 3
946 #define CHOICE_CONSTRAINT_STRING 5
947 #define CHOICE_CONSTRAINT_MATCH 7
948 #define CHOICE_CONSTRAINT_PSEUDO 9
949
950 typedef struct choiceconstraint
951 {
952 Int4 constraint_type;
953 ValNodePtr qual_choice;
954 ValNodePtr qual_choice_match;
955 StringConstraintXPtr string_constraint;
956 PseudoConstraintPtr pseudo_constraint;
957 FreeValNodeProc free_vn_proc;
958 CopyValNodeDataProc copy_vn_proc;
959 } ChoiceConstraintData, PNTR ChoiceConstraintPtr;
960
961 extern ChoiceConstraintPtr ChoiceConstraintFree (ChoiceConstraintPtr scp);
962
963 typedef struct sequenceconstraint
964 {
965 Boolean nucs_ok;
966 Boolean prots_ok;
967
968 Int4 other_constraint_type;
969 StringConstraintXPtr string_constraint;
970 ChoiceConstraintPtr source_constraint;
971 ValNodePtr feature_list;
972
973 } SequenceConstraintXData, PNTR SequenceConstraintXPtr;
974
975 extern SequenceConstraintXPtr SequenceConstraintXFree (SequenceConstraintXPtr scp);
976 extern DialoG SequenceConstraintXDialog (GrouP g);
977 extern Boolean DoesSequenceMatchSequenceConstraintX (BioseqPtr bsp, SequenceConstraintXPtr scp);
978
979
980
981 typedef struct filterset
982 {
983 StringConstraintXPtr scp;
984 ChoiceConstraintPtr ccp;
985 LocationConstraintXPtr lcp;
986 ChoiceConstraintPtr cgp;
987 StringConstraintXPtr id_list;
988 } FilterSetData, PNTR FilterSetPtr;
989
990 extern void FilterSetClearText (FilterSetPtr fsp);
991 extern FilterSetPtr FilterSetNew (void);
992 extern FilterSetPtr FilterSetFree (FilterSetPtr fsp);
993
994 extern Boolean DoesStringMatchConstraintX (CharPtr pchSource, StringConstraintXPtr scp);
995
996 typedef CharPtr (*GetFeatureFieldString) PROTO ((SeqFeatPtr, ValNodePtr, FilterSetPtr));
997 typedef void (*SetFeatureFieldString) PROTO ((SeqFeatPtr, Pointer, FilterSetPtr));
998 typedef void (*RemoveFeatureFieldString) PROTO ((SeqFeatPtr, Pointer, FilterSetPtr));
999 typedef CharPtr (*GetDescriptorFieldString) PROTO ((SeqDescrPtr, ValNodePtr, FilterSetPtr));
1000 typedef void (*SetDescriptorFieldString) PROTO ((SeqDescrPtr, Pointer, FilterSetPtr));
1001 typedef void (*RemoveDescriptorFieldString) PROTO ((SeqDescrPtr, Pointer, FilterSetPtr));
1002 typedef void (*FeatureActionProc) PROTO ((SeqFeatPtr, Pointer, FilterSetPtr));
1003 typedef void (*DescriptorActionProc) PROTO ((SeqDescrPtr, Pointer, FilterSetPtr));
1004 typedef Boolean (*OkToPreSample) PROTO ((Uint2 entityID));
1005
1006 extern void
1007 OperateOnSeqEntryConstrainedObjects
1008 (SeqEntryPtr sep,
1009 FilterSetPtr fsp,
1010 FeatureActionProc feature_action,
1011 DescriptorActionProc descriptor_action,
1012 Uint1 seqFeatChoice,
1013 Uint1 featDefChoice,
1014 Uint1 descriptorChoice,
1015 Pointer userdata);
1016
1017 extern CharPtr HandleApplyValue (CharPtr orig_text, ApplyValuePtr avp);
1018 extern ValNodePtr
1019 ApplyValueToValNodeStringList
1020 (ValNodePtr list, Int2 choice, ApplyValuePtr avp);
1021
1022 typedef Boolean (*Nlm_AcceptActnProc) PROTO((Pointer));
1023 typedef void (*Nlm_CancelActnProc) PROTO ((Pointer));
1024 typedef void (*Nlm_ClearActnProc) PROTO ((Pointer));
1025 typedef void (*Nlm_ClearTextActnProc) PROTO ((Pointer));
1026
1027 extern ValNodePtr ValNodeFuncFree (ValNodePtr vnp, FreeValNodeProc free_vn_proc);
1028
1029 typedef struct textportion
1030 {
1031 Int4 start_choice;
1032 CharPtr start_text;
1033 Int4 end_choice;
1034 CharPtr end_text;
1035 Boolean insensitive;
1036 Boolean whole_word;
1037 } TextPortionXData, PNTR TextPortionXPtr;
1038
1039 extern TextPortionXPtr TextPortionXFree (TextPortionXPtr tp);
1040 extern void
1041 FindTextPortionXInString
1042 (CharPtr str,
1043 TextPortionXPtr tp,
1044 CharPtr PNTR ploc,
1045 Int4Ptr plen);
1046
1047 extern DialoG TextPortionXDialogEx (GrouP h, Boolean inside, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata);
1048 extern DialoG TextPortionXDialog (GrouP h);
1049
1050 #define CONVERT_TYPE_MOVE 0
1051 #define CONVERT_TYPE_COPY 1
1052 #define CONVERT_TYPE_SWAP 2
1053 #define CONVERT_TYPE_PARSE 3
1054
1055 typedef struct convertfield
1056 {
1057 ValNodePtr src_field_list;
1058 ValNodePtr dst_field_list;
1059 ExistingTextPtr etp;
1060 Int2 convert_type;
1061 GetFeatureFieldString get_str_func;
1062 SetFeatureFieldString set_str_func;
1063 RemoveFeatureFieldString remove_str_func;
1064 GetDescriptorFieldString get_d_str_func;
1065 SetDescriptorFieldString set_d_str_func;
1066 RemoveDescriptorFieldString remove_d_str_func;
1067 NameFromValNodeProc name_field_func;
1068 FilterSetPtr fsp;
1069 TextPortionXPtr text_portion;
1070 Boolean strip_name_from_text;
1071 Boolean remove_parsed;
1072 } ConvertFieldData, PNTR ConvertFieldPtr;
1073
1074 extern DialoG StringConstraintDialogX (GrouP h, CharPtr label, Boolean clear_btn);
1075 extern DialoG LocationConstraintXDialog (GrouP h, Boolean show_interval_controls, Boolean clear_btn);
1076
1077 enum pub_field_nums
1078 {
1079 PUB_FIELD_ANY = 0,
1080 PUB_FIELD_TITLE,
1081 PUB_FIELD_FIRST_NAME,
1082 PUB_FIELD_MIDDLE_INITIAL,
1083 PUB_FIELD_LAST_NAME,
1084 PUB_FIELD_SUFFIX,
1085 PUB_FIELD_CONSORTIUM,
1086 PUB_FIELD_INSTITUTION,
1087 PUB_FIELD_DEPARTMENT,
1088 PUB_FIELD_ADDRESS,
1089 PUB_FIELD_CITY,
1090 PUB_FIELD_STATE,
1091 PUB_FIELD_COUNTRY,
1092 PUB_FIELD_ZIP,
1093 PUB_FIELD_EMAIL,
1094 PUB_FIELD_PHONE,
1095 PUB_FIELD_FAX
1096 };
1097
1098 enum pub_status
1099 {
1100 PUB_STAT_ANY = 0,
1101 PUB_STAT_PUBLISHED,
1102 PUB_STAT_UNPUBLISHED,
1103 PUB_STAT_INPRESS,
1104 PUB_STAT_PUBLISHED_SUBMISSION
1105 };
1106
1107 typedef struct pubconstraint
1108 {
1109 CharPtr find_str;
1110 Int4 field_for_find;
1111 Boolean insensitive_to_case;
1112 Int4 pub_status;
1113 } PubConstraintData, PNTR PubConstraintPtr;
1114
1115 extern PubConstraintPtr PubConstraintFree (PubConstraintPtr pcp);
1116 extern DialoG PubConstraintDialog (GrouP h);
1117
1118 extern DialoG AcceptCancelDialog
1119 (GrouP parent,
1120 Nlm_AcceptActnProc accept_actn,
1121 Nlm_CancelActnProc cancel_actn,
1122 Nlm_ClearActnProc clear_actn,
1123 Nlm_ClearTextActnProc clear_text_actn,
1124 Pointer userdata,
1125 WindoW w);
1126 extern void EnableAcceptCancelDialogAccept (DialoG d);
1127 extern void DisableAcceptCancelDialogAccept (DialoG d);
1128
1129 /* note - set sep to NULL if you don't want to limit the list to the features present */
1130 extern ValNodePtr BuildFeatureDialogList (Boolean list_most_used_first, SeqEntryPtr sep);
1131
1132 extern DialoG
1133 FeatureSelectionDialog
1134 (GrouP h,
1135 Boolean allow_multi,
1136 Nlm_ChangeNotifyProc change_notify,
1137 Pointer change_userdata);
1138
1139 extern DialoG
1140 FeatureSelectionDialogEx
1141 (GrouP h,
1142 Boolean allow_multi,
1143 SeqEntryPtr sep,
1144 Nlm_ChangeNotifyProc change_notify,
1145 Pointer change_userdata);
1146
1147 extern DialoG
1148 DescriptorSelectionDialog
1149 (GrouP h,
1150 Boolean allow_multi,
1151 Nlm_ChangeNotifyProc change_notify,
1152 Pointer change_userdata);
1153
1154 extern DialoG SourceQualTypeSelectionDialog
1155 (GrouP h,
1156 Boolean allow_multi,
1157 Nlm_ChangeNotifyProc change_notify,
1158 Pointer change_userdata);
1159
1160 extern DialoG
1161 FeatureFieldSelectionDialog
1162 (GrouP h,
1163 Boolean allow_none,
1164 Int4 num_fields,
1165 CharPtr PNTR field_names,
1166 Nlm_ChangeNotifyProc change_notify,
1167 Pointer change_userdata);
1168
1169 extern DialoG
1170 GeneFieldSelectionDialog
1171 (GrouP h,
1172 Boolean allow_none,
1173 Nlm_ChangeNotifyProc change_notify,
1174 Pointer change_userdata);
1175 extern CharPtr GetGeneFieldString (SeqFeatPtr sfp, ValNodePtr gene_field, FilterSetPtr fsp);
1176 extern void RemoveGeneFieldString (SeqFeatPtr sfp, ValNodePtr gene_field);
1177
1178 extern DialoG
1179 MRNAFieldSelectionDialog
1180 (GrouP h,
1181 Boolean allow_none,
1182 Nlm_ChangeNotifyProc change_notify,
1183 Pointer change_userdata);
1184 extern CharPtr GetmRNAFieldString (SeqFeatPtr sfp, ValNodePtr mrna_field, FilterSetPtr fsp);
1185 extern void RemovemRNAFieldString (SeqFeatPtr sfp, ValNodePtr mrna_field);
1186 extern CharPtr GetCDSFieldString (SeqFeatPtr sfp, ValNodePtr cds_field, FilterSetPtr fsp);
1187 extern void RemoveCDSFieldString (SeqFeatPtr sfp, ValNodePtr cds_field);
1188 extern CharPtr GetProteinFieldString (SeqFeatPtr sfp, ValNodePtr protein_field, FilterSetPtr fsp);
1189
1190 extern DialoG
1191 ProteinFieldSelectionDialog
1192 (GrouP h,
1193 Boolean allow_none,
1194 Nlm_ChangeNotifyProc change_notify,
1195 Pointer change_userdata);
1196
1197 extern DialoG
1198 CDSGeneProtFieldSelectionDialog
1199 (GrouP h,
1200 Boolean allow_none,
1201 Nlm_ChangeNotifyProc change_notify,
1202 Pointer change_userdata);
1203 extern CharPtr GetCDSGeneProtField (SeqFeatPtr sfp, ValNodePtr vnp, FilterSetPtr fsp);
1204 extern Boolean
1205 SetCDSGeneProtField
1206 (SeqFeatPtr sfp,
1207 ValNodePtr vnp,
1208 ApplyValuePtr avp,
1209 FilterSetPtr fsp);
1210 extern void RemoveCDSGeneProtField (SeqFeatPtr sfp, ValNodePtr vnp, FilterSetPtr fsp);
1211 extern Uint2 FeatDefTypeFromFieldList (ValNodePtr vnp);
1212 extern Boolean IsCDSetProteinProductChoice (ValNodePtr vnp);
1213 extern CharPtr GetCDSGeneProtFieldName (ValNodePtr vnp);
1214
1215 extern DialoG
1216 RNAAddFieldSelectionDialog
1217 (GrouP h,
1218 Boolean allow_multi,
1219 Nlm_ChangeNotifyProc change_notify,
1220 Pointer change_userdata);
1221
1222 extern DialoG
1223 RNARemoveFieldSelectionDialog
1224 (GrouP h,
1225 Boolean allow_multi,
1226 Nlm_ChangeNotifyProc change_notify,
1227 Pointer change_userdata);
1228
1229 extern DialoG
1230 RNAFieldSelectionDialog
1231 (GrouP h,
1232 Boolean allow_multi,
1233 Nlm_ChangeNotifyProc change_notify,
1234 Pointer change_userdata);
1235
1236 extern CharPtr GetRNAFieldString (SeqFeatPtr sfp, ValNodePtr vnp, FilterSetPtr fsp);
1237
1238 extern DialoG
1239 ExonFieldSelectionDialog
1240 (GrouP h,
1241 Boolean allow_none,
1242 Nlm_ChangeNotifyProc change_notify,
1243 Pointer change_userdata);
1244 extern CharPtr GetExonFieldString (SeqFeatPtr sfp, ValNodePtr exon_field);
1245 extern void RemoveExonFieldString (SeqFeatPtr sfp, ValNodePtr exon_field);
1246
1247 typedef DialoG (*FeatureFieldSelectionProc) PROTO((GrouP, Boolean, Nlm_ChangeNotifyProc, Pointer));
1248
1249 extern DialoG FeatureFieldChoiceDialog
1250 (GrouP h,
1251 FeatureFieldSelectionProc make_fieldlist_dlg,
1252 Boolean offer_to_remove,
1253 Nlm_ChangeNotifyProc change_notify,
1254 Pointer change_userdata);
1255
1256 extern DialoG BioSourceStringDialog
1257 (GrouP h,
1258 Boolean allow_multi,
1259 Nlm_ChangeNotifyProc change_notify,
1260 Pointer change_userdata);
1261
1262 extern DialoG
1263 ConstraintChoiceDialog
1264 (GrouP h,
1265 FeatureFieldSelectionProc present_func,
1266 FeatureFieldSelectionProc string_func,
1267 FreeValNodeProc free_vn_proc,
1268 CopyValNodeDataProc copy_vn_proc,
1269 CharPtr present_name,
1270 CharPtr text_name,
1271 Boolean clear_btn,
1272 Boolean use_pseudo);
1273 extern DialoG SourceConstraintDialogX (GrouP h, Boolean clear_btn);
1274 extern Boolean DoesOneSourceMatchConstraint (BioSourcePtr biop, ChoiceConstraintPtr scp);
1275 extern DialoG CDSGeneProtConstraintDialog (GrouP h, Boolean clear_btn);
1276 extern DialoG
1277 FilterGroup
1278 (GrouP h,
1279 Boolean has_string_constraint,
1280 Boolean has_source_constraint,
1281 Boolean has_location_constraint,
1282 Boolean has_cds_gene_prot_constraint,
1283 Boolean has_id_list_constraint,
1284 CharPtr string_constraint_label);
1285
1286 typedef struct parsefield
1287 {
1288 Int4 parse_field_type;
1289 ValNodePtr feature_field;
1290 ValNodePtr feature_subtype;
1291 Boolean do_feat;
1292 Boolean do_desc;
1293 } ParseFieldData, PNTR ParseFieldPtr;
1294
1295 extern ParseFieldPtr ParseFieldFree (ParseFieldPtr pfp);
1296
1297 extern DialoG ParseFieldDestDialogEx
1298 (GrouP h,
1299 Nlm_ChangeNotifyProc change_notify,
1300 Pointer change_userdata,
1301 Boolean is_search_field,
1302 Boolean include_dbxref);
1303 extern DialoG ParseFieldDestDialog
1304 (GrouP h,
1305 Nlm_ChangeNotifyProc change_notify,
1306 Pointer change_userdata);
1307 extern DialoG ParseFieldSourceDialog
1308 (GrouP h,
1309 SeqEntryPtr sep,
1310 Nlm_ChangeNotifyProc change_notify,
1311 Pointer change_userdata);
1312
1313 extern DialoG SampleDialog (GrouP h);
1314
1315 extern NucProtAssocPtr FreeAssociationList (NucProtAssocPtr assoc_list);
1316 extern NucProtAssocPtr
1317 AssignProteinsForSequenceSet
1318 (SeqEntryPtr nuc_list,
1319 SeqEntryPtr prot_list,
1320 Boolean always_review);
1321
1322 extern CharPtr
1323 CreateListMessage
1324 (CharPtr msg_before,
1325 CharPtr msg_after,
1326 ValNodePtr id_list);
1327
1328 extern void StringToLower (CharPtr str);
1329
1330 extern Boolean ExportSubmitterBlockTemplate (SeqEntryPtr sep, SeqDescrPtr sdp);
1331 extern DialoG OrganismSelectionDialog (GrouP parent, CharPtr org_name);
1332
1333 typedef struct getsample
1334 {
1335 GetFeatureFieldString fieldstring_func;
1336 GetDescriptorFieldString descrstring_func;
1337
1338 ValNodePtr feat_dest_list;
1339 ValNodePtr descr_dest_list;
1340
1341 ValNodePtr requested_field;
1342 FreeValNodeProc free_vn_proc;
1343 CopyValNodeDataProc copy_vn_proc;
1344
1345 CharPtr sample_text;
1346 Int4 num_found;
1347 Boolean all_same;
1348 } GetSampleData, PNTR GetSamplePtr;
1349
1350 extern GetSamplePtr GetSampleNew (void);
1351 extern GetSamplePtr GetSampleFree (GetSamplePtr gsp);
1352
1353
1354 extern GetSamplePtr
1355 GetSampleForSeqEntry
1356 (SeqEntryPtr sep,
1357 Uint2 entityID,
1358 ParseFieldPtr dst_field_data,
1359 FilterSetPtr fsp);
1360
1361
1362 extern void ApplyGDSKeyword (IteM i);
1363 extern void ApplyTPAInferentialKeyword (IteM i);
1364 extern void ApplyTPAExperimentalKeyword (IteM i);
1365 extern void ApplyTPAReassemblyKeyword (IteM i);
1366 extern void RemoveKeywordWithStringConstraint (IteM i);
1367
1368 #if defined(OS_UNIX) || defined(OS_MSWIN)
1369 extern Int2 LIBCALLBACK CorrectRNAStrandedness (Pointer data);
1370 extern Int2 LIBCALLBACK CorrectRNAStrandednessUseSmart (Pointer data);
1371 #endif
1372
1373 extern void AddGeneFeatureFromTitle (SeqEntryPtr nucsep, CharPtr ttl, SeqLocPtr slp);
1374 extern SeqFeatPtr AddProteinFeatureFromDefline (SeqEntryPtr psep, CharPtr title);
1375 extern void AddCodingRegionFieldsFromProteinTitle (CdRegionPtr crp, CharPtr title, CharPtr PNTR pcomment);
1376 extern Boolean ReplaceImportModifierName (CharPtr PNTR orig_name, Int4 col_num);
1377
1378 extern SeqEntryPtr
1379 ImportSequencesFromFileEx
1380 (FILE *fp,
1381 SeqEntryPtr sep_list,
1382 Boolean is_na,
1383 Boolean parse_id,
1384 CharPtr supplied_id_txt,
1385 ValNodePtr PNTR err_msg_list,
1386 BoolPtr chars_stripped,
1387 Boolean allow_char_stripping);
1388
1389 extern SeqEntryPtr
1390 ImportSequencesFromFile
1391 (FILE *fp,
1392 SeqEntryPtr sep_list,
1393 Boolean is_na,
1394 Boolean parse_id,
1395 CharPtr supplied_id_txt,
1396 ValNodePtr PNTR err_msg_list,
1397 BoolPtr chars_stripped);
1398
1399 extern void TestUpdateSequenceIndexer (IteM i);
1400 extern void TestUpdateSequenceSubmitter (IteM i);
1401 extern void TestExtendSequenceIndexer (IteM i);
1402 extern void TestExtendSequenceSubmitter (IteM i);
1403 extern void TestUpdateSequenceSetIndexer (IteM i);
1404 extern void TestUpdateSequenceSetSubmitter (IteM i);
1405 extern void TestExtendSequenceSetIndexer (IteM i);
1406 extern void TestExtendSequenceSetSubmitter (IteM i);
1407 extern void UpdateSequenceViaDownloadIndexer (IteM i);
1408 extern void UpdateSequenceViaDownloadSubmitter (IteM i);
1409
1410 extern void
1411 ListBioseqsInSeqEntry
1412 (SeqEntryPtr sep,
1413 Boolean is_na,
1414 Int4Ptr seq_num,
1415 ValNodePtr PNTR bioseq_list);
1416
1417 extern void RecomputeSuggestedIntervalsForCDS
1418 (Uint2 entityID,
1419 BioseqPtr PNTR batchbsp,
1420 Int4Ptr count,
1421 MonitorPtr mon,
1422 SeqFeatPtr sfp);
1423
1424 typedef struct recompdata {
1425 Int4 count;
1426 MonitorPtr mon;
1427 BioseqPtr batchbsp;
1428 Boolean include_stop;
1429 Boolean no_stop_at_end_of_complete_cds;
1430 Boolean fix_genes;
1431 Uint2 entityID;
1432 } RecompData, PNTR RecompDataPtr;
1433
1434 extern void RecomputeIntervalsForOneCDS (SeqFeatPtr sfp, RecompDataPtr rdp);
1435
1436
1437 extern CharPtr ExtendProtein3
1438 (SeqFeatPtr sfp,
1439 Uint2 input_entityID,
1440 Boolean force_partial);
1441
1442 extern SeqLocPtr
1443 ExpandSeqLoc
1444 (Int4 start,
1445 Int4 stop,
1446 Uint1 strand,
1447 BioseqPtr bsp,
1448 SeqLocPtr slp);
1449
1450 extern void SetSeqLocStrand (SeqLocPtr location, Uint1 strand);
1451 extern void SetPrimerBindPairStrands (IteM i);
1452 extern Boolean IsBioseqInAnyAlignment (BioseqPtr bsp, Uint2 input_entityID);
1453 extern void RemoveAlignmentsWithSequence (BioseqPtr bsp, Uint2 input_entityID);
1454 extern void FlipEntireAlignmentIfAllSequencesFlipped (SeqAnnotPtr sap, Pointer userdata);
1455
1456 extern void ConvertSelectedGapFeaturesToKnown (IteM i);
1457 extern void ConvertSelectedGapFeaturesToUnknown (IteM i);
1458 extern void CombineAdjacentGaps (IteM i);
1459
1460 extern void CombineAdjacentGapsOnBioseq (BioseqPtr bsp, Pointer userdata);
1461
1462 extern void MarkGenesWithPseudoFeaturesPseudo (IteM i);
1463
1464 typedef struct gaplocinfo
1465 {
1466 Int4 start_pos;
1467 Boolean is_known;
1468 Int4 length;
1469 Boolean replace;
1470 } GapLocInfoData, PNTR GapLocInfoPtr;
1471
1472 extern void
1473 PrepareCodingRegionLocationsForDeltaConversionCallback
1474 (BioseqPtr bsp, Pointer userdata);
1475
1476 extern void RemoveNomenclature (IteM i);
1477
1478 extern void ParseCollectionDateMonthFirst (IteM i);
1479 extern void ParseCollectionDateDayFirst (IteM i);
1480 extern void RemoveUnpublishedPublications (IteM i);
1481 extern void RemovePublishedPublications (IteM i);
1482 extern void RemoveUnindexedFeatures (IteM i);
1483 extern void CopyLocusToLocusTag (IteM i);
1484
1485 typedef struct cdsconversionopts {
1486 Boolean all_are_pseudo;
1487 Boolean remove_mrna;
1488 Boolean remove_gene;
1489 Boolean remove_transcript_id;
1490 Boolean only_pseudo;
1491 } CDSConversionOptsData, PNTR CDSConversionOptsPtr;
1492
1493 extern Boolean IsFeatInGPS (SeqFeatPtr sfp);
1494
1495 typedef struct cdstomiscfeat {
1496 Boolean viral;
1497 Boolean must_have_stops;
1498 CDSConversionOptsPtr opts;
1499 } CDStoMiscFeatData, PNTR CDStoMiscFeatPtr;
1500
1501 extern void ConvertCDSToMiscFeat (SeqFeatPtr sfp, Pointer userdata);
1502 extern void AdjustCodingRegionsEndingInGap (IteM i);
1503
1504 extern void ConvertCodingRegionsWithInternalKnownGapToMiscFeat (IteM i);
1505
1506 extern void FixOneAlignmentOverGaps (SeqAlignPtr salp, Uint2 entityID);
1507 extern void ConsolidateSegmentsOverKnownLengthGaps (SeqAlignPtr salp);
1508
1509 extern void CreateReportWindow (EDiscrepancyReportType report_type);
1510 extern void ScrollToDiscrepancyItem (ValNodePtr vnp, Pointer userdata);
1511 extern void EditDiscrepancyItem (ValNodePtr vnp, Pointer userdata);
1512 extern void WriteClickableListReport (FILE *fp, ValNodePtr discrepancy_list, Boolean show_all, Boolean use_feature_table_fmt);
1513
1514 extern void ConvertGapFeaturesToUnknown (IteM i);
1515 extern void ChangeKnownGapLength (IteM i);
1516 extern void AddFlankingNsToKnownLengthGaps (IteM i);
1517
1518 extern Int2 GetSequinAppParam (CharPtr section, CharPtr type, CharPtr dflt, CharPtr buf, Int2 buflen);
1519 extern Boolean DoBioseqFeaturesMatchSequenceConstraintX (BioseqPtr bsp, ValNodePtr feat_list, StringConstraintXPtr scp);
1520 extern Boolean DoesIDListMeetStringConstraint (SeqIdPtr sip, StringConstraintXPtr string_constraint);
1521 extern Int2 LIBCALLBACK ReorderSetByAccession (Pointer data);
1522
1523 extern Int2 LIBCALLBACK CopyDescriptorToList (Pointer data);
1524
1525 extern void MapFeaturesToProteinSequence(IteM i);
1526
1527 extern void FindContig (IteM i);
1528 extern ValNodePtr FreeSeqIdList (ValNodePtr id_list);
1529 extern void DownloadAndDisplay (Int4 uid);
1530 extern void LaunchDisplay (Uint2 entityID);
1531 extern void SetBioseqViewTargetByBioseq (BaseFormPtr bfp, BioseqPtr bsp);
1532
1533 extern Boolean ShowDeltaReport (SeqEntryPtr sep);
1534 extern void DeltaReport (IteM i);
1535
1536 extern void ParseModifiersFromDefline (IteM i);
1537 extern void ConvertLocalToGeneral(IteM i);
1538
1539 extern void FixLocusTagGeneXrefs (IteM i);
1540 extern void FixLastExonLocNoPartial (IteM i);
1541 extern void FixLastExonLocMakePartial (IteM i);
1542
1543 extern void RemoveGeneByUnderlyingFeatureType(IteM i);
1544
1545 extern void RemoveIntronLocationsFromCDS (IteM i);
1546 extern void RemoveIntronLocationsFromrRNA (IteM i);
1547 extern void RemoveIntronLocationsFromtRNA (IteM i);
1548 extern void RemoveIntronLocationsFrommRNA (IteM i);
1549
1550 extern void ReverseBioseqInAlignment (SeqAlignPtr salp, Pointer userdata);
1551
1552 extern Int2 AddSeqAlignForSeqEntry (SeqEntryPtr sep, Uint2 entityID, Boolean choose_master, Boolean use_new_blast);
1553
1554 extern ValNodePtr ChooseFeaturesForConversion (ValNodePtr clickable_list, BaseFormPtr bfp, CharPtr label1, CharPtr label2);
1555 extern void RemoveBadPubs (IteM i);
1556 extern void VecScreenTool (IteM i);
1557 extern void LogTrimmedLocation (LogInfoPtr lip, SeqLocPtr slp);
1558 extern void CalculateVectorDescription (ClickableItemPtr cip);
1559
1560 extern void BarcodeTestTool (IteM i);
1561
1562 extern Boolean RelaxedSeqIdIn (SeqIdPtr sip, SeqIdPtr sip_list);
1563
1564 extern void NewSUC (ValNodePtr suc_list, Uint2 entityID, Boolean reverse, Boolean byblock, Boolean showsequence);
1565 extern ValNodePtr GetSUCCommonList (SeqEntryPtr sep, Boolean reverse, Boolean byblock, Boolean showsequence, Boolean byqual);
1566 extern ValNodePtr CategorizeSUCBlocks (ValNodePtr head);
1567
1568 extern void MakeGeneralIDsFromLocusTags (IteM i);
1569
1570 extern void ShowClickableItemList (ValNodePtr clickable_list, BaseFormPtr bfp, CharPtr win_title, CharPtr label1, CharPtr label2);
1571
1572 extern Int4 CountChosenDiscrepancies (ValNodePtr discrepancy_list, Boolean count_all);
1573 extern void AddTranslExcept (SeqFeatPtr sfp, CharPtr cds_comment, Boolean use_strict, Boolean extend, Boolean adjust_gene);
1574
1575 enum table_data_errors
1576 {
1577 TABLE_DATA_NO_ERROR = 0,
1578 TABLE_DATA_ALREADY_HAS,
1579 TABLE_DATA_CELL_BLANK,
1580 TABLE_DATA_MULTIPLE_VALUES,
1581 TABLE_DATA_NOT_FOUND
1582 };
1583
1584 extern Boolean
1585 GetTableOptions
1586 (BaseFormPtr bfp,
1587 ValNodePtr clickable_list,
1588 CharPtr win_title,
1589 CharPtr label1,
1590 CharPtr label2,
1591 CharPtr skip_already_txt,
1592 CharPtr blanks_erase_txt,
1593 BoolPtr skip_already_has,
1594 BoolPtr blanks_erase);
1595
1596 extern void MakeCDSmRNAPairs (IteM i);
1597
1598 extern void Apply16SRNA (IteM i);
1599 extern void Apply23SRNA (IteM i);
1600 extern void Apply18SRNA (IteM i);
1601 extern void Apply28SRNA (IteM i);
1602 extern void Apply26SRNA (IteM i);
1603 extern void Apply12SRNA (IteM i);
1604 extern void ApplySmallRNA (IteM i);
1605 extern void ApplyLargeRNA (IteM i);
1606
1607 /* capitalization */
1608 extern void GetOrgNamesInRecordCallback (BioSourcePtr biop, Pointer userdata);
1609 extern void FixCapitalizationInTitle (CharPtr PNTR pTitle, Boolean first_is_upper, ValNodePtr org_names);
1610
1611 extern void ApplyRNA_ITS (IteM i);
1612
1613 extern BioSourcePtr ExtractFromDeflineToBioSource (CharPtr defline, BioSourcePtr biop);
1614 extern BioSourcePtr
1615 ExtractFromTitleToBioSourceOrgMod
1616 (CharPtr title,
1617 BioSourcePtr biop,
1618 CharPtr mod_name,
1619 Int4 subtype);
1620 extern BioSourcePtr
1621 ExtractFromTitleToBioSourceSubSource
1622 (CharPtr title,
1623 BioSourcePtr biop,
1624 CharPtr mod_name,
1625 Int4 subtype);
1626 extern BioSourcePtr
1627 ExtractFromTitleToBioSourceCommonName
1628 (CharPtr title,
1629 BioSourcePtr biop);
1630
1631 extern void CDSmRNALinkTool (IteM i);
1632 extern void RemoveFeatureLink (SeqFeatPtr sfp1, SeqFeatPtr sfp2);
1633 extern void LinkTwoFeatures (SeqFeatPtr dst, SeqFeatPtr sfp);
1634
1635 extern void CombineToCreatePseudoGene (IteM i);
1636
1637 extern void BulkEditCDS (IteM i);
1638 extern void BulkEditGene (IteM i);
1639 extern void BulkEditRNA (IteM i);
1640
1641 extern void BulkEditorFeatList (Uint2 entityID, ValNodePtr feat_list);
1642 extern void BulkEditorDescrList (Uint2 entityID, ValNodePtr descr_list);
1643 extern void BulkEditDiscrepancy (ValNodePtr vnp, Pointer userdata);
1644 extern void BulkEditorCheckAllDialog (DialoG dlg);
1645
1646 extern Uint1 GetSubtypeForBulkEdit (ValNodePtr feat_list);
1647
1648 extern CDSConversionOptsPtr
1649 GetCDSConversionOptions (Boolean all_are_pseudo, Boolean any_pseudo, Boolean any_gps, BoolPtr cancel);
1650
1651 extern Boolean
1652 ConvertOneCDSToMiscFeat
1653 (SeqFeatPtr sfp,
1654 Boolean viral,
1655 Boolean must_have_stops,
1656 CDSConversionOptsPtr opts);
1657
1658 extern void SuppressGenesOnFeaturesInsideMobileElements (IteM i);
1659
1660 extern BaseFormPtr GetBaseFormForEntityID (Uint2 entityID);
1661
1662 extern ValNodePtr ParseAccessionNumberListFromString (CharPtr list_str, SeqEntryPtr sep);
1663
1664 extern SubSourcePtr FindBadLatLon (BioSourcePtr biop);
1665 extern DialoG LatLonTestResultsDisplay (GrouP h);
1666 extern void LatLonTool (IteM i);
1667 extern DialoG SpecificHostResultsDisplay (GrouP h);
1668 extern void FixSpecificHostValues (IteM i);
1669 extern DialoG LatLonCountryResultsDisplay (GrouP h);
1670 extern Pointer GetLatLonCountryCorrection (Uint1 data_choice, Pointer data, Pointer metadata);
1671 extern void LatLonCountryTool (IteM i);
1672 extern DialoG CountryTestResultsDisplay (GrouP h, Pointer metadata);
1673 extern void CountryFixupTool (IteM i);
1674
1675 extern DialoG TaxFixDisplay (GrouP h);
1676 extern Boolean IsTaxNameBad (OrgRefPtr org);
1677 extern void TaxFixTool (IteM i);
1678
1679 extern void SetTransgenicOnSourceDescWhenSourceFeatPresent (IteM i);
1680 extern void SetFocusOnSourceDescWhenSourceFeatPresent (IteM i);
1681
1682 extern void MakeBadSpecificHostValueTable (IteM i);
1683
1684 extern const char *nucleotide_alphabet;
1685 extern const char *protein_alphabet;
1686
1687 extern DialoG AlnSettingsDlg (GrouP h, Boolean allow_sequence_type);
1688 extern TSequenceInfoPtr GetDefaultSequenceInfo (void);
1689 extern TSequenceInfoPtr GetAlignmentOptions (Uint1Ptr moltype, TSequenceInfoPtr sequence_info);
1690
1691
1692 extern void tRNAScanUpdate (IteM i);
1693 extern void ListFailedTaxonomyLookups (IteM i);
1694 extern SeqFeatPtr GetGeneForFeature (SeqFeatPtr sfp);
1695
1696 extern void LoadFeatureFieldTable (IteM i);
1697
1698 /* structure used for taxname options for loading values froma table or the Apply/Edit/Convert/Remove dialogs */
1699 typedef struct taxnameoptions {
1700 Boolean remove_taxref;
1701 Boolean remove_old_name;
1702 Boolean remove_common;
1703 } TaxnameOptionsData, PNTR TaxnameOptionsPtr;
1704
1705 extern void ApplyTaxnameOptionsToBioSource (BioSourcePtr biop, TaxnameOptionsPtr top);
1706 extern DialoG TaxnameOptionsDialog (GrouP h, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata);
1707
1708 extern void CleanTableLine (CharPtr line);
1709
1710 extern void ApplyTagToCodingRegionsInSourceFeatures (IteM i);
1711 extern Boolean EntityIDAlreadyInList (Uint2 entityID, ValNodePtr entityIDList);
1712
1713 extern void ResolveFeatureOverlaps (IteM i);
1714 extern void ConvertGeneralIdToLocalID (IteM i);
1715
1716 extern void UpdateFeatures (IteM i);
1717
1718 NLM_EXTERN void RemoveDupGenBankSets (SeqEntryPtr sep);
1719 NLM_EXTERN BioseqSetPtr InsetNewSet (BioseqSetPtr bssp, Uint1 _class);
1720
1721 extern void AbbreviateCitSubAffilStates (IteM i);
1722 extern void RemoveQualityScores (BioseqPtr bsp, FILE *log_fp, BoolPtr data_in_log);
1723 extern void NewLoadFeatureQualifierTable (IteM i);
1724 extern void NewLoadSourceQualifierTable (IteM i);
1725 extern void ListAllSequences (BioseqPtr bsp, Pointer userdata);
1726 extern void ChooseCategories (ValNodePtr value_list, Boolean do_choose);
1727 extern void ChooseCategoriesByStringConstraint (ValNodePtr value_list, StringConstraintXPtr scp, Boolean do_choose);
1728 extern void CapitalizeFirstLetterOfEveryWord (CharPtr pString);
1729
1730 typedef void (*BulkSetFieldFunc) PROTO ((Pointer, Pointer));
1731 typedef Pointer (*BulkSetFieldStringFunc) PROTO ((Pointer, ApplyValuePtr));
1732 typedef Pointer (*BulkGetFieldFunc) PROTO ((Uint1, Pointer, Pointer));
1733 typedef CharPtr (*BulkDisplayFieldFunc) PROTO ((Pointer));
1734 typedef void (*BulkFreeFieldFunc) PROTO ((Pointer));
1735 typedef DialoG (*BulkCreateDlgFunc) PROTO ((GrouP, CharPtr, SeqEntryPtr));
1736 typedef Int4 (*BulkFormatColumnFunc) PROTO ((ColPtr, CharPtr));
1737 typedef void (*BulkDrawColumnFunc) PROTO ((Pointer, RectPtr));
1738 typedef Pointer (*BulkReleaseCellFunc) PROTO ((Pointer));
1739 typedef Pointer (*BulkCopyFieldFunc) PROTO ((Pointer));
1740
1741 typedef struct bulkedfield {
1742 CharPtr name;
1743 BulkSetFieldFunc set_func;
1744 BulkSetFieldStringFunc set_str_func;
1745 BulkGetFieldFunc get_func;
1746 BulkDisplayFieldFunc display_func;
1747 BulkFreeFieldFunc free_func;
1748 BulkCreateDlgFunc create_dlg_func;
1749 BulkFormatColumnFunc format_col_func;
1750 BulkDrawColumnFunc draw_col_func;
1751 BulkReleaseCellFunc release_cell_func;
1752 BulkCopyFieldFunc copy_func;
1753 } BulkEdFieldData, PNTR BulkEdFieldPtr;
1754
1755 NLM_EXTERN Pointer BulkSetSimpleTextString (Pointer curr_val, ApplyValuePtr avp);
1756 NLM_EXTERN CharPtr BulkDisplaySimpleText (Pointer data);
1757 NLM_EXTERN void BulkFreeSimpleText (Pointer data);
1758 NLM_EXTERN Int4 BulkFormatSimpleText (ColPtr col, CharPtr name);
1759 NLM_EXTERN Pointer BulkSimpleTextCopy (Pointer data);
1760 NLM_EXTERN DialoG BulkSimpleTextDialog (GrouP g, CharPtr name, SeqEntryPtr sep);
1761
1762 NLM_EXTERN void BulkEditorObjectList (Uint2 entityID, CharPtr title, ValNodePtr feat_list, BulkEdFieldPtr field_list);
1763 NLM_EXTERN DialoG
1764 CreateBulkEditorDialog
1765 (GrouP h,
1766 BulkEdFieldPtr field_list,
1767 ValNodePtr feat_list,
1768 SeqEntryPtr sep,
1769 Boolean collapse_by_default,
1770 ClickableCallback single_click_func,
1771 ClickableCallback double_click_func);
1772
1773 NLM_EXTERN void ApplyBulkEditorToObjectList (DialoG d);
1774
1775 NLM_EXTERN void FlipSequenceIntervals (IteM i);
1776
1777 NLM_EXTERN void CreateRefSeqProteinIDs (IteM i);
1778
1779 extern void ConvertBioSourceDbxrefToFeatureDbxref (IteM i);
1780
1781 NLM_EXTERN void AddFluComments (IteM i);
1782 NLM_EXTERN void CreateStructuredCommentsItem (IteM i);
1783 NLM_EXTERN void SubmitterCreateStructuredComments (IteM i);
1784
1785 NLM_EXTERN SeqAlignPtr GetSeqAlignTSA (BioseqPtr bsp1, BioseqPtr bsp2);
1786 NLM_EXTERN void EditTSAAssembly (IteM i);
1787
1788 NLM_EXTERN void MergeBiosources (IteM i);
1789 NLM_EXTERN Boolean FixIDsAndTitles (SeqEntryPtr new_list, SeqEntryPtr current_list, Boolean is_nuc);
1790
1791 NLM_EXTERN void ExportQualifiers (IteM i);
1792
1793 extern Boolean IsUnwantedFeatureType (Uint1 key);
1794 extern void ExportBankitComments (IteM i);
1795
1796 extern void ImportAlignmentForSeqHistInterval (IteM i);
1797 extern void AdvancedAssemblyAlignmentEditor (IteM i);
1798 extern void AssemblyAlignmentIntervalResolution (IteM i);
1799
1800 extern void ExternalSourceQualifierTableReader (IteM i);
1801
1802 extern void TrimPrimerSeqJunk (IteM i);
1803
1804 extern void SequinSeqViewFormMessage (ForM f, Int2 mssg);
1805 extern Boolean WriteTheEntityID (Uint2 entityID, CharPtr path, Boolean binary);
1806
1807 extern BioseqSetPtr FindTopLevelSetForDesktopFunction (BioseqSetPtr bssp);
1808 extern void ReorderSetByAccessionMenuItem (IteM i);
1809 extern void DescriptorPropagateMenuItem (IteM i);
1810 NLM_EXTERN void RepackagePartsMenuItem (IteM i);
1811 extern void NewSegregateBioseqSetMenuItem (IteM i);
1812 extern void SequesterSequencesMenuItem (IteM i);
1813 extern void GetRidOfSegGapMenuItem (IteM i);
1814 extern void GenerateSeqAlignMenuItem (IteM i);
1815 extern void UpdateSeqAlignMenuItem (IteM i);
1816 extern void CorrectRNAStrandednessMenuItem (IteM i);
1817 extern void BioseqRevCompByIDMenuItem (IteM i);
1818 extern void RemoveSetsInSetMenuItem (IteM i);
1819
1820 extern void LoadTaxTableReader (IteM i);
1821 extern void RemoveContigFromScaffoldMenuItem (IteM i);
1822
1823 NLM_EXTERN void LIBCALLBACK SequesterSequenceList (Uint2 entityID, ValNodePtr bsp_list);
1824 NLM_EXTERN Boolean OkToSequester (void);
1825
1826 extern void ConvertRptUnitRangeToLocation (IteM i);
1827 extern void RetranscribemRNA (IteM i);
1828 extern void
1829 ReplaceComplexLocation
1830 (SeqLocPtr slp,
1831 SeqAlignPtr salp,
1832 Int4 new_len,
1833 Int4 begin,
1834 Int4 fin);
1835
1836 NLM_EXTERN void CleanupCDD (IteM i);
1837
1838 NLM_EXTERN void ReportNonTSABioseqs (BioseqPtr bsp, Pointer userdata);
1839
1840 NLM_EXTERN void FindBestNTrimSites (IteM i);
1841 extern void ScrollToTrimSequenceItem (ValNodePtr vnp, Pointer userdata);
1842 extern DialoG TrimSequenceResultsDisplay (GrouP h);
1843 extern DialoG TrimSequenceEndDisplay (GrouP h);
1844 extern Pointer GetCurrentPercentN (Uint1 data_choice, Pointer data, Pointer metadata);
1845 extern Pointer GetTrimInterval (Uint1 data_choice, Pointer data, Pointer metadata);
1846 extern Pointer GetTrimRemaining (Uint1 data_choice, Pointer data, Pointer metadata);
1847 extern Pointer GetTrimRemove (Uint1 data_choice, Pointer data, Pointer metadata);
1848 extern Boolean TrimShouldDelete (Uint1 data_choice, Pointer data, Pointer metadata);
1849 extern Pointer GetTrimAccession (Uint1 data_choice, Pointer data, Pointer metadata);
1850 extern Pointer GetTrim5 (Uint1 data_choice, Pointer data, Pointer metadata);
1851 extern Pointer GetTrim3 (Uint1 data_choice, Pointer data, Pointer metadata);
1852 extern void DefaultCheckTrimSequenceResultsDisplay (DialoG d);
1853
1854 extern void MakeSpecialProjectsMenu (MenU m, BaseFormPtr bfp);
1855
1856 NLM_EXTERN void TrimSequencesByAlignment (IteM i);
1857 extern void RemoveGenomeProjectIdsBaseForm (BaseFormPtr bfp);
1858
1859 NLM_EXTERN void MakeCommonFeatureMicrosatellite (IteM i);
1860 NLM_EXTERN void MakeCommonFeatureControlRegion (IteM i);
1861
1862 NLM_EXTERN void RemoveNonNIslands (IteM i);
1863 NLM_EXTERN void RemoveUTRsFromCDSs (IteM i);
1864 NLM_EXTERN void AddFeatureBetween (IteM i);
1865 NLM_EXTERN void ChangeQualifierCase (IteM i);
1866
1867
1868 #ifdef OS_MSWIN
1869 NLM_EXTERN Int4 RunSilent(const char *cmdline);
1870 #endif
1871
1872
1873 #ifdef __cplusplus
1874 }
1875 #endif
1876
1877 #endif /* ndef _SEQUIN_ */
1878
1879 |
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more information. |