1 /* @include ensdata *********************************************************** 2 ** 3 ** Ensembl Data functions 4 ** 5 ** @author Copyright (C) 1999 Ensembl Developers 6 ** @author Copyright (C) 2006 Michael K. Schuster 7 ** @version $Revision: 1.53 $ 8 ** @modified 2009 by Alan Bleasby for incorporation into EMBOSS core 9 ** @modified $Date: 2013/02/17 13:04:31 $ by $Author: mks $ 10 ** @@ 11 ** 12 ** This library is free software; you can redistribute it and/or 13 ** modify it under the terms of the GNU Lesser General Public 14 ** License as published by the Free Software Foundation; either 15 ** version 2.1 of the License, or (at your option) any later version. 16 ** 17 ** This library is distributed in the hope that it will be useful, 18 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 19 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 ** Lesser General Public License for more details. 21 ** 22 ** You should have received a copy of the GNU Lesser General Public 23 ** License along with this library; if not, write to the Free Software 24 ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 25 ** MA 02110-1301, USA. 26 ** 27 ******************************************************************************/ 28 29 #ifndef ENSDATA_H 30 #define ENSDATA_H 31 32 /* ========================================================================= */ 33 /* ============================= include files ============================= */ 34 /* ========================================================================= */ 35 36 #include "enscache.h" 37 #include "enscoordsystem.h" 38 #include "ensmapper.h" 39 40 AJ_BEGIN_DECLS 41 42 43 44 45 /* ========================================================================= */ 46 /* =============================== constants =============================== */ 47 /* ========================================================================= */ 48 49 /* @const EnsPAttributeadaptor ************************************************ 50 ** 51 ** Ensembl Attribute Adaptor 52 ** 53 ** Defined as an alias in EnsPDatabaseadaptor. 54 ** 55 ** #alias EnsPDatabaseadaptor 56 ** 57 ** #cc Bio::EnsEMBL::DBSQL::AttributeAdaptor 58 ** ## 59 ******************************************************************************/ 60 61 #define EnsPAttributeadaptor EnsPDatabaseadaptor 62 63 64 65 66 /* @const EnsPDatabaseentryadaptor ******************************************** 67 ** 68 ** Ensembl Database Entry Adaptor 69 ** 70 ** Defined as an alias in EnsPDatabaseadaptor. 71 ** 72 ** #alias EnsPDatabaseadaptor 73 ** 74 ** #cc Bio::EnsEMBL::DBSQL::DBEntryAdaptor 75 ** ## 76 ******************************************************************************/ 77 78 #define EnsPDatabaseentryadaptor EnsPDatabaseadaptor 79 80 81 82 83 /* @const EnsPGeneadaptor ***************************************************** 84 ** 85 ** Ensembl Gene Adaptor 86 ** 87 ** Defined as an alias in EnsPFeatureadaptor. 88 ** 89 ** #alias EnsPFeatureadaptor 90 ** 91 ** #cc Bio::EnsEMBL::DBSQL::GeneAdaptor 92 ** ## 93 ******************************************************************************/ 94 95 #define EnsPGeneadaptor EnsPFeatureadaptor 96 97 98 99 100 /* @const EnsPIntronsupportingevidenceadaptor ********************************* 101 ** 102 ** Ensembl Intron Supporting Evidence Adaptor 103 ** 104 ** Defined as an alias in EnsPFeatureadaptor. 105 ** 106 ** #alias EnsPFeatureadaptor 107 ** 108 ** #cc Bio::EnsEMBL::DBSQL::IntronsupportingevidenceAdaptor 109 ** ## 110 ******************************************************************************/ 111 112 #define EnsPIntronsupportingevidenceadaptor EnsPFeatureadaptor 113 114 115 116 117 /* @const EnsPOperonadaptor *************************************************** 118 ** 119 ** Ensembl Operon Adaptor 120 ** 121 ** Defined as an alias in EnsPFeatureadaptor. 122 ** 123 ** #alias EnsPFeatureadaptor 124 ** 125 ** #cc Bio::EnsEMBL::DBSQL::OperonAdaptor 126 ** ## 127 ******************************************************************************/ 128 129 #define EnsPOperonadaptor EnsPFeatureadaptor 130 131 132 133 134 /* @const EnsPOperontranscriptadaptor ***************************************** 135 ** 136 ** Ensembl Operon Transcript Adaptor 137 ** 138 ** Defined as an alias in EnsPFeatureadaptor. 139 ** 140 ** #alias EnsPFeatureadaptor 141 ** 142 ** #cc Bio::EnsEMBL::DBSQL::OperonTranscriptAdaptor 143 ** ## 144 ******************************************************************************/ 145 146 #define EnsPOperontranscriptadaptor EnsPFeatureadaptor 147 148 149 150 151 /* @const EnsPSeqregionsynonymadaptor ***************************************** 152 ** 153 ** Ensembl Sequence Region Synonym Adaptor 154 ** 155 ** Defined as an alias in EnsPBaseadaptor. 156 ** 157 ** #alias EnsPBaseadaptor 158 ** 159 ** #cc Bio::EnsEMBL::DBSQL::SeqRegionSynonymAdaptor 160 ** ## 161 ******************************************************************************/ 162 163 #define EnsPSeqregionsynonymadaptor EnsPBaseadaptor 164 165 166 167 168 /* @const EnsPTranscriptadaptor *********************************************** 169 ** 170 ** Ensembl Transcript Adaptor 171 ** 172 ** Defined as an alias in EnsPFeatureadaptor. 173 ** 174 ** #alias EnsPFeatureadaptor 175 ** 176 ** #cc Bio::EnsEMBL::DBSQL::TranscriptAdaptor 177 ** ## 178 ******************************************************************************/ 179 180 #define EnsPTranscriptadaptor EnsPFeatureadaptor 181 182 183 184 185 /* @const EnsPTranslationadaptor ********************************************** 186 ** 187 ** Ensembl Translation Adaptor 188 ** 189 ** Defined as an alias in EnsPBaseadaptor. 190 ** 191 ** #alias EnsPBaseadaptor 192 ** 193 ** #cc Bio::EnsEMBL::DBSQL::TranslationAdaptor 194 ** ## 195 ******************************************************************************/ 196 197 #define EnsPTranslationadaptor EnsPBaseadaptor 198 199 200 201 202 /* @enum EnsEExternaldatabaseStatus ******************************************* 203 ** 204 ** Ensembl External Database Status enumeration 205 ** 206 ** @value ensEExternaldatabaseStatusNULL Null 207 ** @value ensEExternaldatabaseStatusKnownXref Known external reference 208 ** @value ensEExternaldatabaseStatusKnown Known 209 ** @value ensEExternaldatabaseStatusXref External reference 210 ** @value ensEExternaldatabaseStatusPred Predicted 211 ** @value ensEExternaldatabaseStatusOrth Orthologue 212 ** @value ensEExternaldatabaseStatusPseudo Pseudo 213 ** @@ 214 ******************************************************************************/ 215 216 typedef enum EnsOExternaldatabaseStatus 217 { 218 ensEExternaldatabaseStatusNULL, 219 ensEExternaldatabaseStatusKnownXref, 220 ensEExternaldatabaseStatusKnown, 221 ensEExternaldatabaseStatusXref, 222 ensEExternaldatabaseStatusPred, 223 ensEExternaldatabaseStatusOrth, 224 ensEExternaldatabaseStatusPseudo 225 } EnsEExternaldatabaseStatus; 226 227 228 229 230 /* @enum EnsEExternaldatabaseType ********************************************* 231 ** 232 ** Ensembl External Database Type enumeration 233 ** 234 ** @value ensEExternaldatabaseTypeNULL Null 235 ** @value ensEExternaldatabaseTypeArray Array 236 ** @value ensEExternaldatabaseTypeAltTrans Alternative Translation 237 ** @value ensEExternaldatabaseTypeAltGene Alternative Gene 238 ** @value ensEExternaldatabaseTypeMisc Miscellaneous 239 ** @value ensEExternaldatabaseTypeLit Literature 240 ** @value ensEExternaldatabaseTypePrimaryDbSynonym Primary database synonym 241 ** @value ensEExternaldatabaseTypeEnsembl Ensembl 242 ** @value ensEExternaldatabaseTypeIgnore Ignore 243 ** @@ 244 ******************************************************************************/ 245 246 typedef enum EnsOExternaldatabaseType 247 { 248 ensEExternaldatabaseTypeNULL, 249 ensEExternaldatabaseTypeArray, 250 ensEExternaldatabaseTypeAltTrans, 251 ensEExternaldatabaseTypeAltGene, 252 ensEExternaldatabaseTypeMisc, 253 ensEExternaldatabaseTypeLit, 254 ensEExternaldatabaseTypePrimaryDbSynonym, 255 ensEExternaldatabaseTypeEnsembl, 256 ensEExternaldatabaseTypeIgnore 257 } EnsEExternaldatabaseType; 258 259 260 261 262 /* @enum EnsEExternalreferenceInfotype **************************************** 263 ** 264 ** Ensembl External Reference Information Type enumeration 265 ** 266 ** @value ensEExternalreferenceInfotypeNULL Null 267 ** @value ensEExternalreferenceInfotypeProjection Projection 268 ** @value ensEExternalreferenceInfotypeMisc Miscellaneous 269 ** @value ensEExternalreferenceInfotypeDependent Dependent 270 ** @value ensEExternalreferenceInfotypeDirect Direct 271 ** @value ensEExternalreferenceInfotypeSequenceMatch Sequence Match 272 ** @value ensEExternalreferenceInfotypeInferredPair Inferred Pair 273 ** @value ensEExternalreferenceInfotypeProbe Probe 274 ** @value ensEExternalreferenceInfotypeUnmapped Unmapped 275 ** @value ensEExternalreferenceInfotypeCoordinateOverlap Coordinate Overlap 276 ** @@ 277 ******************************************************************************/ 278 279 typedef enum EnsOExternalreferenceInfotype 280 { 281 ensEExternalreferenceInfotypeNULL, 282 ensEExternalreferenceInfotypeProjection, 283 ensEExternalreferenceInfotypeMisc, 284 ensEExternalreferenceInfotypeDependent, 285 ensEExternalreferenceInfotypeDirect, 286 ensEExternalreferenceInfotypeSequenceMatch, 287 ensEExternalreferenceInfotypeInferredPair, 288 ensEExternalreferenceInfotypeProbe, 289 ensEExternalreferenceInfotypeUnmapped, 290 ensEExternalreferenceInfotypeCoordinateOverlap 291 } EnsEExternalreferenceInfotype; 292 293 294 295 296 /* @enum EnsEExternalreferenceObjecttype ************************************** 297 ** 298 ** Ensembl External Reference Object Type enumeration 299 ** 300 ** @value ensEExternalreferenceObjecttypeNULL Null 301 ** @value ensEExternalreferenceObjecttypeRawContig Raw Contig 302 ** @value ensEExternalreferenceObjectypeTranscript Transcript 303 ** @value ensEExternalreferenceObjecttypeGene Gene 304 ** @value ensEExternalreferenceObjecttypeTranslation Translation 305 ** @@ 306 ******************************************************************************/ 307 308 typedef enum EnsOExternalreferenceObjecttype 309 { 310 ensEExternalreferenceObjecttypeNULL, 311 ensEExternalreferenceObjecttypeRawContig, 312 ensEExternalreferenceObjectypeTranscript, 313 ensEExternalreferenceObjecttypeGene, 314 ensEExternalreferenceObjecttypeTranslation 315 } EnsEExternalreferenceObjecttype; 316 317 318 319 320 /* @enum EnsEGeneStatus ******************************************************* 321 ** 322 ** Ensembl Gene Status enumeration 323 ** 324 ** @value ensEGeneStatusNULL Null 325 ** @value ensEGeneStatusKnown Known 326 ** @value ensEGeneStatusNovel Novel 327 ** @value ensEGeneStatusPutative Putative 328 ** @value ensEGeneStatusPredicted Predicted 329 ** @value ensEGeneStatusKnownByProjection Known by projection 330 ** @value ensEGeneStatusUnknown Unknown 331 ** @@ 332 ******************************************************************************/ 333 334 typedef enum EnsOGeneStatus 335 { 336 ensEGeneStatusNULL, 337 ensEGeneStatusKnown, 338 ensEGeneStatusNovel, 339 ensEGeneStatusPutative, 340 ensEGeneStatusPredicted, 341 ensEGeneStatusKnownByProjection, 342 ensEGeneStatusUnknown 343 } EnsEGeneStatus; 344 345 346 347 348 /* @enum EnsEIntronsupportingevidenceType ************************************* 349 ** 350 ** Ensembl Intron Supporting Evidence Type enumeration 351 ** 352 ** @value ensEIntronsupportingevidenceTypeNULL Null 353 ** @value ensEIntronsupportingevidenceTypeNone None 354 ** @value ensEIntronsupportingevidenceTypeDepth Depth 355 ** @@ 356 ******************************************************************************/ 357 358 typedef enum EnsOIntronsupportingevidenceType 359 { 360 ensEIntronsupportingevidenceTypeNULL, 361 ensEIntronsupportingevidenceTypeNone, 362 ensEIntronsupportingevidenceTypeDepth 363 } EnsEIntronsupportingevidenceType; 364 365 366 367 368 /* @enum EnsESliceTopology **************************************************** 369 ** 370 ** Ensembl Slice Topology enumeration 371 ** 372 ** @value ensESliceTopologyNULL Null 373 ** @value ensESliceTopologyLinear Linear 374 ** @value ensESliceTopologyCircular Circular 375 ** @@ 376 ******************************************************************************/ 377 378 typedef enum EnsOSliceTopology 379 { 380 ensESliceTopologyNULL, 381 ensESliceTopologyLinear, 382 ensESliceTopologyCircular 383 } EnsESliceTopology; 384 385 386 387 388 /* @enum EnsESliceType ******************************************************** 389 ** 390 ** Ensembl Slice Type enumeration 391 ** 392 ** @value ensESliceTypeNULL Null 393 ** @value ensESliceTypeLinear Linear 394 ** @value ensESliceTypeCircular Circular 395 ** @value ensESliceTypeLrg Locus Reference Genome 396 ** @@ 397 ******************************************************************************/ 398 399 typedef enum EnsOSliceType 400 { 401 ensESliceTypeNULL, 402 ensESliceTypeLinear, 403 ensESliceTypeCircular, 404 ensESliceTypeLrg 405 } EnsESliceType; 406 407 408 409 410 /* @enum EnsETranscriptStatus ************************************************* 411 ** 412 ** Ensembl Transcript Status enumeration 413 ** 414 ** @value ensETranscriptStatusNULL Null 415 ** @value ensETranscriptStatusKnown Known 416 ** @value ensETranscriptStatusNovel Novel 417 ** @value ensETranscriptStatusPutative Putative 418 ** @value ensETranscriptStatusPredicted Predicted 419 ** @value ensETranscriptStatusKnownByProjection Known by projection 420 ** @value ensETranscriptStatusUnknown Unknown 421 ** @value ensETranscriptStatusAnnotated Annotated 422 ** @@ 423 ******************************************************************************/ 424 425 typedef enum EnsOTranscriptStatus 426 { 427 ensETranscriptStatusNULL, 428 ensETranscriptStatusKnown, 429 ensETranscriptStatusNovel, 430 ensETranscriptStatusPutative, 431 ensETranscriptStatusPredicted, 432 ensETranscriptStatusKnownByProjection, 433 ensETranscriptStatusUnknown, 434 ensETranscriptStatusAnnotated 435 } EnsETranscriptStatus; 436 437 438 439 440 /* ========================================================================= */ 441 /* ============================== public data ============================== */ 442 /* ========================================================================= */ 443 444 /* @data EnsPSeqregionadaptor ************************************************* 445 ** 446 ** Ensembl Sequence Region Adaptor 447 ** 448 ** @attr Adaptor [EnsPDatabaseadaptor] Ensembl Database Adaptor 449 ** @attr CacheByIdentifier [EnsPCache] Ensembl Cache to store Ensembl Sequence 450 ** Region objects with AJAX unsigned integer (SQL-database identifier) objects 451 ** as index 452 ** @attr CacheByName [AjPTable] AJAX Table to cache Ensembl Sequence Region 453 ** objects with "Sequence Region Name:Coordinate System Identifier" AJAX String 454 ** objects as index 455 ** @attr CacheLocusReferenceGenomic [AjPList] AJAX List to cache Ensembl 456 ** Sequence Region objects, which are associated with an Ensembl Attribute of 457 ** code "LRG" and correspond to Locus Reference Genomic entries. 458 ** See http://www.lrg-sequence.org/ for details. 459 ** @attr CacheNonReference [AjPList] AJAX List to cache Ensembl Sequence 460 ** Region objects, which are associated with an Ensembl Attribute of code 461 ** "non_ref" that is usually set for haplotype assembly paths. 462 ** @@ 463 ******************************************************************************/ 464 465 typedef struct EnsSSeqregionadaptor 466 { 467 EnsPDatabaseadaptor Adaptor; 468 EnsPCache CacheByIdentifier; 469 AjPTable CacheByName; 470 AjPList CacheLocusReferenceGenomic; 471 AjPList CacheNonReference; 472 } EnsOSeqregionadaptor; 473 474 #define EnsPSeqregionadaptor EnsOSeqregionadaptor* 475 476 477 478 479 /* @data EnsPSeqregion ******************************************************** 480 ** 481 ** Ensembl Sequence Region 482 ** 483 ** @attr Use [ajuint] Usage counter 484 ** @cc Bio::EnsEMBL::Storable 485 ** @attr Identifier [ajuint] Internal SQL database identifier (primary key) 486 ** @attr Adaptor [EnsPSeqregionadaptor] Ensembl Sequence Region Adaptor 487 ** @cc Bio::EnsEMBL::??? 488 ** @attr Coordsystem [EnsPCoordsystem] Ensembl Coordinate System 489 ** @attr Name [AjPStr] Name 490 ** @attr Attributes [AjPList] AJAX List of Ensembl Attribute objects 491 ** @attr Seqregionsynonyms [AjPList] 492 ** AJAX List of Ensembl Sequence Region Synonym objects 493 ** @attr Length [ajint] Length 494 ** @attr Padding [ajuint] Padding to alignment boundary 495 ** @@ 496 ******************************************************************************/ 497 498 typedef struct EnsSSeqregion 499 { 500 ajuint Use; 501 ajuint Identifier; 502 EnsPSeqregionadaptor Adaptor; 503 EnsPCoordsystem Coordsystem; 504 AjPStr Name; 505 AjPList Attributes; 506 AjPList Seqregionsynonyms; 507 ajint Length; 508 ajuint Padding; 509 } EnsOSeqregion; 510 511 #define EnsPSeqregion EnsOSeqregion* 512 513 514 515 516 /* @data EnsPSliceadaptor ***************************************************** 517 ** 518 ** Ensembl Slice Adaptor 519 ** 520 ** @attr Adaptor [EnsPDatabaseadaptor] Ensembl Database Adaptor 521 ** @attr CacheByIdentifier [EnsPCache] Caches Ensembl Slice objects by their 522 ** Ensembl Sequence Region identifier, start, end and strand coordinate 523 ** @attr CacheByName [AjPTable] Caches Ensembl Slice objects by their 524 ** Ensembl Sequence Region name, start, end and strand coordinate 525 ** @@ 526 ******************************************************************************/ 527 528 typedef struct EnsSSliceadaptor 529 { 530 EnsPDatabaseadaptor Adaptor; 531 EnsPCache CacheByIdentifier; 532 AjPTable CacheByName; 533 } EnsOSliceadaptor; 534 535 #define EnsPSliceadaptor EnsOSliceadaptor* 536 537 538 539 540 /* @data EnsPSlice ************************************************************ 541 ** 542 ** Ensembl Slice 543 ** 544 ** Holds information about a genome sequence slice. 545 ** 546 ** @alias EnsSSlice 547 ** @alias EnsOSlice 548 ** 549 ** @attr Adaptor [EnsPSliceadaptor] Ensembl Slice Adaptor 550 ** @attr Seqregion [EnsPSeqregion] Ensembl Sequence Region 551 ** @attr Sequence [AjPStr] Sequence 552 ** @attr Topology [EnsESliceTopology] Slice Topology enumeration 553 ** @attr Type [EnsESliceType] Ensembl Slice Type enumeration 554 ** @attr Start [ajint] Start coordinate 555 ** @attr End [ajint] End coordinate 556 ** @attr Strand [ajint] Strand information (+1|-1) 557 ** @attr Use [ajuint] Use counter 558 ** @@ 559 ******************************************************************************/ 560 561 typedef struct EnsSSlice 562 { 563 EnsPSliceadaptor Adaptor; 564 EnsPSeqregion Seqregion; 565 AjPStr Sequence; 566 EnsESliceTopology Topology; 567 EnsESliceType Type; 568 ajint Start; 569 ajint End; 570 ajint Strand; 571 ajuint Use; 572 } EnsOSlice; 573 574 #define EnsPSlice EnsOSlice* 575 576 577 578 579 /* @data EnsPAssemblymapperadaptor ******************************************** 580 ** 581 ** Ensembl Assembly Mapper Adaptor 582 ** 583 ** The Ensembl Assembly Mapper Adaptor is used to retrieve Ensembl Mapper 584 ** objects between any two Ensembl Coordinate System objects which makeup is 585 ** described by the "assembly" table. Currently, one-step (explicit) and 586 ** two-step (implict) pairwise mapping is supported. In one-step mapping an 587 ** explicit relationship between the Coordinate System objects is defined in 588 ** the "assembly" table. In two-step "chained" mapping no explicit mapping is 589 ** present, but the Coordinate System objects must share a common mapping to 590 ** an intermediate Coordinate System. 591 ** 592 ** @alias EnsSAssemblymapperadaptor 593 ** @alias EnsOAssemblymapperadaptor 594 ** 595 ** @attr Adaptor [EnsPDatabaseadaptor] Ensembl Database Adaptor 596 ** @attr CacheByIdentifiers [AjPTable] 597 ** AJAX Table of AJAX String (Ensembl Coordinate System identifiers 598 ** concatenated by ':' characters) key data and 599 ** Ensembl Assembly Mapper value data 600 ** @attr MultipleMappings [AjPTable] 601 ** AJAX Table of AJAX unsigned integer (Ensembl Sequence Region identifier) 602 ** key data and Ensembl Sequence Region value data for objects that have more 603 ** than one entry in the Ensembl Core "assembly" table, i. e. they map to 604 ** more than one location. 605 ** @@ 606 ******************************************************************************/ 607 608 typedef struct EnsSAssemblymapperadaptor 609 { 610 EnsPDatabaseadaptor Adaptor; 611 AjPTable CacheByIdentifiers; 612 AjPTable MultipleMappings; 613 } EnsOAssemblymapperadaptor; 614 615 #define EnsPAssemblymapperadaptor EnsOAssemblymapperadaptor* 616 617 618 619 620 /* @data EnsPGenericassemblymapper ******************************************** 621 ** 622 ** Ensembl Generic Assembly Mapper 623 ** 624 ** The Ensembl Generic Assembly Mapper handles mappings between two Ensembl 625 ** Coordinate System objects using the information stored in the "assembly" 626 ** SQL table of an Ensembl Core database. 627 ** 628 ** The Ensembl Generic Assembly Mapper is a database aware mapper, which 629 ** facilitates conversion of coordinates between any two Ensembl Coordinate 630 ** System objects with a relationship explicitly defined in the "assembly" 631 ** SQL table. In future, it may be possible to perform multiple step (implicit) 632 ** mapping between Ensembl Coordinate System objects. 633 ** 634 ** It is implemented using the Ensembl Mapper object, which is a generic mapper 635 ** object between disjoint Ensembl Coordinate System objects. 636 ** 637 ** @alias EnsSGenericassemblymapper 638 ** @alias EnsOGenericassemblymapper 639 ** 640 ** @attr Adaptor [EnsPAssemblymapperadaptor] Ensembl Assembly Mapper Adaptor 641 ** @attr CoordsystemAssembled [EnsPCoordsystem] Assembled Ensembl Coordinate 642 ** System 643 ** @attr CoordsystemComponent [EnsPCoordsystem] Component Ensembl Coordinate 644 ** System 645 ** @attr RegisterAssembled [AjPTable] Assembled Register 646 ** @attr RegisterComponent [AjPTable] Component Register 647 ** @attr Mapper [EnsPMapper] Ensembl Mapper 648 ** @attr Maximum [ajuint] Maximum Ensembl Mapper Pair count 649 ** @attr Use [ajuint] Use counter 650 ** @@ 651 ******************************************************************************/ 652 653 typedef struct EnsSGenericassemblymapper 654 { 655 EnsPAssemblymapperadaptor Adaptor; 656 EnsPCoordsystem CoordsystemAssembled; 657 EnsPCoordsystem CoordsystemComponent; 658 AjPTable RegisterAssembled; 659 AjPTable RegisterComponent; 660 EnsPMapper Mapper; 661 ajuint Maximum; 662 ajuint Use; 663 } EnsOGenericassemblymapper; 664 665 #define EnsPGenericassemblymapper EnsOGenericassemblymapper* 666 667 668 669 670 /* @data EnsPChainedassemblymapper ******************************************** 671 ** 672 ** Ensembl Chained Assembly Mapper 673 ** 674 ** The Ensembl Chained Assembly Mapper is an extension of the regular 675 ** Ensembl Generic Assembly Mapper that allows for mappings between 676 ** Ensembl Coordinate System objects that require multi-step mapping. 677 ** For example if explicit mappings are defined between the following 678 ** Coordinate System objects, chromosome/contig and contig/clone, 679 ** the Ensembl Chained Assembly Mapper would be able to perform implicit 680 ** mapping between the "chromosome" and "clone" Ensembl Coordinate System 681 ** objects. This should be transparent to the user of this module, and users 682 ** should not even realise that they are using an Ensembl Chained Assembly 683 ** Mapper as opposed to an Ensembl Generic Assembly Mapper. 684 ** 685 ** @alias EnsSChainedassemblymapper 686 ** @alias EnsOChainedassemblymapper 687 ** 688 ** @attr Adaptor [EnsPAssemblymapperadaptor] Ensembl Assembly Mapper Adaptor 689 ** @attr CoordsystemSource [EnsPCoordsystem] Source Ensembl Coordinate System 690 ** @attr CoordsystemMiddle [EnsPCoordsystem] Middle Ensembl Coordinate System 691 ** @attr CoordsystemTarget [EnsPCoordsystem] Target Ensembl Coordinate System 692 ** @attr MapperSourceMiddle [EnsPMapper] Source to middle Ensembl Mapper 693 ** @attr MapperTargetMiddle [EnsPMapper] Target to middle Ensembl Mapper 694 ** @attr MapperSourceTarget [EnsPMapper] Source to target Ensembl Mapper 695 ** @attr RegistrySource [EnsPMapperrangeregistry] 696 ** Source Ensembl Mapper Range Registry 697 ** @attr RegistryTarget [EnsPMapperrangeregistry] 698 ** Target Ensembl Mapper Range Registry 699 ** @attr Maximum [ajuint] Maximum Ensembl Mapper Pair count 700 ** @attr Use [ajuint] Use counter 701 ** @@ 702 ******************************************************************************/ 703 704 typedef struct EnsSChainedassemblymapper 705 { 706 EnsPAssemblymapperadaptor Adaptor; 707 EnsPCoordsystem CoordsystemSource; 708 EnsPCoordsystem CoordsystemMiddle; 709 EnsPCoordsystem CoordsystemTarget; 710 EnsPMapper MapperSourceMiddle; 711 EnsPMapper MapperTargetMiddle; 712 EnsPMapper MapperSourceTarget; 713 EnsPMapperrangeregistry RegistrySource; 714 EnsPMapperrangeregistry RegistryTarget; 715 ajuint Maximum; 716 ajuint Use; 717 } EnsOChainedassemblymapper; 718 719 #define EnsPChainedassemblymapper EnsOChainedassemblymapper* 720 721 722 723 724 /* @data EnsPToplevelassemblymapper ******************************************* 725 ** 726 ** Ensembl Top-Level Assembly Mapper 727 ** 728 ** The Ensembl Top-Level Assembly Mapper performs mapping between a provided 729 ** Ensembl Coordinate System and the top-level pseudo Cooordinate System. 730 ** The top-level Coordinate System is not a real Coordinate System, but 731 ** represents the highest Coordinate System that can be mapped to in a given 732 ** Sequence Region. It is only possible to perform unidirectional mapping 733 ** using this Mapper, because it does not make sense to map from the top-level 734 ** Coordinate System to another Coordinate System. 735 ** 736 ** @alias EnsSToplevelassemblymapper 737 ** @alias EnsOToplevelassemblymapper 738 ** 739 ** @attr Adaptor [EnsPAssemblymapperadaptor] 740 ** Ensembl Assembly Mapper Adaptor 741 ** @attr Coordsystems [AjPList] 742 ** AJAX List of Ensembl Coordinate System objects 743 ** @attr CoordsystemAssembled [EnsPCoordsystem] 744 ** Top-level Ensembl Coordinate System 745 ** @attr CoordsystemComponent [EnsPCoordsystem] 746 ** Other Ensembl Coordinate System 747 ** @attr Use [ajuint] Use counter 748 ** @attr Padding [ajuint] Padding to alignment boundary 749 ** @@ 750 ******************************************************************************/ 751 752 typedef struct EnsSToplevelassemblymapper 753 { 754 EnsPAssemblymapperadaptor Adaptor; 755 AjPList Coordsystems; 756 EnsPCoordsystem CoordsystemAssembled; 757 EnsPCoordsystem CoordsystemComponent; 758 ajuint Use; 759 ajuint Padding; 760 } EnsOToplevelassemblymapper; 761 762 #define EnsPToplevelassemblymapper EnsOToplevelassemblymapper* 763 764 765 766 767 /* @data EnsPAssemblymapper *************************************************** 768 ** 769 ** Ensembl Assembly Mapper 770 ** 771 ** The Ensembl Assembly Mapper is a wrapper for specialised 772 ** Ensembl Assembly Mapper objects. 773 ** 774 ** @alias EnsSAssemblymapper 775 ** @alias EnsOAssemblymapper 776 ** 777 ** @attr Adaptor [EnsPAssemblymapperadaptor] Ensembl Assembly Mapper Adaptor 778 ** @attr Generic [EnsPGenericassemblymapper] Ensembl Generic Assembly Mapper 779 ** @attr Chained [EnsPChainedassemblymapper] Ensembl Chained Assembly Mapper 780 ** @attr Toplevel [EnsPToplevelassemblymapper] 781 ** Ensembl Top-Level Assembly Mapper 782 ** @attr Use [ajuint] Use counter 783 ** @attr Padding [ajuint] Padding to alignment boundary 784 ** @@ 785 ** NOTE: This object subsumes the following Perl objects all returned by the 786 ** Bio::EnsEMBL::DBSQL::AssemblyMapperAdaptor 787 ** 788 ** Bio::EnsEMBL::AssemblyMapper (here Ensembl Generic Assembly Mapper) 789 ** Bio::EnsEMBL::ChainedAssemblyMapper 790 ** Bio::EnsEMBL::TopLevelAssemblyMapper 791 ** 792 ** The objects can be distinguished by their Type member. 793 ******************************************************************************/ 794 795 typedef struct EnsSAssemblymapper 796 { 797 EnsPAssemblymapperadaptor Adaptor; 798 EnsPGenericassemblymapper Generic; 799 EnsPChainedassemblymapper Chained; 800 EnsPToplevelassemblymapper Toplevel; 801 ajuint Use; 802 ajuint Padding; 803 } EnsOAssemblymapper; 804 805 #define EnsPAssemblymapper EnsOAssemblymapper* 806 807 808 809 810 /* @data EnsPBaseadaptorLeftjoin ********************************************** 811 ** 812 ** Ensembl Base Adaptor SQL LEFT JOIN condition 813 ** 814 ** @alias EnsSBaseadaptorLeftjoin 815 ** @alias EnsOBaseadaptorLeftjoin 816 ** 817 ** @attr Tablename [const char*] SQL table name 818 ** @attr Condition [const char*] SQL LEFT JOIN condition 819 ** @@ 820 ******************************************************************************/ 821 822 typedef struct EnsSBaseadaptorLeftjoin 823 { 824 const char *Tablename; 825 const char *Condition; 826 } EnsOBaseadaptorLeftjoin; 827 828 #define EnsPBaseadaptorLeftjoin EnsOBaseadaptorLeftjoin* 829 830 831 832 833 /* @data EnsPBaseadaptor ****************************************************** 834 ** 835 ** Ensembl Base Adaptor 836 ** 837 ** @alias EnsSBaseadaptor 838 ** @alias EnsOBaseadaptor 839 ** 840 ** @alias EnsPDitagadaptor 841 ** @alias EnsPGvindividualadaptor 842 ** @alias EnsPGvpopulationadaptor 843 ** @alias EnsPGvsampleadaptor 844 ** @alias EnsPGvvariationsetadaptor 845 ** @alias EnsPMarkeradaptor 846 ** @alias EnsPOntologytermadaptor 847 ** @alias EnsPProteinfeatureadaptor 848 ** @alias EnsPQcalignmentadaptor 849 ** @alias EnsPQcdasfeatureadaptor 850 ** @alias EnsPQcsubmissionadaptor 851 ** @alias EnsPQcvariationadaptor 852 ** @alias EnsPRepeatconsensusadaptor 853 ** @alias EnsPSeqregionsynonymadaptor 854 ** @alias EnsPTranslationadaptor 855 ** 856 ** @attr Adaptor [EnsPDatabaseadaptor] Ensembl Database Adaptor 857 ** @attr Tablenames [const char* const*] SQL table name array 858 ** @attr Columnnames [const char* const*] SQL column name array 859 ** @attr Leftjoins [const EnsPBaseadaptorLeftjoin] 860 ** SQL LEFT JOIN condition array 861 ** @attr Defaultcondition [const char*] SQL SELECT default condition 862 ** @attr Finalcondition [const char*] SQL SELECT final condition 863 ** @attr Mysqlstraightjoin [AjBool] 864 ** Set the MySQL-specific SQL SELECT STRAIGHT_JOIN option 865 ** @attr Padding [ajuint] Padding to alignment boundary 866 ** @attr Fstatement [AjBool function] Statement function address 867 ** @@ 868 ** NOTE: In constrast to the Perl API, this implementation does not feature a 869 ** species_id member, which is already set in the Ensembl Database Adaptor. 870 ******************************************************************************/ 871 872 typedef struct EnsSBaseadaptor 873 { 874 EnsPDatabaseadaptor Adaptor; 875 const char *const *Tablenames; 876 const char *const *Columnnames; 877 const EnsPBaseadaptorLeftjoin Leftjoins; 878 const char *Defaultcondition; 879 const char *Finalcondition; 880 AjBool Mysqlstraightjoin; 881 ajuint Padding; 882 AjBool (*Fstatement) (struct EnsSBaseadaptor *dba, 883 const AjPStr sql, 884 EnsPAssemblymapper am, 885 EnsPSlice slice, 886 AjPList objects); 887 } EnsOBaseadaptor; 888 889 #define EnsPBaseadaptor EnsOBaseadaptor* 890 891 892 893 894 /* @data EnsPAnalysisadaptor ************************************************** 895 ** 896 ** Ensembl Analysis Adaptor 897 ** 898 ** @alias EnsSAnalysisadaptor 899 ** @alias EnsOAnalysisadaptor 900 ** 901 ** @attr Adaptor [EnsPBaseadaptor] Ensembl Base Adaptor 902 ** @attr CacheByIdentifier [AjPTable] Identifier cache 903 ** @attr CacheByName [AjPTable] Name cache 904 ** @@ 905 ******************************************************************************/ 906 907 typedef struct EnsSAnalysisadaptor 908 { 909 EnsPBaseadaptor Adaptor; 910 AjPTable CacheByIdentifier; 911 AjPTable CacheByName; 912 } EnsOAnalysisadaptor; 913 914 #define EnsPAnalysisadaptor EnsOAnalysisadaptor* 915 916 917 918 919 /* @data EnsPAnalysis ********************************************************* 920 ** 921 ** Ensembl Analysis 922 ** 923 ** An Ensembl Analysis object stores details of an analysis within the 924 ** Ensembl genome analysis and annotation pipeline. 925 ** 926 ** @alias EnsSAnalysis 927 ** @alias EnsOAnalysis 928 ** 929 ** @attr Use [ajuint] Use counter 930 ** @cc Bio::EnsEMBL::Storable 931 ** @attr Identifier [ajuint] SQL database-internal identifier 932 ** @attr Adaptor [EnsPAnalysisadaptor] Ensembl Analysis Adaptor 933 ** @cc Bio::EnsEMBL::Analysis 934 ** @cc "analysis" SQL table 935 ** @attr DateCreation [AjPStr] Creation date 936 ** @attr Name [AjPStr] Name 937 ** @attr Databasename [AjPStr] Database name 938 ** @attr Databaseversion [AjPStr] Database version 939 ** @attr Databasefile [AjPStr] Database file 940 ** @attr Programname [AjPStr] Program name 941 ** @attr Programversion [AjPStr] Program version 942 ** @attr Programfile [AjPStr] Program file 943 ** @attr Parameters [AjPStr] Parameters 944 ** @attr Modulename [AjPStr] Module name 945 ** @attr Moduleversion [AjPStr] Module version 946 ** @attr Gffsource [AjPStr] GFF source 947 ** @attr Gfffeature [AjPStr] GFF feature 948 ** @cc "analysis_description" SQL table 949 ** @attr Description [AjPStr] Description 950 ** @attr Displaylabel [AjPStr] Display label for the Ensembl website 951 ** @attr Webdata [AjPStr] Configuration information for the Ensembl web site 952 ** @attr Displayable [AjBool] Displayable on the Ensembl web site 953 ** @attr Padding [ajuint] Padding to alignment boundary 954 ** @@ 955 ******************************************************************************/ 956 957 typedef struct EnsSAnalysis 958 { 959 ajuint Use; 960 ajuint Identifier; 961 EnsPAnalysisadaptor Adaptor; 962 AjPStr DateCreation; 963 AjPStr Name; 964 AjPStr Databasename; 965 AjPStr Databaseversion; 966 AjPStr Databasefile; 967 AjPStr Programname; 968 AjPStr Programversion; 969 AjPStr Programfile; 970 AjPStr Parameters; 971 AjPStr Modulename; 972 AjPStr Moduleversion; 973 AjPStr Gffsource; 974 AjPStr Gfffeature; 975 AjPStr Description; 976 AjPStr Displaylabel; 977 AjPStr Webdata; 978 AjBool Displayable; 979 ajuint Padding; 980 } EnsOAnalysis; 981 982 #define EnsPAnalysis EnsOAnalysis* 983 984 985 986 987 /* @data EnsPExternaldatabaseadaptor ****************************************** 988 ** 989 ** Ensembl External Database Adaptor 990 ** 991 ** @alias EnsSExternaldatabaseadaptor 992 ** @alias EnsOExternaldatabaseadaptor 993 ** 994 ** @attr Adaptor [EnsPBaseadaptor] Ensembl Base Adaptor 995 ** @attr CacheByIdentifier [AjPTable] Identifier cache 996 ** @attr CacheByName [AjPTable] Name cache 997 ** @@ 998 ******************************************************************************/ 999 1000 typedef struct EnsSExternaldatabaseadaptor 1001 { 1002 EnsPBaseadaptor Adaptor; 1003 AjPTable CacheByIdentifier; 1004 AjPTable CacheByName; 1005 } EnsOExternaldatabaseadaptor; 1006 1007 #define EnsPExternaldatabaseadaptor EnsOExternaldatabaseadaptor* 1008 1009 1010 1011 1012 /* @data EnsPAttributetypeadaptor ********************************************* 1013 ** 1014 ** Ensembl Attribute Type Adaptor 1015 ** 1016 ** @alias EnsSAttributetypeadaptor 1017 ** @alias EnsOAttributetypeadaptor 1018 ** 1019 ** @attr Adaptor [EnsPBaseadaptor] Ensembl Base Adaptor 1020 ** @attr CacheByIdentifier [AjPTable] Identifier cache 1021 ** @attr CacheByCode [AjPTable] Code cache 1022 ** @@ 1023 ******************************************************************************/ 1024 1025 typedef struct EnsSAttributetypeadaptor 1026 { 1027 EnsPBaseadaptor Adaptor; 1028 AjPTable CacheByIdentifier; 1029 AjPTable CacheByCode; 1030 } EnsOAttributetypeadaptor; 1031 1032 #define EnsPAttributetypeadaptor EnsOAttributetypeadaptor* 1033 1034 1035 1036 1037 /* @data EnsPAttributetype **************************************************** 1038 ** 1039 ** Ensembl Attribute Type 1040 ** 1041 ** @alias EnsSAttributetype 1042 ** @alias EnsOAttributetype 1043 ** 1044 ** @attr Use [ajuint] Usage counter 1045 ** @cc Bio::EnsEMBL::Storable 1046 ** @attr Identifier [ajuint] Internal SQL database identifier (primary key) 1047 ** @attr Adaptor [EnsPAttributetypeadaptor] Ensembl Attribute Type Adaptor 1048 ** @cc Bio::EnsEMBL::??? 1049 ** @attr Code [AjPStr] Code 1050 ** @attr Name [AjPStr] Name 1051 ** @attr Description [AjPStr] Description 1052 ** @@ 1053 ******************************************************************************/ 1054 1055 typedef struct EnsSAttributetype 1056 { 1057 ajuint Use; 1058 ajuint Identifier; 1059 EnsPAttributetypeadaptor Adaptor; 1060 AjPStr Code; 1061 AjPStr Name; 1062 AjPStr Description; 1063 } EnsOAttributetype; 1064 1065 #define EnsPAttributetype EnsOAttributetype* 1066 1067 1068 1069 1070 /* @data EnsPAttribute ******************************************************** 1071 ** 1072 ** Ensembl Attribute 1073 ** 1074 ** @alias EnsSAttribute 1075 ** @alias EnsOAttribute 1076 ** 1077 ** @cc Bio::EnsEMBL::Attribute 1078 ** @attr Attributetype [EnsPAttributetype] Ensembl Attribute Type 1079 ** @attr Value [AjPStr] Value 1080 ** @attr Use [ajuint] Use counter 1081 ** @attr Padding [ajuint] Padding to alignment boundary 1082 ** @@ 1083 ******************************************************************************/ 1084 1085 typedef struct EnsSAttribute 1086 { 1087 EnsPAttributetype Attributetype; 1088 AjPStr Value; 1089 ajuint Use; 1090 ajuint Padding; 1091 } EnsOAttribute; 1092 1093 #define EnsPAttribute EnsOAttribute* 1094 1095 1096 1097 1098 /* @data EnsPExternaldatabase ************************************************* 1099 ** 1100 ** Ensembl External Database 1101 ** 1102 ** @alias EnsSExternaldatabase 1103 ** @alias EnsOExternaldatabase 1104 ** 1105 ** @attr Use [ajuint] Use counter 1106 ** @cc Bio::EnsEMBL::Storable 1107 ** @attr Identifier [ajuint] Internal SQL database identifier (primary key) 1108 ** @attr Adaptor [EnsPExternaldatabaseadaptor] 1109 ** Ensembl External Database Adaptor 1110 ** @cc Bio::EnsEMBL::??? 1111 ** @cc "external_db" SQL table 1112 ** @attr Name [AjPStr] Database name 1113 ** @attr Release [AjPStr] Database release 1114 ** @attr Displayname [AjPStr] Database display name 1115 ** @attr Secondaryname [AjPStr] Secondary database name 1116 ** @attr Secondarytable [AjPStr] Secondary database table 1117 ** @attr Description [AjPStr] Description 1118 ** @attr Status [EnsEExternaldatabaseStatus] Status 1119 ** @attr Type [EnsEExternaldatabaseType] Type 1120 ** @attr Priority [ajint] Priority 1121 ** @attr Padding [ajuint] Padding to alignment boundary 1122 ** @@ 1123 ******************************************************************************/ 1124 1125 typedef struct EnsSExternaldatabase 1126 { 1127 ajuint Use; 1128 ajuint Identifier; 1129 EnsPExternaldatabaseadaptor Adaptor; 1130 AjPStr Name; 1131 AjPStr Release; 1132 AjPStr Displayname; 1133 AjPStr Secondaryname; 1134 AjPStr Secondarytable; 1135 AjPStr Description; 1136 EnsEExternaldatabaseStatus Status; 1137 EnsEExternaldatabaseType Type; 1138 ajint Priority; 1139 ajuint Padding; 1140 } EnsOExternaldatabase; 1141 1142 #define EnsPExternaldatabase EnsOExternaldatabase* 1143 1144 1145 1146 1147 /* @data EnsPExternalreference ************************************************ 1148 ** 1149 ** Ensembl External Reference 1150 ** 1151 ** @alias EnsSExternalreference 1152 ** @alias EnsOExternalreference 1153 ** 1154 ** @attr Use [ajuint] Use counter 1155 ** @cc Bio::EnsEMBL::Storable 1156 ** @attr Identifier [ajuint] Internal SQL database identifier (primary key) 1157 ** @attr Analysis [EnsPAnalysis] Ensembl Analysis 1158 ** @cc "xref" SQL table 1159 ** @attr Externaldatabase [EnsPExternaldatabase] Ensembl External Database 1160 ** @attr Primaryidentifier [AjPStr] Primary identifier 1161 ** @attr Displayidentifier [AjPStr] Display identifier 1162 ** @attr Version [AjPStr] Version 1163 ** @attr Description [AjPStr] Description 1164 ** @attr Linkageannotation [AjPStr] Linkage annotation 1165 ** @attr Infotext [AjPStr] Information text 1166 ** @attr Infotype [EnsEExternalreferenceInfotype] 1167 ** Ensembl External Reference Information Type enumeration 1168 ** @attr Objecttype [EnsEExternalreferenceObjecttype] 1169 ** Ensembl External Reference Object Type enumeration 1170 ** @attr Objectidentifier [ajuint] Ensembl Object identifier 1171 ** @attr Padding [ajuint] Padding to alignment boundary 1172 ** @@ 1173 ******************************************************************************/ 1174 1175 typedef struct EnsSExternalreference 1176 { 1177 ajuint Use; 1178 ajuint Identifier; 1179 EnsPAnalysis Analysis; 1180 EnsPExternaldatabase Externaldatabase; 1181 AjPStr Primaryidentifier; 1182 AjPStr Displayidentifier; 1183 AjPStr Version; 1184 AjPStr Description; 1185 AjPStr Linkageannotation; 1186 AjPStr Infotext; 1187 EnsEExternalreferenceInfotype Infotype; 1188 EnsEExternalreferenceObjecttype Objecttype; 1189 ajuint Objectidentifier; 1190 ajuint Padding; 1191 } EnsOExternalreference; 1192 1193 #define EnsPExternalreference EnsOExternalreference* 1194 1195 1196 1197 1198 /* @data EnsPIdentityreference ************************************************ 1199 ** 1200 ** Ensembl Identity Reference 1201 ** 1202 ** @alias EnsSIdentityreference 1203 ** @alias EnsOIdentityreference 1204 ** 1205 ** @cc Bio::EnsEMBL::IdentityXref 1206 ** @cc "identity_xref" SQL table 1207 ** @attr Cigar [AjPStr] Cigar line (See exonerate(1)) 1208 ** @attr QueryStart [ajint] Query start 1209 ** @attr QueryEnd [ajint] Query end 1210 ** @attr QueryIdentity [ajint] Query sequence identity 1211 ** @attr TargetStart [ajint] Target start 1212 ** @attr TargetEnd [ajint] Target end 1213 ** @attr TargetIdentity [ajint] Target sequence identity 1214 ** @attr Use [ajuint] Use counter 1215 ** @attr Padding [ajuint] Padding to alignment boundary 1216 ** @attr Evalue [double] e-Value 1217 ** @attr Score [double] Score 1218 ** @@ 1219 ******************************************************************************/ 1220 1221 typedef struct EnsSIdentityreference 1222 { 1223 AjPStr Cigar; 1224 ajint QueryStart; 1225 ajint QueryEnd; 1226 ajint QueryIdentity; 1227 ajint TargetStart; 1228 ajint TargetEnd; 1229 ajint TargetIdentity; 1230 ajuint Use; 1231 ajuint Padding; 1232 double Evalue; 1233 double Score; 1234 } EnsOIdentityreference; 1235 1236 #define EnsPIdentityreference EnsOIdentityreference* 1237 1238 1239 1240 1241 /* @data EnsPDatabaseentry **************************************************** 1242 ** 1243 ** Ensembl Database Entry 1244 ** 1245 ** @alias EnsSDatabaseentry 1246 ** @alias EnsODatabaseentry 1247 ** 1248 ** @attr Use [ajuint] Use counter 1249 ** @cc Bio::EnsEMBL::Storable 1250 ** @attr Identifier [ajuint] Internal SQL database identifier (primary key) 1251 ** @attr Adaptor [EnsPDatabaseentryadaptor] Ensembl Database Entry Adaptor 1252 ** @cc Bio::EnsEMBL::DBEntry 1253 ** @cc "xref" SQL table 1254 ** @attr Externalreference [EnsPExternalreference] Ensembl External Reference 1255 ** @cc Bio::EnsEMBL::IdentityXref 1256 ** @attr Identityreference [EnsPIdentityreference] Ensembl Identity Reference 1257 ** @cc "external_synonym" SQL table 1258 ** @attr Synonyms [AjPList] Synonyms 1259 ** @attr Ontologylinkages [AjPList] AJAX List of 1260 ** Ensembl Ontology Linkage objects 1261 ** @@ 1262 ******************************************************************************/ 1263 1264 typedef struct EnsSDatabaseentry 1265 { 1266 ajuint Use; 1267 ajuint Identifier; 1268 EnsPDatabaseentryadaptor Adaptor; 1269 EnsPExternalreference Externalreference; 1270 EnsPIdentityreference Identityreference; 1271 AjPList Synonyms; 1272 AjPList Ontologylinkages; 1273 } EnsODatabaseentry; 1274 1275 #define EnsPDatabaseentry EnsODatabaseentry* 1276 1277 1278 1279 1280 /* @data EnsPOntologylinkage ************************************************** 1281 ** 1282 ** Ensembl Ontology Linkage 1283 ** 1284 ** @alias EnsSOntologylinkage 1285 ** @alias EnsOOntologylinkage 1286 ** 1287 ** @cc "ontology_xref" SQL table 1288 ** @attr LinkageType [AjPStr] Likage type (Ontology Evidence Code) 1289 ** @attr Source [EnsPDatabaseentry] Source Ensembl Database Entry 1290 ** @attr Use [ajuint] Use counter 1291 ** @attr Padding [ajuint] Padding to alignment boundary 1292 ** @@ 1293 ******************************************************************************/ 1294 1295 typedef struct EnsSOntologylinkage 1296 { 1297 AjPStr LinkageType; 1298 EnsPDatabaseentry Source; 1299 ajuint Use; 1300 ajuint Padding; 1301 } EnsOOntologylinkage; 1302 1303 #define EnsPOntologylinkage EnsOOntologylinkage* 1304 1305 1306 1307 1308 /* @data EnsPFeature ********************************************************** 1309 ** 1310 ** Ensembl Feature 1311 ** 1312 ** @alias EnsSFeature 1313 ** @alias EnsOFeature 1314 ** 1315 ** @cc Bio::EnsEMBL::Feature 1316 ** @attr Analysis [EnsPAnalysis] Ensembl Analysis 1317 ** @attr Slice [EnsPSlice] Ensembl Slice 1318 ** @attr Sequencename [AjPStr] Sequence name 1319 ** @attr Start [ajint] Start coordinate 1320 ** @attr End [ajint] End coordinate 1321 ** @attr Strand [ajint] Strand orientation 1322 ** @attr Use [ajuint] Use counter 1323 ** @@ 1324 ******************************************************************************/ 1325 1326 typedef struct EnsSFeature 1327 { 1328 EnsPAnalysis Analysis; 1329 EnsPSlice Slice; 1330 AjPStr Sequencename; 1331 ajint Start; 1332 ajint End; 1333 ajint Strand; 1334 ajuint Use; 1335 } EnsOFeature; 1336 1337 #define EnsPFeature EnsOFeature* 1338 1339 1340 1341 1342 /* @data EnsPFeatureadaptor *************************************************** 1343 ** 1344 ** Ensembl Feature Adaptor 1345 ** 1346 ** @alias EnsSFeatureadaptor 1347 ** @alias EnsOFeatureadaptor 1348 ** 1349 ** @alias EnsPExonadaptor 1350 ** @alias EnsPDnaalignfeatureadaptor 1351 ** @alias EnsPDensityfeatureadaptor 1352 ** @alias EnsPDitagfeatureadaptor 1353 ** @alias EnsPGeneadaptor 1354 ** @alias EnsPIntronsupportingevidenceadaptor 1355 ** @alias EnsPKaryotypebandadaptor 1356 ** @alias EnsPMarkerfeatureadaptor 1357 ** @alias EnsPMiscellaneousfeatureadaptor 1358 ** @alias EnsPOperonadaptor 1359 ** @alias EnsPOperontranscriptadaptor 1360 ** @alias EnsPPredictionexonadaptor 1361 ** @alias EnsPPredictiontranscriptadaptor 1362 ** @alias EnsPProteinalignfeatureadaptor 1363 ** @alias EnsPRepeatfeatureadaptor 1364 ** @alias EnsPSimplefeatureadaptor 1365 ** 1366 ** @attr Adaptor [EnsPBaseadaptor] Ensembl Base Adaptor 1367 ** @attr Cache [EnsPCache] Ensembl LRU Cache 1368 ** @attr Tablenames [char**] SQL table name array, which is used for 1369 ** multi-species databases only. 1370 ** The array is dynamically allocated to extend for 1371 ** "seq_region" and "coord_system" table names. 1372 ** The array is then set in the Ensembl Base Adaptor 1373 ** object. 1374 ** @attr Defaultcondition [char*] SQL SELECT default condition, which is used 1375 ** for multi-species databases only. This character 1376 ** string is dynamically allocated to extend for 1377 ** "seq_region" and "coord_system" conditions. 1378 ** The string is then set in the Ensembl Base Adaptor 1379 ** object. 1380 ** @attr FobjectGetFeature [EnsPFeature function] 1381 ** Ensembl Object-specific objectGetFeature member function 1382 ** @attr Freference [void* function] 1383 ** Ensembl Object-specific referencing function 1384 ** @attr Fdelete [void function] 1385 ** Ensembl Object-specific deletion function 1386 ** @attr Startequalsend [AjBool] Simplified SQL in featureadaptorSliceFetch 1387 ** @attr Maximumlength [ajint] Maximum length of a particular Feature type 1388 ** @@ 1389 ******************************************************************************/ 1390 1391 typedef struct EnsSFeatureadaptor 1392 { 1393 EnsPBaseadaptor Adaptor; 1394 EnsPCache Cache; 1395 char **Tablenames; 1396 char *Defaultcondition; 1397 EnsPFeature (*FobjectGetFeature) (const void *object); 1398 void *(*Freference) (void *value); 1399 void (*Fdelete) (void **Pvalue); 1400 AjBool Startequalsend; 1401 ajint Maximumlength; 1402 } EnsOFeatureadaptor; 1403 1404 #define EnsPFeatureadaptor EnsOFeatureadaptor* 1405 1406 1407 1408 1409 /* @data EnsPExonadaptor ****************************************************** 1410 ** 1411 ** Ensembl Exon Adaptor 1412 ** 1413 ** @alias EnsSExonadaptor 1414 ** @alias EnsOExonadaptor 1415 ** 1416 ** 1417 ** @attr Exonadaptor [EnsPFeatureadaptor] Ensembl Feature Adaptor 1418 ** @attr Exontranscriptadaptor [EnsPFeatureadaptor] Ensembl Feature Adaptor 1419 ** @@ 1420 ******************************************************************************/ 1421 1422 typedef struct EnsSExonadaptor 1423 { 1424 EnsPFeatureadaptor Exonadaptor; 1425 EnsPFeatureadaptor Exontranscriptadaptor; 1426 } EnsOExonadaptor; 1427 1428 #define EnsPExonadaptor EnsOExonadaptor* 1429 1430 1431 1432 1433 /* @data EnsPExon ************************************************************* 1434 ** 1435 ** Ensembl Exon 1436 ** 1437 ** @alias EnsSExon 1438 ** @alias EnsOExon 1439 ** 1440 ** @attr Use [ajuint] Use counter 1441 ** @cc Bio::EnsEMBL::Storable 1442 ** @attr Identifier [ajuint] Internal SQL database identifier (primary key) 1443 ** @attr Adaptor [EnsPExonadaptor] Ensembl Exon Adaptor 1444 ** @cc Bio::EnsEMBL::Feature 1445 ** @attr Feature [EnsPFeature] Ensembl Feature 1446 ** @cc Bio::EnsEMBL::Exon 1447 ** @cc "exon" SQL table 1448 ** @attr PhaseStart [ajint] Phase of Exon start 1449 ** @attr PhaseEnd [ajint] Phase of Exon end 1450 ** @attr Current [AjBool] Current 1451 ** @attr Constitutive [AjBool] Consitutive 1452 ** @cc "exon_stable_id" SQL table 1453 ** @attr Stableidentifier [AjPStr] Stable identifier 1454 ** @attr Version [ajuint] Version 1455 ** @attr Padding [ajuint] Padding to alignment boundary 1456 ** @attr DateCreation [AjPStr] Creation date 1457 ** @attr DateModification [AjPStr] Modification date 1458 ** @cc Additional members not in SQL tables 1459 ** @attr SequenceCache [AjPStr] Sequence Cache 1460 ** @attr Supportingfeatures [AjPList] 1461 ** AJAX List of Ensembl Base Align Feature objects 1462 ** @@ 1463 ******************************************************************************/ 1464 1465 typedef struct EnsSExon 1466 { 1467 ajuint Use; 1468 ajuint Identifier; 1469 EnsPExonadaptor Adaptor; 1470 EnsPFeature Feature; 1471 ajint PhaseStart; 1472 ajint PhaseEnd; 1473 AjBool Current; 1474 AjBool Constitutive; 1475 AjPStr Stableidentifier; 1476 ajuint Version; 1477 ajuint Padding; 1478 AjPStr DateCreation; 1479 AjPStr DateModification; 1480 AjPStr SequenceCache; 1481 AjPList Supportingfeatures; 1482 } EnsOExon; 1483 1484 #define EnsPExon EnsOExon* 1485 1486 1487 1488 1489 /* @data EnsPIntron *********************************************************** 1490 ** 1491 ** Ensembl Intron 1492 ** 1493 ** @alias EnsSIntron 1494 ** @alias EnsOIntron 1495 ** 1496 ** @cc Bio::EnsEMBL::Feature 1497 ** @attr Feature [EnsPFeature] Ensembl Feature 1498 ** @cc Bio::EnsEMBL::Intron 1499 ** @attr PreviousExon [EnsPExon] Previous Ensembl Exon 1500 ** @attr NextExon [EnsPExon] Next Ensembl Exon 1501 ** @attr Use [ajuint] Use counter 1502 ** @attr Padding [ajuint] Padding to alignment boundary 1503 ** @@ 1504 ******************************************************************************/ 1505 1506 typedef struct EnsSIntron 1507 { 1508 EnsPFeature Feature; 1509 EnsPExon PreviousExon; 1510 EnsPExon NextExon; 1511 ajuint Use; 1512 ajuint Padding; 1513 } EnsOIntron; 1514 1515 #define EnsPIntron EnsOIntron* 1516 1517 1518 1519 1520 /* @data EnsPIntronsupportingevidence ***************************************** 1521 ** 1522 ** Ensembl Intron Supporting Evidence 1523 ** 1524 ** @alias EnsSIntronsupportingevidence 1525 ** @alias EnsOIntronsupportingevidence 1526 ** 1527 ** @attr Use [ajuint] Use counter 1528 ** @cc Bio::EnsEMBL::Storable 1529 ** @attr Identifier [ajuint] SQL database-internal identifier 1530 ** @attr Adaptor [EnsPIntronsupportingevidenceadaptor] 1531 ** Ensembl Intron Supporting Evidence Adaptor 1532 ** @cc Bio::EnsEMBL::Feature 1533 ** @attr Feature [EnsPFeature] Ensembl Feature 1534 ** @cc Bio::EnsEMBL::IntronSupportingEvidence 1535 ** @attr Intron [EnsPIntron] Ensembl Intron 1536 ** @attr Hitname [AjPStr] Hit name 1537 ** @attr Canonical [AjBool] Canonical splice sites 1538 ** @attr Score [double] Socre 1539 ** @attr Type [EnsEIntronsupportingevidenceType] 1540 ** Ensembl Intron Supporting Evidence Type enumeration 1541 ** @@ 1542 ******************************************************************************/ 1543 1544 typedef struct EnsSIntronsupportingevidence 1545 { 1546 ajuint Use; 1547 ajuint Identifier; 1548 EnsPIntronsupportingevidenceadaptor Adaptor; 1549 EnsPFeature Feature; 1550 EnsPIntron Intron; 1551 AjPStr Hitname; 1552 AjBool Canonical; 1553 double Score; 1554 EnsEIntronsupportingevidenceType Type; 1555 } EnsOIntronsupportingevidence; 1556 1557 #define EnsPIntronsupportingevidence EnsOIntronsupportingevidence* 1558 1559 1560 1561 1562 /* @data EnsPTranslation ****************************************************** 1563 ** 1564 ** Ensembl Translation 1565 ** 1566 ** @alias EnsSTranslation 1567 ** @alias EnsOTranslation 1568 ** 1569 ** @attr Use [ajuint] Use counter 1570 ** @cc Bio::EnsEMBL::Storable 1571 ** @attr Identifier [ajuint] Internal SQL database identifier (primary key) 1572 ** @attr Adaptor [EnsPTranslationadaptor] Ensembl Translation Adaptor 1573 ** @cc Bio::EnsEMBL::Translation 1574 ** @cc "translation" SQL table 1575 ** @attr Startexon [EnsPExon] 1576 ** Ensembl Exon in which the Translation start coordinate is annotated 1577 ** @attr Endexon [EnsPExon] 1578 ** Ensembl Exon in which the Translation end coordinate is annotated 1579 ** @attr Start [ajuint] Start coordinate relative to the start Ensembl Exon 1580 ** @attr End [ajuint] End coordinate relative to the end Ensembl Exon 1581 ** @cc "translation_stable_id" SQL table 1582 ** @attr Stableidentifier [AjPStr] Stable identifier 1583 ** @attr DateCreation [AjPStr] Creation date 1584 ** @attr DateModification [AjPStr] Modification date 1585 ** @attr Version [ajuint] Version 1586 ** @attr Padding [ajuint] Padding to alignment boundary 1587 ** @cc Additional members not in SQL tables 1588 ** @attr Attributes [AjPList] AJAX List of Ensembl Attribute objects 1589 ** @attr Databaseentries [AjPList] AJAX List of Ensembl Database Entry objects 1590 ** @attr Proteinfeatures [AjPList] AJAX List of Ensembl Protein Feature objects 1591 ** @attr Sequence [AjPStr] Sequence 1592 ** @attr TranscriptStart [ajuint] 1593 ** Start coordinate relative to the Ensembl Transcript (cDNA) 1594 ** @attr TranscriptEnd [ajuint] 1595 ** End coordinate relative to the Ensembl Transcript (cDNA) 1596 ** @attr SliceStart [ajint] Start coordinate relative to the Ensembl Slice 1597 ** @attr SliceEnd [ajint] End coordinate relative to the Ensembl Slice 1598 ** @@ 1599 ******************************************************************************/ 1600 1601 typedef struct EnsSTranslation 1602 { 1603 ajuint Use; 1604 ajuint Identifier; 1605 EnsPTranslationadaptor Adaptor; 1606 EnsPExon Startexon; 1607 EnsPExon Endexon; 1608 ajuint Start; 1609 ajuint End; 1610 AjPStr Stableidentifier; 1611 AjPStr DateCreation; 1612 AjPStr DateModification; 1613 ajuint Version; 1614 ajuint Padding; 1615 AjPList Attributes; 1616 AjPList Databaseentries; 1617 AjPList Proteinfeatures; 1618 AjPStr Sequence; 1619 ajuint TranscriptStart; 1620 ajuint TranscriptEnd; 1621 ajint SliceStart; 1622 ajint SliceEnd; 1623 } EnsOTranslation; 1624 1625 #define EnsPTranslation EnsOTranslation* 1626 1627 1628 1629 1630 /* @data EnsPTranscript ******************************************************* 1631 ** 1632 ** Ensembl Transcript 1633 ** 1634 ** @alias EnsSTranscript 1635 ** @alias EnsOTranscript 1636 ** 1637 ** @attr Use [ajuint] Use counter 1638 ** @cc Bio::EnsEMBL::Storable 1639 ** @attr Identifier [ajuint] Internal SQL database identifier (primary key) 1640 ** @attr Adaptor [EnsPTranscriptadaptor] Ensembl Transcript Adaptor 1641 ** @cc Bio::EnsEMBL::Feature 1642 ** @attr Feature [EnsPFeature] Ensembl Feature 1643 ** @cc Bio::EnsEMBL::Transcript 1644 ** @cc "transcript" SQL table 1645 ** @attr Displayreference [EnsPDatabaseentry] Display External Reference 1646 ** @attr Description [AjPStr] Description 1647 ** @attr Biotype [AjPStr] Biological type 1648 ** @attr Status [EnsETranscriptStatus] Status 1649 ** @attr Current [AjBool] Current attribute 1650 ** @cc "transcript_stable_id" SQL table 1651 ** @attr Stableidentifier [AjPStr] Stable identifier 1652 ** @attr DateCreation [AjPStr] Creation date 1653 ** @attr DateModification [AjPStr] Modification date 1654 ** @attr Version [ajuint] Version 1655 ** @cc Additional members not in SQL tables 1656 ** @attr Geneidentifier [ajuint] Ensembl Gene identifier 1657 ** @attr Alternativetranslations [AjPList] 1658 ** AJAX List of alternative Ensembl Translation objects 1659 ** @attr Attributes [AjPList] 1660 ** AJAX List of Ensembl Attribute objects 1661 ** @attr Databaseentries [AjPList] 1662 ** AJAX List of Ensembl Database Entry objects 1663 ** @attr Exons [AjPList] 1664 ** AJAX List of Ensembl Exon objects 1665 ** @attr Intronsupportingevidences [AjPList] 1666 ** AJAX List of Ensembl Intron Supporting Evidence objects 1667 ** @attr Supportingfeatures [AjPList] 1668 ** AJAX List of Ensembl Base Align Feature objects 1669 ** @attr Translation [EnsPTranslation] Ensembl Translation 1670 ** @attr Sequenceedits [AjBool] Enable Ensembl Sequence Edit objects 1671 ** @attr Padding [ajuint] Padding to alignment boundary 1672 ** @attr Canonical [AjBool*] Canonical attribute 1673 ** @cc Bio::EnsEMBL::TranscriptMapper 1674 ** @attr ExonCoordMapper [EnsPMapper] Ensembl Mapper 1675 ** @@ 1676 ******************************************************************************/ 1677 1678 typedef struct EnsSTranscript 1679 { 1680 ajuint Use; 1681 ajuint Identifier; 1682 EnsPTranscriptadaptor Adaptor; 1683 EnsPFeature Feature; 1684 EnsPDatabaseentry Displayreference; 1685 AjPStr Description; 1686 AjPStr Biotype; 1687 EnsETranscriptStatus Status; 1688 AjBool Current; 1689 AjPStr Stableidentifier; 1690 AjPStr DateCreation; 1691 AjPStr DateModification; 1692 ajuint Version; 1693 ajuint Geneidentifier; 1694 AjPList Alternativetranslations; 1695 AjPList Attributes; 1696 AjPList Databaseentries; 1697 AjPList Exons; 1698 AjPList Intronsupportingevidences; 1699 AjPList Supportingfeatures; 1700 EnsPTranslation Translation; 1701 AjBool Sequenceedits; 1702 ajuint Padding; 1703 AjBool *Canonical; 1704 EnsPMapper ExonCoordMapper; 1705 } EnsOTranscript; 1706 1707 #define EnsPTranscript EnsOTranscript* 1708 1709 1710 1711 1712 /* @data EnsPGene ************************************************************* 1713 ** 1714 ** Ensembl Gene 1715 ** 1716 ** @alias EnsSGene 1717 ** @alias EnsOGene 1718 ** 1719 ** @attr Use [ajuint] Use counter 1720 ** @cc Bio::EnsEMBL::Storable 1721 ** @attr Identifier [ajuint] Internal SQL database identifier (primary key) 1722 ** @attr Adaptor [EnsPGeneadaptor] Ensembl Gene Adaptor 1723 ** @cc Bio::EnsEMBL::Feature 1724 ** @attr Feature [EnsPFeature] Ensembl Feature 1725 ** @cc Bio::EnsEMBL::Gene 1726 ** @cc "gene" SQL table 1727 ** @attr Displayreference [EnsPDatabaseentry] Display External Reference 1728 ** @attr Description [AjPStr] Description 1729 ** @attr Source [AjPStr] Source 1730 ** @attr Biotype [AjPStr] Biological type 1731 ** @attr Status [EnsEGeneStatus] Status 1732 ** @attr Current [AjBool] Current attribute 1733 ** @attr Canonicalannotation [AjPStr] Canonical annotation 1734 ** @attr Canonicaltranscriptidentifier [ajuint] 1735 ** Canonical Ensembl Transcript identifier 1736 ** @attr Version [ajuint] Version 1737 ** @cc "gene_stable_id" SQL table 1738 ** @attr Stableidentifier [AjPStr] Stable identifier 1739 ** @attr DateCreation [AjPStr] Creation date 1740 ** @attr DateModification [AjPStr] Modification date 1741 ** @cc Additional members not in SQL tables 1742 ** @attr Attributes [AjPList] AJAX List of Ensembl Attribute objects 1743 ** @attr Databaseentries [AjPList] AJAX List of Ensembl Database Entry objects 1744 ** @attr Transcripts [AjPList] AJAX List of Ensembl Transcript objects 1745 ** @@ 1746 ******************************************************************************/ 1747 1748 typedef struct EnsSGene 1749 { 1750 ajuint Use; 1751 ajuint Identifier; 1752 EnsPGeneadaptor Adaptor; 1753 EnsPFeature Feature; 1754 EnsPDatabaseentry Displayreference; 1755 AjPStr Description; 1756 AjPStr Source; 1757 AjPStr Biotype; 1758 EnsEGeneStatus Status; 1759 AjBool Current; 1760 AjPStr Canonicalannotation; 1761 ajuint Canonicaltranscriptidentifier; 1762 ajuint Version; 1763 AjPStr Stableidentifier; 1764 AjPStr DateCreation; 1765 AjPStr DateModification; 1766 AjPList Attributes; 1767 AjPList Databaseentries; 1768 AjPList Transcripts; 1769 } EnsOGene; 1770 1771 #define EnsPGene EnsOGene* 1772 1773 1774 1775 1776 /* @data EnsPOperon *********************************************************** 1777 ** 1778 ** Ensembl Operon 1779 ** 1780 ** @alias EnsSOperon 1781 ** @alias EnsOOperon 1782 ** 1783 ** @attr Use [ajuint] Use counter 1784 ** @cc Bio::EnsEMBL::Storable 1785 ** @attr Identifier [ajuint] Internal SQL database identifier (primary key) 1786 ** @attr Adaptor [EnsPOperonadaptor] Ensembl Operon Adaptor 1787 ** @cc Bio::EnsEMBL::Feature 1788 ** @attr Feature [EnsPFeature] Ensembl Feature 1789 ** @cc Bio::EnsEMBL::Operon 1790 ** @cc "operon" SQL table 1791 ** @attr Displaylabel [AjPStr] Display Label 1792 ** @attr Stableidentifier [AjPStr] Stable identifier 1793 ** @attr DateCreation [AjPStr] Creation date 1794 ** @attr DateModification [AjPStr] Modification date 1795 ** @attr Version [ajuint] Version 1796 ** @attr Padding [ajuint] Padding to alignment boundary 1797 ** @attr Attributes [AjPList] AJAX List of Ensembl Attribute objects 1798 ** @attr Databaseentries [AjPList] AJAX List of Ensembl Database Entry objects 1799 ** @attr Operontranscripts [AjPList] 1800 ** AJAX List of Ensembl Operon Transcript objects 1801 ** @@ 1802 ******************************************************************************/ 1803 1804 typedef struct EnsSOperon 1805 { 1806 ajuint Use; 1807 ajuint Identifier; 1808 EnsPOperonadaptor Adaptor; 1809 EnsPFeature Feature; 1810 AjPStr Displaylabel; 1811 AjPStr Stableidentifier; 1812 AjPStr DateCreation; 1813 AjPStr DateModification; 1814 ajuint Version; 1815 ajuint Padding; 1816 AjPList Attributes; 1817 AjPList Databaseentries; 1818 AjPList Operontranscripts; 1819 } EnsOOperon; 1820 1821 #define EnsPOperon EnsOOperon* 1822 1823 1824 1825 1826 /* @data EnsPOperontranscript ************************************************* 1827 ** 1828 ** Ensembl Operon Transcript 1829 ** 1830 ** @alias EnsSOperontranscript 1831 ** @alias EnsOOperontranscript 1832 ** 1833 ** @attr Use [ajuint] Use counter 1834 ** @cc Bio::EnsEMBL::Storable 1835 ** @attr Identifier [ajuint] Internal SQL database identifier (primary key) 1836 ** @attr Adaptor [EnsPOperontranscriptadaptor] 1837 ** Ensembl Operon Transcript Adaptor 1838 ** @cc Bio::EnsEMBL::Feature 1839 ** @attr Feature [EnsPFeature] Ensembl Feature 1840 ** @cc Bio::EnsEMBL::OperonTranscript 1841 ** @cc "operon_transcript" SQL table 1842 ** @attr Displaylabel [AjPStr] Display Label 1843 ** @attr Stableidentifier [AjPStr] Stable identifier 1844 ** @attr DateCreation [AjPStr] Creation date 1845 ** @attr DateModification [AjPStr] Modification date 1846 ** @attr Version [ajuint] Version 1847 ** @attr Padding [ajuint] Padding to alignment boundary 1848 ** @attr Attributes [AjPList] AJAX List of Ensembl Attribute objects 1849 ** @attr Databaseentries [AjPList] AJAX List of Ensembl Database Entry objects 1850 ** @attr Genes [AjPList] AJAX List of Ensembl Gene objects 1851 ** @@ 1852 ******************************************************************************/ 1853 1854 typedef struct EnsSOperontranscript 1855 { 1856 ajuint Use; 1857 ajuint Identifier; 1858 EnsPOperontranscriptadaptor Adaptor; 1859 EnsPFeature Feature; 1860 AjPStr Displaylabel; 1861 AjPStr Stableidentifier; 1862 AjPStr DateCreation; 1863 AjPStr DateModification; 1864 ajuint Version; 1865 ajuint Padding; 1866 AjPList Attributes; 1867 AjPList Databaseentries; 1868 AjPList Genes; 1869 } EnsOOperontranscript; 1870 1871 #define EnsPOperontranscript EnsOOperontranscript* 1872 1873 1874 1875 1876 /* @data EnsPSeqregionsynonym ************************************************* 1877 ** 1878 ** Ensembl Sequence Region Synonym 1879 ** 1880 ** @attr Use [ajuint] Usage counter 1881 ** @cc Bio::EnsEMBL::Storable 1882 ** @attr Identifier [ajuint] Internal SQL database identifier (primary key) 1883 ** @attr Adaptor [EnsPSeqregionsynonymadaptor] 1884 ** Ensembl Sequence Region Synonym Adaptor 1885 ** @cc Bio::EnsEMBL::SeqRegionSynonym 1886 ** @attr Externaldatabase [EnsPExternaldatabase] Ensembl External Database 1887 ** @attr Name [AjPStr] Name 1888 ** @attr Seqregionidentifier [ajuint] Ensembl Sequence Region identifier 1889 ** @attr Padding [ajuint] Padding to alignment boundary 1890 ** @@ 1891 ******************************************************************************/ 1892 1893 typedef struct EnsSSeqregionsynonym 1894 { 1895 ajuint Use; 1896 ajuint Identifier; 1897 EnsPSeqregionsynonymadaptor Adaptor; 1898 EnsPExternaldatabase Externaldatabase; 1899 AjPStr Name; 1900 ajuint Seqregionidentifier; 1901 ajuint Padding; 1902 } EnsOSeqregionsynonym; 1903 1904 #define EnsPSeqregionsynonym EnsOSeqregionsynonym* 1905 1906 1907 1908 1909 /* ========================================================================= */ 1910 /* =========================== public functions ============================ */ 1911 /* ========================================================================= */ 1912 1913 /* 1914 ** Prototype definitions 1915 */ 1916 1917 /* 1918 ** End of prototype definitions 1919 */ 1920 1921 1922 1923 1924 AJ_END_DECLS 1925 1926 #endif /* !ENSDATA_H */ 1927