1 #ifndef DYNAMITEassemblyHEADERFILE 2 #define DYNAMITEassemblyHEADERFILE 3 #ifdef _cplusplus 4 extern "C" { 5 #endif 6 #include "sequence.h" 7 #include "largeseqreader.h" 8 9 #define AssemblySequenceLISTLENGTH 8 10 #define AssemblyContigLISTLENGTH 512 11 #define AssemblyLISTLENGTH 1024 12 13 #define AssemblyOpaqueTypeSetLISTLENGTH 16 14 15 struct Wise2_AssemblySequenceEdit { 16 int dynamite_hard_link; 17 #ifdef PTHREAD 18 pthread_mutex_t dynamite_mutex; 19 #endif 20 char type; 21 char base; 22 } ; 23 /* AssemblySequenceEdit defined */ 24 #ifndef DYNAMITE_DEFINED_AssemblySequenceEdit 25 typedef struct Wise2_AssemblySequenceEdit Wise2_AssemblySequenceEdit; 26 #define AssemblySequenceEdit Wise2_AssemblySequenceEdit 27 #define DYNAMITE_DEFINED_AssemblySequenceEdit 28 #endif 29 30 31 #ifndef DYNAMITE_DEFINED_AssemblySequence 32 typedef struct Wise2_AssemblySequence Wise2_AssemblySequence; 33 #define AssemblySequence Wise2_AssemblySequence 34 #define DYNAMITE_DEFINED_AssemblySequence 35 #endif 36 37 struct Wise2_AssemblyOpaqueType { 38 int dynamite_hard_link; 39 #ifdef PTHREAD 40 pthread_mutex_t dynamite_mutex; 41 #endif 42 int int_type; 43 char base; 44 } ; 45 /* AssemblyOpaqueType defined */ 46 #ifndef DYNAMITE_DEFINED_AssemblyOpaqueType 47 typedef struct Wise2_AssemblyOpaqueType Wise2_AssemblyOpaqueType; 48 #define AssemblyOpaqueType Wise2_AssemblyOpaqueType 49 #define DYNAMITE_DEFINED_AssemblyOpaqueType 50 #endif 51 52 53 struct Wise2_AssemblyOpaqueTypeSet { 54 int dynamite_hard_link; 55 #ifdef PTHREAD 56 pthread_mutex_t dynamite_mutex; 57 #endif 58 AssemblyOpaqueType ** type; 59 int len;/* len for above type */ 60 int maxlen; /* maxlen for above type */ 61 } ; 62 /* AssemblyOpaqueTypeSet defined */ 63 #ifndef DYNAMITE_DEFINED_AssemblyOpaqueTypeSet 64 typedef struct Wise2_AssemblyOpaqueTypeSet Wise2_AssemblyOpaqueTypeSet; 65 #define AssemblyOpaqueTypeSet Wise2_AssemblyOpaqueTypeSet 66 #define DYNAMITE_DEFINED_AssemblyOpaqueTypeSet 67 #endif 68 69 70 struct Wise2_AssemblyOpaqueFeature { 71 int dynamite_hard_link; 72 #ifdef PTHREAD 73 pthread_mutex_t dynamite_mutex; 74 #endif 75 int start; 76 int length; 77 AssemblyOpaqueType * type; 78 } ; 79 /* AssemblyOpaqueFeature defined */ 80 #ifndef DYNAMITE_DEFINED_AssemblyOpaqueFeature 81 typedef struct Wise2_AssemblyOpaqueFeature Wise2_AssemblyOpaqueFeature; 82 #define AssemblyOpaqueFeature Wise2_AssemblyOpaqueFeature 83 #define DYNAMITE_DEFINED_AssemblyOpaqueFeature 84 #endif 85 86 87 struct Wise2_AssemblySequence { 88 int dynamite_hard_link; 89 #ifdef PTHREAD 90 pthread_mutex_t dynamite_mutex; 91 #endif 92 Sequence * seq; 93 double * quality; 94 AssemblySequenceEdit ** edit; 95 int len;/* len for above edit */ 96 int maxlen; /* maxlen for above edit */ 97 char state; 98 AssemblySequence * mirror; 99 AssemblySequence * pair; 100 char mirror_seq; 101 AssemblyOpaqueFeature ** opaque; 102 int opq_len;/* len for above opaque */ 103 int opq_maxlen; /* maxlen for above opaque */ 104 Sequence * orig; 105 int * abrev_repeat; 106 } ; 107 /* AssemblySequence defined */ 108 #ifndef DYNAMITE_DEFINED_AssemblySequence 109 typedef struct Wise2_AssemblySequence Wise2_AssemblySequence; 110 #define AssemblySequence Wise2_AssemblySequence 111 #define DYNAMITE_DEFINED_AssemblySequence 112 #endif 113 114 115 struct Wise2_AssemblySequencePlacement { 116 int dynamite_hard_link; 117 #ifdef PTHREAD 118 pthread_mutex_t dynamite_mutex; 119 #endif 120 AssemblySequence * aseq; 121 long contig_start; 122 long contig_end; 123 int seq_start; 124 int seq_end; 125 boolean ungapped; 126 } ; 127 /* AssemblySequencePlacement defined */ 128 #ifndef DYNAMITE_DEFINED_AssemblySequencePlacement 129 typedef struct Wise2_AssemblySequencePlacement Wise2_AssemblySequencePlacement; 130 #define AssemblySequencePlacement Wise2_AssemblySequencePlacement 131 #define DYNAMITE_DEFINED_AssemblySequencePlacement 132 #endif 133 134 135 struct Wise2_AssemblyContig { 136 int dynamite_hard_link; 137 #ifdef PTHREAD 138 pthread_mutex_t dynamite_mutex; 139 #endif 140 Sequence * consensus; 141 AssemblySequencePlacement ** reads; 142 int len;/* len for above reads */ 143 int maxlen; /* maxlen for above reads */ 144 boolean clean_start; 145 boolean clean_end; 146 int max_depth; 147 } ; 148 /* AssemblyContig defined */ 149 #ifndef DYNAMITE_DEFINED_AssemblyContig 150 typedef struct Wise2_AssemblyContig Wise2_AssemblyContig; 151 #define AssemblyContig Wise2_AssemblyContig 152 #define DYNAMITE_DEFINED_AssemblyContig 153 #endif 154 155 156 struct Wise2_Assembly { 157 int dynamite_hard_link; 158 #ifdef PTHREAD 159 pthread_mutex_t dynamite_mutex; 160 #endif 161 AssemblyContig ** contig; 162 int len;/* len for above contig */ 163 int maxlen; /* maxlen for above contig */ 164 AssemblySequence ** chaff; 165 int chaff_len; /* len for above chaff */ 166 int chaff_maxlen; /* maxlen for above chaff */ 167 } ; 168 /* Assembly defined */ 169 #ifndef DYNAMITE_DEFINED_Assembly 170 typedef struct Wise2_Assembly Wise2_Assembly; 171 #define Assembly Wise2_Assembly 172 #define DYNAMITE_DEFINED_Assembly 173 #endif 174 175 176 struct Wise2_AssemblyOutputPara { 177 int dynamite_hard_link; 178 #ifdef PTHREAD 179 pthread_mutex_t dynamite_mutex; 180 #endif 181 int min_size; 182 } ; 183 /* AssemblyOutputPara defined */ 184 #ifndef DYNAMITE_DEFINED_AssemblyOutputPara 185 typedef struct Wise2_AssemblyOutputPara Wise2_AssemblyOutputPara; 186 #define AssemblyOutputPara Wise2_AssemblyOutputPara 187 #define DYNAMITE_DEFINED_AssemblyOutputPara 188 #endif 189 190 191 192 193 /***************************************************/ 194 /* Callable functions */ 195 /* These are the functions you are expected to use */ 196 /***************************************************/ 197 198 199 200 /* Function: hard_link_AssemblySequenceEdit(obj) 201 * 202 * Descrip: Bumps up the reference count of the object 203 * Meaning that multiple pointers can 'own' it 204 * 205 * 206 * Arg: obj [UNKN ] Object to be hard linked [AssemblySequenceEdit *] 207 * 208 * Return [UNKN ] Undocumented return value [AssemblySequenceEdit *] 209 * 210 */ 211 AssemblySequenceEdit * Wise2_hard_link_AssemblySequenceEdit(AssemblySequenceEdit * obj); 212 #define hard_link_AssemblySequenceEdit Wise2_hard_link_AssemblySequenceEdit 213 214 215 /* Function: AssemblySequenceEdit_alloc(void) 216 * 217 * Descrip: Allocates structure: assigns defaults if given 218 * 219 * 220 * 221 * Return [UNKN ] Undocumented return value [AssemblySequenceEdit *] 222 * 223 */ 224 AssemblySequenceEdit * Wise2_AssemblySequenceEdit_alloc(void); 225 #define AssemblySequenceEdit_alloc Wise2_AssemblySequenceEdit_alloc 226 227 228 /* Function: free_AssemblySequenceEdit(obj) 229 * 230 * Descrip: Free Function: removes the memory held by obj 231 * Will chain up to owned members and clear all lists 232 * 233 * 234 * Arg: obj [UNKN ] Object that is free'd [AssemblySequenceEdit *] 235 * 236 * Return [UNKN ] Undocumented return value [AssemblySequenceEdit *] 237 * 238 */ 239 AssemblySequenceEdit * Wise2_free_AssemblySequenceEdit(AssemblySequenceEdit * obj); 240 #define free_AssemblySequenceEdit Wise2_free_AssemblySequenceEdit 241 242 243 /* Function: hard_link_AssemblyOpaqueType(obj) 244 * 245 * Descrip: Bumps up the reference count of the object 246 * Meaning that multiple pointers can 'own' it 247 * 248 * 249 * Arg: obj [UNKN ] Object to be hard linked [AssemblyOpaqueType *] 250 * 251 * Return [UNKN ] Undocumented return value [AssemblyOpaqueType *] 252 * 253 */ 254 AssemblyOpaqueType * Wise2_hard_link_AssemblyOpaqueType(AssemblyOpaqueType * obj); 255 #define hard_link_AssemblyOpaqueType Wise2_hard_link_AssemblyOpaqueType 256 257 258 /* Function: AssemblyOpaqueType_alloc(void) 259 * 260 * Descrip: Allocates structure: assigns defaults if given 261 * 262 * 263 * 264 * Return [UNKN ] Undocumented return value [AssemblyOpaqueType *] 265 * 266 */ 267 AssemblyOpaqueType * Wise2_AssemblyOpaqueType_alloc(void); 268 #define AssemblyOpaqueType_alloc Wise2_AssemblyOpaqueType_alloc 269 270 271 /* Function: free_AssemblyOpaqueType(obj) 272 * 273 * Descrip: Free Function: removes the memory held by obj 274 * Will chain up to owned members and clear all lists 275 * 276 * 277 * Arg: obj [UNKN ] Object that is free'd [AssemblyOpaqueType *] 278 * 279 * Return [UNKN ] Undocumented return value [AssemblyOpaqueType *] 280 * 281 */ 282 AssemblyOpaqueType * Wise2_free_AssemblyOpaqueType(AssemblyOpaqueType * obj); 283 #define free_AssemblyOpaqueType Wise2_free_AssemblyOpaqueType 284 285 286 /* Function: add_AssemblyOpaqueTypeSet(obj,add) 287 * 288 * Descrip: Adds another object to the list. It will expand the list if necessary 289 * 290 * 291 * Arg: obj [UNKN ] Object which contains the list [AssemblyOpaqueTypeSet *] 292 * Arg: add [OWNER] Object to add to the list [AssemblyOpaqueType *] 293 * 294 * Return [UNKN ] Undocumented return value [boolean] 295 * 296 */ 297 boolean Wise2_add_AssemblyOpaqueTypeSet(AssemblyOpaqueTypeSet * obj,AssemblyOpaqueType * add); 298 #define add_AssemblyOpaqueTypeSet Wise2_add_AssemblyOpaqueTypeSet 299 300 301 /* Function: flush_AssemblyOpaqueTypeSet(obj) 302 * 303 * Descrip: Frees the list elements, sets length to 0 304 * If you want to save some elements, use hard_link_xxx 305 * to protect them from being actually destroyed in the free 306 * 307 * 308 * Arg: obj [UNKN ] Object which contains the list [AssemblyOpaqueTypeSet *] 309 * 310 * Return [UNKN ] Undocumented return value [int] 311 * 312 */ 313 int Wise2_flush_AssemblyOpaqueTypeSet(AssemblyOpaqueTypeSet * obj); 314 #define flush_AssemblyOpaqueTypeSet Wise2_flush_AssemblyOpaqueTypeSet 315 316 317 /* Function: AssemblyOpaqueTypeSet_alloc_std(void) 318 * 319 * Descrip: Equivalent to AssemblyOpaqueTypeSet_alloc_len(AssemblyOpaqueTypeSetLISTLENGTH) 320 * 321 * 322 * 323 * Return [UNKN ] Undocumented return value [AssemblyOpaqueTypeSet *] 324 * 325 */ 326 AssemblyOpaqueTypeSet * Wise2_AssemblyOpaqueTypeSet_alloc_std(void); 327 #define AssemblyOpaqueTypeSet_alloc_std Wise2_AssemblyOpaqueTypeSet_alloc_std 328 329 330 /* Function: AssemblyOpaqueTypeSet_alloc_len(len) 331 * 332 * Descrip: Allocates len length to all lists 333 * 334 * 335 * Arg: len [UNKN ] Length of lists to allocate [int] 336 * 337 * Return [UNKN ] Undocumented return value [AssemblyOpaqueTypeSet *] 338 * 339 */ 340 AssemblyOpaqueTypeSet * Wise2_AssemblyOpaqueTypeSet_alloc_len(int len); 341 #define AssemblyOpaqueTypeSet_alloc_len Wise2_AssemblyOpaqueTypeSet_alloc_len 342 343 344 /* Function: hard_link_AssemblyOpaqueTypeSet(obj) 345 * 346 * Descrip: Bumps up the reference count of the object 347 * Meaning that multiple pointers can 'own' it 348 * 349 * 350 * Arg: obj [UNKN ] Object to be hard linked [AssemblyOpaqueTypeSet *] 351 * 352 * Return [UNKN ] Undocumented return value [AssemblyOpaqueTypeSet *] 353 * 354 */ 355 AssemblyOpaqueTypeSet * Wise2_hard_link_AssemblyOpaqueTypeSet(AssemblyOpaqueTypeSet * obj); 356 #define hard_link_AssemblyOpaqueTypeSet Wise2_hard_link_AssemblyOpaqueTypeSet 357 358 359 /* Function: AssemblyOpaqueTypeSet_alloc(void) 360 * 361 * Descrip: Allocates structure: assigns defaults if given 362 * 363 * 364 * 365 * Return [UNKN ] Undocumented return value [AssemblyOpaqueTypeSet *] 366 * 367 */ 368 AssemblyOpaqueTypeSet * Wise2_AssemblyOpaqueTypeSet_alloc(void); 369 #define AssemblyOpaqueTypeSet_alloc Wise2_AssemblyOpaqueTypeSet_alloc 370 371 372 /* Function: free_AssemblyOpaqueTypeSet(obj) 373 * 374 * Descrip: Free Function: removes the memory held by obj 375 * Will chain up to owned members and clear all lists 376 * 377 * 378 * Arg: obj [UNKN ] Object that is free'd [AssemblyOpaqueTypeSet *] 379 * 380 * Return [UNKN ] Undocumented return value [AssemblyOpaqueTypeSet *] 381 * 382 */ 383 AssemblyOpaqueTypeSet * Wise2_free_AssemblyOpaqueTypeSet(AssemblyOpaqueTypeSet * obj); 384 #define free_AssemblyOpaqueTypeSet Wise2_free_AssemblyOpaqueTypeSet 385 386 387 /* Function: hard_link_AssemblyOpaqueFeature(obj) 388 * 389 * Descrip: Bumps up the reference count of the object 390 * Meaning that multiple pointers can 'own' it 391 * 392 * 393 * Arg: obj [UNKN ] Object to be hard linked [AssemblyOpaqueFeature *] 394 * 395 * Return [UNKN ] Undocumented return value [AssemblyOpaqueFeature *] 396 * 397 */ 398 AssemblyOpaqueFeature * Wise2_hard_link_AssemblyOpaqueFeature(AssemblyOpaqueFeature * obj); 399 #define hard_link_AssemblyOpaqueFeature Wise2_hard_link_AssemblyOpaqueFeature 400 401 402 /* Function: AssemblyOpaqueFeature_alloc(void) 403 * 404 * Descrip: Allocates structure: assigns defaults if given 405 * 406 * 407 * 408 * Return [UNKN ] Undocumented return value [AssemblyOpaqueFeature *] 409 * 410 */ 411 AssemblyOpaqueFeature * Wise2_AssemblyOpaqueFeature_alloc(void); 412 #define AssemblyOpaqueFeature_alloc Wise2_AssemblyOpaqueFeature_alloc 413 414 415 /* Function: free_AssemblyOpaqueFeature(obj) 416 * 417 * Descrip: Free Function: removes the memory held by obj 418 * Will chain up to owned members and clear all lists 419 * 420 * 421 * Arg: obj [UNKN ] Object that is free'd [AssemblyOpaqueFeature *] 422 * 423 * Return [UNKN ] Undocumented return value [AssemblyOpaqueFeature *] 424 * 425 */ 426 AssemblyOpaqueFeature * Wise2_free_AssemblyOpaqueFeature(AssemblyOpaqueFeature * obj); 427 #define free_AssemblyOpaqueFeature Wise2_free_AssemblyOpaqueFeature 428 429 430 /* Function: add_AssemblySequence(obj,add) 431 * 432 * Descrip: Adds another object to the list. It will expand the list if necessary 433 * 434 * 435 * Arg: obj [UNKN ] Object which contains the list [AssemblySequence *] 436 * Arg: add [OWNER] Object to add to the list [AssemblySequenceEdit *] 437 * 438 * Return [UNKN ] Undocumented return value [boolean] 439 * 440 */ 441 boolean Wise2_add_AssemblySequence(AssemblySequence * obj,AssemblySequenceEdit * add); 442 #define add_AssemblySequence Wise2_add_AssemblySequence 443 444 445 /* Function: flush_AssemblySequence(obj) 446 * 447 * Descrip: Frees the list elements, sets length to 0 448 * If you want to save some elements, use hard_link_xxx 449 * to protect them from being actually destroyed in the free 450 * 451 * 452 * Arg: obj [UNKN ] Object which contains the list [AssemblySequence *] 453 * 454 * Return [UNKN ] Undocumented return value [int] 455 * 456 */ 457 int Wise2_flush_AssemblySequence(AssemblySequence * obj); 458 #define flush_AssemblySequence Wise2_flush_AssemblySequence 459 460 461 /* Function: add_opq_AssemblySequence(obj,add) 462 * 463 * Descrip: Adds another object to the list. It will expand the list if necessary 464 * 465 * 466 * Arg: obj [UNKN ] Object which contains the list [AssemblySequence *] 467 * Arg: add [OWNER] Object to add to the list [AssemblyOpaqueFeature *] 468 * 469 * Return [UNKN ] Undocumented return value [boolean] 470 * 471 */ 472 boolean Wise2_add_opq_AssemblySequence(AssemblySequence * obj,AssemblyOpaqueFeature * add); 473 #define add_opq_AssemblySequence Wise2_add_opq_AssemblySequence 474 475 476 /* Function: flush_opq_AssemblySequence(obj) 477 * 478 * Descrip: Frees the list elements, sets length to 0 479 * If you want to save some elements, use hard_link_xxx 480 * to protect them from being actually destroyed in the free 481 * 482 * 483 * Arg: obj [UNKN ] Object which contains the list [AssemblySequence *] 484 * 485 * Return [UNKN ] Undocumented return value [int] 486 * 487 */ 488 int Wise2_flush_opq_AssemblySequence(AssemblySequence * obj); 489 #define flush_opq_AssemblySequence Wise2_flush_opq_AssemblySequence 490 491 492 /* Function: AssemblySequence_alloc_std(void) 493 * 494 * Descrip: Equivalent to AssemblySequence_alloc_len(AssemblySequenceLISTLENGTH) 495 * 496 * 497 * 498 * Return [UNKN ] Undocumented return value [AssemblySequence *] 499 * 500 */ 501 AssemblySequence * Wise2_AssemblySequence_alloc_std(void); 502 #define AssemblySequence_alloc_std Wise2_AssemblySequence_alloc_std 503 504 505 /* Function: AssemblySequence_alloc_len(len) 506 * 507 * Descrip: Allocates len length to all lists 508 * 509 * 510 * Arg: len [UNKN ] Length of lists to allocate [int] 511 * 512 * Return [UNKN ] Undocumented return value [AssemblySequence *] 513 * 514 */ 515 AssemblySequence * Wise2_AssemblySequence_alloc_len(int len); 516 #define AssemblySequence_alloc_len Wise2_AssemblySequence_alloc_len 517 518 519 /* Function: hard_link_AssemblySequence(obj) 520 * 521 * Descrip: Bumps up the reference count of the object 522 * Meaning that multiple pointers can 'own' it 523 * 524 * 525 * Arg: obj [UNKN ] Object to be hard linked [AssemblySequence *] 526 * 527 * Return [UNKN ] Undocumented return value [AssemblySequence *] 528 * 529 */ 530 AssemblySequence * Wise2_hard_link_AssemblySequence(AssemblySequence * obj); 531 #define hard_link_AssemblySequence Wise2_hard_link_AssemblySequence 532 533 534 /* Function: AssemblySequence_alloc(void) 535 * 536 * Descrip: Allocates structure: assigns defaults if given 537 * 538 * 539 * 540 * Return [UNKN ] Undocumented return value [AssemblySequence *] 541 * 542 */ 543 AssemblySequence * Wise2_AssemblySequence_alloc(void); 544 #define AssemblySequence_alloc Wise2_AssemblySequence_alloc 545 546 547 /* Function: free_AssemblySequence(obj) 548 * 549 * Descrip: Free Function: removes the memory held by obj 550 * Will chain up to owned members and clear all lists 551 * 552 * 553 * Arg: obj [UNKN ] Object that is free'd [AssemblySequence *] 554 * 555 * Return [UNKN ] Undocumented return value [AssemblySequence *] 556 * 557 */ 558 AssemblySequence * Wise2_free_AssemblySequence(AssemblySequence * obj); 559 #define free_AssemblySequence Wise2_free_AssemblySequence 560 561 562 /* Function: hard_link_AssemblySequencePlacement(obj) 563 * 564 * Descrip: Bumps up the reference count of the object 565 * Meaning that multiple pointers can 'own' it 566 * 567 * 568 * Arg: obj [UNKN ] Object to be hard linked [AssemblySequencePlacement *] 569 * 570 * Return [UNKN ] Undocumented return value [AssemblySequencePlacement *] 571 * 572 */ 573 AssemblySequencePlacement * Wise2_hard_link_AssemblySequencePlacement(AssemblySequencePlacement * obj); 574 #define hard_link_AssemblySequencePlacement Wise2_hard_link_AssemblySequencePlacement 575 576 577 /* Function: AssemblySequencePlacement_alloc(void) 578 * 579 * Descrip: Allocates structure: assigns defaults if given 580 * 581 * 582 * 583 * Return [UNKN ] Undocumented return value [AssemblySequencePlacement *] 584 * 585 */ 586 AssemblySequencePlacement * Wise2_AssemblySequencePlacement_alloc(void); 587 #define AssemblySequencePlacement_alloc Wise2_AssemblySequencePlacement_alloc 588 589 590 /* Function: free_AssemblySequencePlacement(obj) 591 * 592 * Descrip: Free Function: removes the memory held by obj 593 * Will chain up to owned members and clear all lists 594 * 595 * 596 * Arg: obj [UNKN ] Object that is free'd [AssemblySequencePlacement *] 597 * 598 * Return [UNKN ] Undocumented return value [AssemblySequencePlacement *] 599 * 600 */ 601 AssemblySequencePlacement * Wise2_free_AssemblySequencePlacement(AssemblySequencePlacement * obj); 602 #define free_AssemblySequencePlacement Wise2_free_AssemblySequencePlacement 603 604 605 /* Function: add_AssemblyContig(obj,add) 606 * 607 * Descrip: Adds another object to the list. It will expand the list if necessary 608 * 609 * 610 * Arg: obj [UNKN ] Object which contains the list [AssemblyContig *] 611 * Arg: add [OWNER] Object to add to the list [AssemblySequencePlacement *] 612 * 613 * Return [UNKN ] Undocumented return value [boolean] 614 * 615 */ 616 boolean Wise2_add_AssemblyContig(AssemblyContig * obj,AssemblySequencePlacement * add); 617 #define add_AssemblyContig Wise2_add_AssemblyContig 618 619 620 /* Function: flush_AssemblyContig(obj) 621 * 622 * Descrip: Frees the list elements, sets length to 0 623 * If you want to save some elements, use hard_link_xxx 624 * to protect them from being actually destroyed in the free 625 * 626 * 627 * Arg: obj [UNKN ] Object which contains the list [AssemblyContig *] 628 * 629 * Return [UNKN ] Undocumented return value [int] 630 * 631 */ 632 int Wise2_flush_AssemblyContig(AssemblyContig * obj); 633 #define flush_AssemblyContig Wise2_flush_AssemblyContig 634 635 636 /* Function: AssemblyContig_alloc_std(void) 637 * 638 * Descrip: Equivalent to AssemblyContig_alloc_len(AssemblyContigLISTLENGTH) 639 * 640 * 641 * 642 * Return [UNKN ] Undocumented return value [AssemblyContig *] 643 * 644 */ 645 AssemblyContig * Wise2_AssemblyContig_alloc_std(void); 646 #define AssemblyContig_alloc_std Wise2_AssemblyContig_alloc_std 647 648 649 /* Function: AssemblyContig_alloc_len(len) 650 * 651 * Descrip: Allocates len length to all lists 652 * 653 * 654 * Arg: len [UNKN ] Length of lists to allocate [int] 655 * 656 * Return [UNKN ] Undocumented return value [AssemblyContig *] 657 * 658 */ 659 AssemblyContig * Wise2_AssemblyContig_alloc_len(int len); 660 #define AssemblyContig_alloc_len Wise2_AssemblyContig_alloc_len 661 662 663 /* Function: hard_link_AssemblyContig(obj) 664 * 665 * Descrip: Bumps up the reference count of the object 666 * Meaning that multiple pointers can 'own' it 667 * 668 * 669 * Arg: obj [UNKN ] Object to be hard linked [AssemblyContig *] 670 * 671 * Return [UNKN ] Undocumented return value [AssemblyContig *] 672 * 673 */ 674 AssemblyContig * Wise2_hard_link_AssemblyContig(AssemblyContig * obj); 675 #define hard_link_AssemblyContig Wise2_hard_link_AssemblyContig 676 677 678 /* Function: AssemblyContig_alloc(void) 679 * 680 * Descrip: Allocates structure: assigns defaults if given 681 * 682 * 683 * 684 * Return [UNKN ] Undocumented return value [AssemblyContig *] 685 * 686 */ 687 AssemblyContig * Wise2_AssemblyContig_alloc(void); 688 #define AssemblyContig_alloc Wise2_AssemblyContig_alloc 689 690 691 /* Function: free_AssemblyContig(obj) 692 * 693 * Descrip: Free Function: removes the memory held by obj 694 * Will chain up to owned members and clear all lists 695 * 696 * 697 * Arg: obj [UNKN ] Object that is free'd [AssemblyContig *] 698 * 699 * Return [UNKN ] Undocumented return value [AssemblyContig *] 700 * 701 */ 702 AssemblyContig * Wise2_free_AssemblyContig(AssemblyContig * obj); 703 #define free_AssemblyContig Wise2_free_AssemblyContig 704 705 706 /* Function: add_Assembly(obj,add) 707 * 708 * Descrip: Adds another object to the list. It will expand the list if necessary 709 * 710 * 711 * Arg: obj [UNKN ] Object which contains the list [Assembly *] 712 * Arg: add [OWNER] Object to add to the list [AssemblyContig *] 713 * 714 * Return [UNKN ] Undocumented return value [boolean] 715 * 716 */ 717 boolean Wise2_add_Assembly(Assembly * obj,AssemblyContig * add); 718 #define add_Assembly Wise2_add_Assembly 719 720 721 /* Function: flush_Assembly(obj) 722 * 723 * Descrip: Frees the list elements, sets length to 0 724 * If you want to save some elements, use hard_link_xxx 725 * to protect them from being actually destroyed in the free 726 * 727 * 728 * Arg: obj [UNKN ] Object which contains the list [Assembly *] 729 * 730 * Return [UNKN ] Undocumented return value [int] 731 * 732 */ 733 int Wise2_flush_Assembly(Assembly * obj); 734 #define flush_Assembly Wise2_flush_Assembly 735 736 737 /* Function: add_chaff_Assembly(obj,add) 738 * 739 * Descrip: Adds another object to the list. It will expand the list if necessary 740 * 741 * 742 * Arg: obj [UNKN ] Object which contains the list [Assembly *] 743 * Arg: add [OWNER] Object to add to the list [AssemblySequence *] 744 * 745 * Return [UNKN ] Undocumented return value [boolean] 746 * 747 */ 748 boolean Wise2_add_chaff_Assembly(Assembly * obj,AssemblySequence * add); 749 #define add_chaff_Assembly Wise2_add_chaff_Assembly 750 751 752 /* Function: flush_chaff_Assembly(obj) 753 * 754 * Descrip: Frees the list elements, sets length to 0 755 * If you want to save some elements, use hard_link_xxx 756 * to protect them from being actually destroyed in the free 757 * 758 * 759 * Arg: obj [UNKN ] Object which contains the list [Assembly *] 760 * 761 * Return [UNKN ] Undocumented return value [int] 762 * 763 */ 764 int Wise2_flush_chaff_Assembly(Assembly * obj); 765 #define flush_chaff_Assembly Wise2_flush_chaff_Assembly 766 767 768 /* Function: Assembly_alloc_std(void) 769 * 770 * Descrip: Equivalent to Assembly_alloc_len(AssemblyLISTLENGTH) 771 * 772 * 773 * 774 * Return [UNKN ] Undocumented return value [Assembly *] 775 * 776 */ 777 Assembly * Wise2_Assembly_alloc_std(void); 778 #define Assembly_alloc_std Wise2_Assembly_alloc_std 779 780 781 /* Function: Assembly_alloc_len(len) 782 * 783 * Descrip: Allocates len length to all lists 784 * 785 * 786 * Arg: len [UNKN ] Length of lists to allocate [int] 787 * 788 * Return [UNKN ] Undocumented return value [Assembly *] 789 * 790 */ 791 Assembly * Wise2_Assembly_alloc_len(int len); 792 #define Assembly_alloc_len Wise2_Assembly_alloc_len 793 794 795 /* Function: hard_link_Assembly(obj) 796 * 797 * Descrip: Bumps up the reference count of the object 798 * Meaning that multiple pointers can 'own' it 799 * 800 * 801 * Arg: obj [UNKN ] Object to be hard linked [Assembly *] 802 * 803 * Return [UNKN ] Undocumented return value [Assembly *] 804 * 805 */ 806 Assembly * Wise2_hard_link_Assembly(Assembly * obj); 807 #define hard_link_Assembly Wise2_hard_link_Assembly 808 809 810 /* Function: Assembly_alloc(void) 811 * 812 * Descrip: Allocates structure: assigns defaults if given 813 * 814 * 815 * 816 * Return [UNKN ] Undocumented return value [Assembly *] 817 * 818 */ 819 Assembly * Wise2_Assembly_alloc(void); 820 #define Assembly_alloc Wise2_Assembly_alloc 821 822 823 /* Function: free_Assembly(obj) 824 * 825 * Descrip: Free Function: removes the memory held by obj 826 * Will chain up to owned members and clear all lists 827 * 828 * 829 * Arg: obj [UNKN ] Object that is free'd [Assembly *] 830 * 831 * Return [UNKN ] Undocumented return value [Assembly *] 832 * 833 */ 834 Assembly * Wise2_free_Assembly(Assembly * obj); 835 #define free_Assembly Wise2_free_Assembly 836 837 838 /* Function: hard_link_AssemblyOutputPara(obj) 839 * 840 * Descrip: Bumps up the reference count of the object 841 * Meaning that multiple pointers can 'own' it 842 * 843 * 844 * Arg: obj [UNKN ] Object to be hard linked [AssemblyOutputPara *] 845 * 846 * Return [UNKN ] Undocumented return value [AssemblyOutputPara *] 847 * 848 */ 849 AssemblyOutputPara * Wise2_hard_link_AssemblyOutputPara(AssemblyOutputPara * obj); 850 #define hard_link_AssemblyOutputPara Wise2_hard_link_AssemblyOutputPara 851 852 853 /* Function: AssemblyOutputPara_alloc(void) 854 * 855 * Descrip: Allocates structure: assigns defaults if given 856 * 857 * 858 * 859 * Return [UNKN ] Undocumented return value [AssemblyOutputPara *] 860 * 861 */ 862 AssemblyOutputPara * Wise2_AssemblyOutputPara_alloc(void); 863 #define AssemblyOutputPara_alloc Wise2_AssemblyOutputPara_alloc 864 865 866 /* Function: free_AssemblyOutputPara(obj) 867 * 868 * Descrip: Free Function: removes the memory held by obj 869 * Will chain up to owned members and clear all lists 870 * 871 * 872 * Arg: obj [UNKN ] Object that is free'd [AssemblyOutputPara *] 873 * 874 * Return [UNKN ] Undocumented return value [AssemblyOutputPara *] 875 * 876 */ 877 AssemblyOutputPara * Wise2_free_AssemblyOutputPara(AssemblyOutputPara * obj); 878 #define free_AssemblyOutputPara Wise2_free_AssemblyOutputPara 879 880 881 /* Unplaced functions */ 882 /* There has been no indication of the use of these functions */ 883 void Wise2_show_help_AssemblyOutputPara(FILE * ofp); 884 #define show_help_AssemblyOutputPara Wise2_show_help_AssemblyOutputPara 885 AssemblyOutputPara * Wise2_new_AssemblyOutputPara_from_argv(int * argc,char ** argv); 886 #define new_AssemblyOutputPara_from_argv Wise2_new_AssemblyOutputPara_from_argv 887 AssemblyOpaqueTypeSet * Wise2_homopolymer_AssemblyOpaqueTypeSet(void); 888 #define homopolymer_AssemblyOpaqueTypeSet Wise2_homopolymer_AssemblyOpaqueTypeSet 889 int Wise2_annotate_AssemblyOpaqueFeatures(AssemblyOpaqueTypeSet * aots,AssemblySequence * aseq,int kmer_size); 890 #define annotate_AssemblyOpaqueFeatures Wise2_annotate_AssemblyOpaqueFeatures 891 void Wise2_show_AssemblySequence(AssemblySequence * aseq,FILE * ofp); 892 #define show_AssemblySequence Wise2_show_AssemblySequence 893 AssemblyOpaqueType * Wise2_new_homopolymer_AssemblyOpaqueType(int int_type,char base); 894 #define new_homopolymer_AssemblyOpaqueType Wise2_new_homopolymer_AssemblyOpaqueType 895 AssemblySequence * Wise2_read_plain_fasta_AssemblySequence(FILE * ifp,int report_log,FILE * report); 896 #define read_plain_fasta_AssemblySequence Wise2_read_plain_fasta_AssemblySequence 897 AssemblySequence * Wise2_mirrored_AssemblySequence(AssemblySequence * aseq); 898 #define mirrored_AssemblySequence Wise2_mirrored_AssemblySequence 899 void Wise2_dump_contigs_as_fasta_Assembly(Assembly * assembly,AssemblyOutputPara * aop,FILE * ofp); 900 #define dump_contigs_as_fasta_Assembly Wise2_dump_contigs_as_fasta_Assembly 901 902 903 /***************************************************/ 904 /* Internal functions */ 905 /* you are not expected to have to call these */ 906 /***************************************************/ 907 void Wise2_swap_AssemblyOpaqueTypeSet(AssemblyOpaqueType ** list,int i,int j) ; 908 #define swap_AssemblyOpaqueTypeSet Wise2_swap_AssemblyOpaqueTypeSet 909 void Wise2_qsort_AssemblyOpaqueTypeSet(AssemblyOpaqueType ** list,int left,int right,int (*comp)(AssemblyOpaqueType * ,AssemblyOpaqueType * )); 910 #define qsort_AssemblyOpaqueTypeSet Wise2_qsort_AssemblyOpaqueTypeSet 911 void Wise2_sort_AssemblyOpaqueTypeSet(AssemblyOpaqueTypeSet * obj,int (*comp)(AssemblyOpaqueType *, AssemblyOpaqueType *)); 912 #define sort_AssemblyOpaqueTypeSet Wise2_sort_AssemblyOpaqueTypeSet 913 boolean Wise2_expand_AssemblyOpaqueTypeSet(AssemblyOpaqueTypeSet * obj,int len); 914 #define expand_AssemblyOpaqueTypeSet Wise2_expand_AssemblyOpaqueTypeSet 915 void Wise2_swap_AssemblySequence(AssemblySequenceEdit ** list,int i,int j) ; 916 #define swap_AssemblySequence Wise2_swap_AssemblySequence 917 void Wise2_qsort_AssemblySequence(AssemblySequenceEdit ** list,int left,int right,int (*comp)(AssemblySequenceEdit * ,AssemblySequenceEdit * )); 918 #define qsort_AssemblySequence Wise2_qsort_AssemblySequence 919 void Wise2_sort_AssemblySequence(AssemblySequence * obj,int (*comp)(AssemblySequenceEdit *, AssemblySequenceEdit *)); 920 #define sort_AssemblySequence Wise2_sort_AssemblySequence 921 boolean Wise2_expand_AssemblySequence(AssemblySequence * obj,int len); 922 #define expand_AssemblySequence Wise2_expand_AssemblySequence 923 void Wise2_swap_opq_AssemblySequence(AssemblyOpaqueFeature ** list,int i,int j) ; 924 #define swap_opq_AssemblySequence Wise2_swap_opq_AssemblySequence 925 void Wise2_qsort_opq_AssemblySequence(AssemblyOpaqueFeature ** list,int left,int right,int (*comp)(AssemblyOpaqueFeature * ,AssemblyOpaqueFeature * )); 926 #define qsort_opq_AssemblySequence Wise2_qsort_opq_AssemblySequence 927 void Wise2_sort_opq_AssemblySequence(AssemblySequence * obj,int (*comp)(AssemblyOpaqueFeature *, AssemblyOpaqueFeature *)); 928 #define sort_opq_AssemblySequence Wise2_sort_opq_AssemblySequence 929 boolean Wise2_expand_opq_AssemblySequence(AssemblySequence * obj,int len); 930 #define expand_opq_AssemblySequence Wise2_expand_opq_AssemblySequence 931 void Wise2_swap_AssemblyContig(AssemblySequencePlacement ** list,int i,int j) ; 932 #define swap_AssemblyContig Wise2_swap_AssemblyContig 933 void Wise2_qsort_AssemblyContig(AssemblySequencePlacement ** list,int left,int right,int (*comp)(AssemblySequencePlacement * ,AssemblySequencePlacement * )); 934 #define qsort_AssemblyContig Wise2_qsort_AssemblyContig 935 void Wise2_sort_AssemblyContig(AssemblyContig * obj,int (*comp)(AssemblySequencePlacement *, AssemblySequencePlacement *)); 936 #define sort_AssemblyContig Wise2_sort_AssemblyContig 937 boolean Wise2_expand_AssemblyContig(AssemblyContig * obj,int len); 938 #define expand_AssemblyContig Wise2_expand_AssemblyContig 939 void Wise2_swap_Assembly(AssemblyContig ** list,int i,int j) ; 940 #define swap_Assembly Wise2_swap_Assembly 941 void Wise2_qsort_Assembly(AssemblyContig ** list,int left,int right,int (*comp)(AssemblyContig * ,AssemblyContig * )); 942 #define qsort_Assembly Wise2_qsort_Assembly 943 void Wise2_sort_Assembly(Assembly * obj,int (*comp)(AssemblyContig *, AssemblyContig *)); 944 #define sort_Assembly Wise2_sort_Assembly 945 boolean Wise2_expand_Assembly(Assembly * obj,int len); 946 #define expand_Assembly Wise2_expand_Assembly 947 void Wise2_swap_chaff_Assembly(AssemblySequence ** list,int i,int j) ; 948 #define swap_chaff_Assembly Wise2_swap_chaff_Assembly 949 void Wise2_qsort_chaff_Assembly(AssemblySequence ** list,int left,int right,int (*comp)(AssemblySequence * ,AssemblySequence * )); 950 #define qsort_chaff_Assembly Wise2_qsort_chaff_Assembly 951 void Wise2_sort_chaff_Assembly(Assembly * obj,int (*comp)(AssemblySequence *, AssemblySequence *)); 952 #define sort_chaff_Assembly Wise2_sort_chaff_Assembly 953 boolean Wise2_expand_chaff_Assembly(Assembly * obj,int len); 954 #define expand_chaff_Assembly Wise2_expand_chaff_Assembly 955 956 #ifdef _cplusplus 957 } 958 #endif 959 960 #endif 961