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