1# This file was automatically generated by SWIG (http://www.swig.org). 2# Version 4.0.2 3# 4# Do not make changes to this file unless you know what you are doing--modify 5# the SWIG interface file instead. 6 7package RNA; 8use base qw(Exporter); 9use base qw(DynaLoader); 10package RNAc; 11bootstrap RNA; 12package RNA; 13@EXPORT = qw(); 14=head1 NAME 15 16RNA - interface to the ViennaRNA C-library (libRNA.a) 17 18=head1 SYNOPSIS 19 20 use RNA; 21 $seq = "CGCAGGGAUACCCGCG"; 22 ($struct, $mfe) = RNA::fold($seq); #predict mfe structure of $seq 23 RNA::PS_rna_plot($seq, $struct, "rna.ps"); # write PS plot to rna.ps 24 $F = RNA::pf_fold($seq); # compute partition function and pair pobabilities 25 RNA::PS_dot_plot($seq, "dot.ps"); # write dot plot to dot.ps 26 ... 27 28=head1 DESCRIPTION 29 30The RNA.pm package gives access to almost all functions in the libRNA.a 31library of the Vienna RNA PACKAGE. The Perl wrapper is generated using 32SWIG http://www.swig.org/ with relatively little manual intervention. 33For each C function in the library the perl package provides a function 34of the same name and calling convention (with few exceptions). For 35detailed information you should therefore also consult the documentation 36of the library (info RNAlib). 37 38Note that in general C arrays are wrapped into opaque objects that can 39only be accessed via helper functions. SWIG provides a couple of general 40purpose helper functions, see the section at the end of this file. C 41structures are wrapped into Perl objects using SWIG's shadow class 42mechanism, resulting in a tied hash with keys named after the structure 43members. 44 45For the interrested reader we list for each scalar type of the 46corepsonding C variable in brackets, and point out the header files 47containing the C declaration. 48 49=head2 Folding Routines 50 51Minimum free Energy Folding (from fold.h) 52 53=over 4 54 55=item fold SEQUENCE 56 57=item fold SEQUENCE, CONSTRAINTS 58 59computes the minimum free energy structure of the string SEQUENCE and returns 60the predicted structure and energy, e.g. 61 62 ($structure, $mfe) = RNA::fold("UGUGUCGAUGUGCUAU"); 63 64If a second argument is supplied and 65L<$fold_constrained|/$fold_constrained>==1 the CONSTRAINTS string is 66used to specify constraints on the predicted structure. The 67characters '|', 'x', '<', '>' mark bases that are paired, unpaired, 68paired upstream, or downstream, respectively; matching brackets "( )" 69denote base pairs, dots '.' are used for unconstrained bases. 70 71In the two argument version the CONSTRAINTS string is modified and holds the 72predicted structure upon return. This is done for backwards compatibility only, 73and might change in future versions. 74 75=item energy_of_struct SEQUENCE, STRUCTURE 76 77returns the energy of SEQUENCE on STRUCTURE (in kcal/mol). The string structure 78must hold a valid secondary structure in bracket notation. 79 80=item update_fold_params 81 82recalculate the pair matrix and energy parameters after a change in folding 83parameters. In many cases (such as changes to 84L<$temperature|/$temperature>) the fold() routine will call 85update_fold_params automatically when necessary. 86 87=item free_arrays 88 89frees memory allocated internally when calling L<fold|/fold>. 90 91 92=item cofold SEQUENCE 93 94=item cofold SEQUENCE, CONSTRAINTS 95 96works as fold, but SEQUENCE may be the concatenation of two RNAs in order 97compute their hybridization structure. E.g.: 98 99 $seq1 ="CGCAGGGAUACCCGCG"; 100 $seq2 ="GCGCCCAUAGGGACGC"; 101 $RNA::cut_point = length($seq1)+1; 102 ($costruct, $comfe) = RNA::cofold($seq1 . $seq2); 103 104=item duplexfold SEQ1 SEQ2 105 106compute the structure upon hybridization of SEQ1 and SEQ2. In contrast to 107cofold only intra-molecular pairs are allowed. Thus, the algorithm runs in 108O(n1*n2) time where n1 and n2 are the lengths of the sequences. The result 109is returned in a C struct containing the innermost base pair (i,j) the 110structure and energy. E.g: 111 112 $seq1 ="CGCAGGGAUACCCGCG"; 113 $seq2 ="GCGCCCAUAGGGACGC"; 114 $dup = RNA::duplexfold($seq1, $seq2); 115 print "Region ", $dup->{i}+1-length($seq1), " to ", 116 $dup->{i}, " of seq1 ", 117 "pairs up with ", $dup->{j}, " to ", 118 $dup->{j}+length($dup->{structure})-length($seq1)-2, 119 " of seq2\n"; 120 121=back 122 123Partition function Folding (from part_func.h) 124 125=over 4 126 127=item pf_fold SEQUENCE 128 129=item pf_fold SEQUENCE, CONSTRAINTS 130 131calculates the partition function over all possible secondary 132structures and the matrix of pair probabilities for SEQUENCE and 133returns a two element list consisting of a string summarizing possible 134structures. See below on how to access the pair probability matrix. As 135with L<fold|/fold> the second argument can be used to specify folding 136constraints. Constraints are implemented by excluding base pairings 137that contradict the constraint, but without bonus 138energies. Constraints of type '|' (paired base) are ignored. In the 139two argument version CONSTRAINTS is modified to contain the structure 140string on return (obsolete feature, for backwards compatibility only) 141 142=item get_pr I, J 143 144After calling C<pf_fold> the global C variable C<pr> points to the 145computed pair probabilities. Perl access to the C is facilitated by 146the C<get_pr> helper function that looks up and returns the 147probability of the pair (I,J). 148 149=item free_pf_arrays 150 151frees memory allocated for pf_fold 152 153=item update_pf_params LENGTH 154 155recalculate energy parameters for pf_fold. In most cases (such as 156simple changes to L<$temperature|/$temperature>) C<pf_fold> 157will take appropriate action automatically. 158 159=item pbacktrack SEQUENCE 160 161return a random structure chosen according to it's Boltzmann probability. 162Use to produce samples representing the thermodynamic ensemble of 163structures. 164 165 RNA::pf_fold($sequence); 166 for (1..1000) { 167 push @sample, RNA::pbacktrack($sequence); 168 } 169 170=item co_pf_fold SEQUENCE 171 172=item co_pf_fold SEQUENCE, CONSTRAINTS 173 174calculates the partition function over all possible secondary 175structures and the matrix of pair probabilities for SEQUENCE. 176SEQUENCE is a concatenation of two sequences (see cofold). 177Returns a five element list consisting of a string summarizing possible 178structures as first element. The second element is the Gibbs free energy of Sequence 1 (as computed also with pf_fold), the third element the Gibbs free energy of Sequence 2. The fourth element is the Gibbs free energy of all structures that have INTERmolecular base pairs, and finally the fifth element is the Gibbs free energy of the whole ensemble (dimers as well as monomers). 179See above on how to access the pair probability matrix. As 180with L<fold|/fold> the second argument can be used to specify folding 181constraints. Constraints are implemented by excluding base pairings 182that contradict the constraint, but without bonus 183energies. Constraints of type '|' (paired base) are ignored. In the 184two argument version CONSTRAINTS is modified to contain the structure 185string on return (obsolete feature, for backwards compatibility only) 186 187=item free_co_pf_arrays 188 189frees memory allocated for co_pf_fold 190 191=item update_pf_co_params LENGTH 192 193recalculate energy parameters for co_pf_fold. In most cases (such as 194simple changes to L<$temperature|/$temperature>) C<co_pf_fold> 195will take appropriate action automatically. 196 197=item get_concentrations FdAB, FdAA, FdBB, FA, FB, CONCA, CONCB 198 199calculates equilibrium concentrations of the three dimers AB, AA, and BB, as well as the two monomers A and B out of the free energies of the duplexes (FdAB, FdAA, FdBB, these are the fourth elements returned by co_pf_fold), the monomers (FA, FB (e.g. the second and third elements returned by co_pf_fold with sequences AB) and the start concentrations of A and B. It returns as first element the concentration of AB dimer, than AA and BB dimer, as fourth element the A monomer concentration, and as fifth and last element the B monomer concentration. 200So, to compute concentrations, you first have to run 3 co_pf_folds (with sequences AB, AA and BB). 201 202=back 203 204Suboptimal Folding (from subopt.h) 205 206=over 4 207 208=item subopt SEQUENCE, CONSTRAINTS, DELTA 209 210=item subopt SEQUENCE, CONSTRAINTS, DELTA, FILEHANDLE 211 212compute all structures of SEQUENCE within DELTA*0.01 kcal/mol of the 213optimum. If specified, results are written to FILEHANDLE and nothing 214is returned. Else, the C function returnes a list of C structs of type 215SOLUTION. The list is wrapped by SWIG as a perl object that can be 216accesses as follows: 217 218 $solution = subopt($seq, undef, 500); 219 for (0..$solution->size()-1) { 220 printf "%s %6.2f\n", $solution->get($_)->{structure}, 221 $solution->get($_)->{energy}; 222 } 223 224=back 225 226Alignment Folding (from alifold.h) 227 228=over 4 229 230=item alifold REF 231 232=item fold REF, CONSTRAINTS 233 234similar to fold() but compute the consensus structure for a set of aligned 235sequences. E.g.: 236 237 @align = ("GCCAUCCGAGGGAAAGGUU", 238 "GAUCGACAGCGUCU-AUCG", 239 "CCGUCUUUAUGAGUCCGGC"); 240 ($consens_struct, $consens_en) = RNA::alifold(\@align); 241 242=item consensus REF 243=item consens_mis REF 244 245compute a simple consensus sequence or "most informative sequence" form an 246alignment. The simple consensus returns the most frequent character for 247each column, the MIS uses the IUPAC symbol that contains all characters 248that are overrepresented in the column. 249 250 $mis = consensus_mis(\@align); 251 252 253=back 254 255Inverse Folding (from inverse.h) 256 257=over 4 258 259=item inverse_fold START, TARGET 260 261find a sequence that folds into structure TARGET, by optimizing the 262sequence until its mfe structure (as returned by L<fold|/fold>) is 263TARGET. Startpoint of the optimization is the sequence START. Returns 264a list containing the sequence found and the final value of the cost 265function, i.e. 0 if the search was successful. A random start sequence 266can be generated using L<random_string|/random_string>. 267 268=item inverse_pf_fold START, TARGET 269 270optimizes a sequence (beginning with START) by maximising the 271frequency of the structure TARGET in the thermodynamic ensemble 272of structures. Returns a list containing the optimized sequence and 273the final value of the cost function. The cost function is given by 274C<energy_of_struct(seq, TARGET) - pf_fold(seq)>, i.e.C<-RT*log(p(TARGET))> 275 276=item $final_cost [float] 277 278holds the value of the cost function where the optimization in 279C<inverse_pf_fold> should stop. For values <=0 the optimization will 280only terminate at a local optimimum (which might take very long to reach). 281 282=item $symbolset [char *] 283 284the string symbolset holds the allowed characters to be used by 285C<inverse_fold> and C<inverse_pf_fold>, the default alphabet is "AUGC" 286 287 288=item $give_up [int] 289 290If non-zero stop optimization when its clear that no exact solution 291can be found. Else continue and eventually return an approximate 292solution. Default 0. 293 294=back 295 296Cofolding of two RNA molecules (from cofold.h) 297 298=over 4 299 300 301=back 302 303Global Variables to Modify Folding (from fold_vars.h) 304 305=over 4 306 307=item $noGU [int] 308 309Do not allow GU pairs to form, default 0. 310 311=item $no_closingGU [int] 312 313allow GU only inside stacks, default 0. 314 315=item $tetra_loop [int] 316 317Fold with specially stable 4-loops, default 1. 318 319=item $energy_set [int] 320 3210 = BP; 1=any mit GC; 2=any mit AU-parameter, default 0. 322 323=item $dangles [int] 324 325How to compute dangling ends. 0: no dangling end energies, 1: "normal" 326dangling ends (default), 2: simplified dangling ends, 3: "normal" + 327co-axial stacking. Note that L<pf_fold|/pf_fold> treats cases 1 and 3 328as 2. The same holds for the main computation in L<subopt|/subopt>, 329however subopt will re-evalute energies using 330L<energy_of_struct|energy_of_struct> for cases 1 and 3. See the more 331detailed discussion in RNAlib.texinfo. 332 333=item $nonstandards [char *] 334 335contains allowed non standard bases, default empty string "" 336 337=item $temperature [double] 338 339temperature in degrees Celsius for rescaling parameters, default 37C. 340 341=item $logML [int] 342 343use logarithmic multiloop energy function in 344L<energy_of_struct|/energy_of_struct>, default 0. 345 346=item $noLonelyPairs [int] 347 348consider only structures without isolated base pairs (helices of length 1). 349For L<pf_fold|/pf_fold> only eliminates pairs 350that can B<only> occur as isolated pairs. Default 0. 351 352=item $base_pair [struct bond *] 353 354list of base pairs from last call to L<fold|/fold>. Better use 355the structure string returned by L<fold|/fold>. 356 357=item $pf_scale [double] 358 359scaling factor used by L<pf_fold|/pf_fold> to avoid overflows. Should 360be set to exp(-F/(RT*length)) where F is a guess for the ensmble free 361energy (e.g. use the mfe). 362 363 364=item $fold_constrained [int] 365 366apply constraints in the folding algorithms, default 0. 367 368=item $do_backtrack [int] 369 370If 0 do not compute the pair probabilities in L<pf_fold|/pf_fold> 371(only the partition function). Default 1. 372 373=item $backtrack_type [char] 374 375usually 'F'; 'C' require (1,N) to be bonded; 'M' backtrack as if the 376sequence was part of a multi loop. Used by L<inverse_fold|/inverse_fold> 377 378=item $pr [double *] 379 380the base pairing prob. matrix computed by L<pf_fold|/pf_fold>. 381 382=item $iindx [int *] 383 384Array of indices for moving withing the C<pr> array. Better use 385L<get_pr|/get_pr>. 386 387=back 388 389from move_set.h 390 391=over 4 392 393=item move_standard SEQUENCE, STRUCTURE, MOVE_TYPE, VERBOSITY, SHIFTS, noLP 394 395Walking method to find local minima. There are three different kinds available 396which can be cosen using the MOVE_TYPE enum: 3970 - GRADIENT: take the neighbouring structure with the lowest energy 3981 - FIRST: take the first neighbour with a lower energy 3992 - ADAPTIVE: randomly choose a neighbour 400STRUCTURE is the start structure and will also be used to return the target structure. 401Others are options set as integers. 402 403=back 404 405=head2 Parsing and Comparing Structures 406 407from RNAstruct.h: these functions convert between strings 408representating secondary structures with various levels of coarse 409graining. See the documentation of the C library for details 410 411=over 4 412 413=item b2HIT STRUCTURE 414 415Full -> HIT [incl. root] 416 417=item b2C STRUCTURE 418 419Full -> Coarse [incl. root] 420 421=item b2Shapiro STRUCTURE 422 423Full -> weighted Shapiro [i.r.] 424 425=item add_root STRUCTURE 426 427{Tree} -> ({Tree}R) 428 429=item expand_Shapiro COARSE 430 431add S for stacks to coarse struct 432 433=item expand_Full STRUCTURE 434 435Full -> FFull 436 437=item unexpand_Full FSTRUCTURE 438 439FFull -> Full 440 441=item unweight WCOARSE 442 443remove weights from coarse struct 444 445=item unexpand_aligned_F ALIGN 446 447 448 449=item parse_structure STRUCTURE 450 451computes structure statistics, and fills the following global variables: 452 453$loops [int] number of loops (and stacks) 454$unpaired [int] number of unpaired positions 455$pairs [int] number of paired positions 456$loop_size[int *] holds all loop sizes 457$loop_degree[int *] holds all loop degrees 458$helix_size[int *] holds all helix lengths 459 460=back 461 462from treedist.h: routines for computing tree-edit distances between structures 463 464=over 4 465 466=item make_tree XSTRUCT 467 468convert a structure string as produced by the expand_... functions to a 469Tree, useable as input to tree_edit_distance. 470 471=item tree_edit_distance T1, T2 472 473compare to structures using tree editing. C<T1>, C<T2> must have been 474created using C<tree_edit_distance> 475 476=item print_tree T 477 478mainly for debugging 479 480=item free_tree T 481 482free space allocated by make_tree 483 484=back 485 486from stringdist.h routines to compute structure distances via string-editing 487 488=over 4 489 490=item Make_swString STRUCTURE 491 492[ returns swString * ] 493make input for string_edit_distance 494 495=item string_edit_distance S1, S2 496 497[ returns float ] 498compare to structures using string alignment. C<S1>, C<S2> should be 499created using C<Make_swString> 500 501=back 502 503from profiledist 504 505=over 506 507=item Make_bp_profile LENGTH 508 509[ returns (float *) ] 510condense pair probability matrix C<pr> into a vector containing 511probabilities for unpaired, upstream paired and downstream paired. 512This resulting probability profile is used as input for 513profile_edit_distance 514 515=item profile_edit_distance T1, T2 516 517[ returns float ] 518align two probability profiles produced by C<Make_bp_profile> 519 520=item print_bppm T 521 522[ returns void ] 523print string representation of probability profile 524 525=item free_profile T 526 527[ returns void ] 528free space allocated in Make_bp_profile 529 530=back 531 532Global variables for computing structure distances 533 534=over 4 535 536=item $edit_backtrack [int] 537 538set to 1 if you want backtracking 539 540=item $aligned_line [(char *)[2]] 541 542containes alignmed structures after computing structure distance with 543C<edit_backtrack==1> 544 545=item $cost_matrix [int] 546 5470 usual costs (default), 1 Shapiro's costs 548 549=back 550 551=head2 Utilities (from utils.h) 552 553=over 4 554 555=item space SIZE 556 557allocate memory from C. Usually not needed in Perl 558 559=item nrerror MESSGAE 560 561die with error message. Better use Perl's C<die> 562 563=item $xsubi [unsigned short[3]] 564 565libRNA uses the rand48 48bit random number generator if available, the 566current random number is always stored in $xsubi. 567 568=item init_rand 569 570initialize the $xsubi random number from current time 571 572=item urn 573 574returns a random number between 0 and 1 using the random number 575generator from the RNA library. 576 577=item int_urn FROM, TO 578 579returns random integer in the range [FROM..TO] 580 581=item time_stamp 582 583current date in a string. In perl you might as well use C<locatime> 584 585=item random_string LENGTH, SYMBOLS 586 587returns a string of length LENGTH using characters from the string 588SYMBOLS 589 590=item hamming S1, S2 591 592calculate hamming distance of the strings C<S1> and C<S2>. 593 594 595=item pack_structure STRUCTURE 596 597pack secondary structure, using a 5:1 compression via 3 598encoding. Returns the packed string. 599 600=item unpack_structure PACKED 601 602unpacks a secondary structure packed with pack_structure 603 604=item make_pair_table STRUCTURE 605 606returns a pair table as a newly allocated (short *) C array, such 607that: table[i]=j if (i.j) pair or 0 if i is unpaired, table[0] 608contains the length of the structure. 609 610=item bp_distance STRUCTURE1, STRUCTURE2 611 612returns the base pair distance of the two STRUCTURES. dist = {number 613of base pairs in one structure but not in the other} same as edit 614distance with open-pair close-pair as move-set 615 616=back 617 618from PS_plot.h 619 620=over 4 621 622=item PS_rna_plot SEQUENCE, STRUCTURE, FILENAME 623 624write PostScript drawing of structure to FILENAME. Returns 1 on 625sucess, 0 else. 626 627=item PS_rna_plot_a SEQUENCE, STRUCTURE, FILENAME, PRE, POST 628 629write PostScript drawing of structure to FILENAME. The strings PRE and 630POST contain PostScript code that is included verbatim in the plot just 631before (after) the data. Returns 1 on sucess, 0 else. 632 633=item gmlRNA SEQUENCE, STRUCTURE, FILENAME, OPTION 634 635write structure drawing in gml (Graph Meta Language) to 636FILENAME. OPTION should be a single character. If uppercase the gml 637output will include the SEQUENCE as node labels. IF OPTION equal 'x' 638or 'X' write graph with coordinates (else only connectivity 639information). Returns 1 on sucess, 0 else. 640 641=item ssv_rna_plot SEQUENCE, STRUCTURE, SSFILE 642 643write structure drfawing as coord file for SStructView Returns 1 on 644sucess, 0 else. 645 646=item xrna_plot SEQUENCE, STRUCTURE, SSFILE 647 648write structure drawing as ".ss" file for further editing in XRNA. 649Returns 1 on sucess, 0 else. 650 651=item PS_dot_plot SEQUENCE, FILENAME 652 653write a PostScript dot plot of the pair probability matix to 654FILENAME. Returns 1 on sucess, 0 else. 655 656=item $rna_plot_type [int] 657 658Select layout algorithm for structure drawings. Currently available 6590= simple coordinates, 1= naview, default 1. 660 661=back 662 663from read_epars.c 664 665=over 4 666 667=item read_parameter_file FILENAME 668 669read energy parameters from FILENAME 670 671=item write_parameter_file FILENAME 672 673write energy parameters to FILENAME 674 675=back 676 677=head2 SWIG helper functions 678 679The package includes generic helper functions to access C arrays 680of type C<int>, C<float> and C<double>, such as: 681 682=over 4 683 684=item intP_getitem POINTER, INDEX 685 686return the element INDEX from the array 687 688=item intP_setitem POINTER, INDEX, VALUE 689 690set element INDEX to VALUE 691 692=item new_intP NELEM 693 694allocate a new C array of integers with NELEM elements and return the pointer 695 696=item delete_intP POINTER 697 698deletes the C array by calling free() 699 700=back 701 702substituting C<intP> with C<floatP>, C<doubleP>, C<ushortP>, 703C<shortP>, gives the corresponding functions for arrays of float or 704double, unsigned short, and short. You need to know the correct C 705type however, and the functions work only for arrays of simple types. 706Note, that the shortP... functions were used for unsigned short in previous 707versions, while starting with v1.8.3 it can only access signed short arrays. 708 709On the lowest level the C<cdata> function gives direct access to any data 710in the form of a Perl string. 711 712=over 713 714=item cdata POINTER, SIZE 715 716copies SIZE bytes at POINTER to a Perl string (with binary data) 717 718=item memmove POINTER, STRING 719 720copies the (binary) string STRING to the memory location pointed to by 721POINTER. 722Note: memmove is broken in current swig versions (e.g. 1.3.31) 723 724=back 725 726In combination with Perl's C<unpack> this provides a generic way to convert 727C data structures to Perl. E.g. 728 729 RNA::parse_structure($structure); # fills the $RNA::loop_degree array 730 @ldegrees = unpack "I*", RNA::cdata($RNA::loop_degree, ($RNA::loops+1)*4); 731 732Warning: using these functions with wrong arguments will corrupt your 733memory and lead to a segmentation fault. 734 735=head1 AUTHOR 736 737Ivo L. Hofacker <ivo@tbi.univie.ac.at> 738 739=cut 740 741# ---------- BASE METHODS ------------- 742 743package RNA; 744 745sub TIEHASH { 746 my ($classname,$obj) = @_; 747 return bless $obj, $classname; 748} 749 750sub CLEAR { } 751 752sub FIRSTKEY { } 753 754sub NEXTKEY { } 755 756sub FETCH { 757 my ($self,$field) = @_; 758 my $member_func = "swig_${field}_get"; 759 $self->$member_func(); 760} 761 762sub STORE { 763 my ($self,$field,$newval) = @_; 764 my $member_func = "swig_${field}_set"; 765 $self->$member_func($newval); 766} 767 768sub this { 769 my $ptr = shift; 770 return tied(%$ptr); 771} 772 773 774# ------- FUNCTION WRAPPERS -------- 775 776package RNA; 777 778*new_intP = *RNAc::new_intP; 779*delete_intP = *RNAc::delete_intP; 780*intP_getitem = *RNAc::intP_getitem; 781*intP_setitem = *RNAc::intP_setitem; 782*new_floatP = *RNAc::new_floatP; 783*delete_floatP = *RNAc::delete_floatP; 784*floatP_getitem = *RNAc::floatP_getitem; 785*floatP_setitem = *RNAc::floatP_setitem; 786*new_doubleP = *RNAc::new_doubleP; 787*delete_doubleP = *RNAc::delete_doubleP; 788*doubleP_getitem = *RNAc::doubleP_getitem; 789*doubleP_setitem = *RNAc::doubleP_setitem; 790*new_ushortP = *RNAc::new_ushortP; 791*delete_ushortP = *RNAc::delete_ushortP; 792*ushortP_getitem = *RNAc::ushortP_getitem; 793*ushortP_setitem = *RNAc::ushortP_setitem; 794*new_shortP = *RNAc::new_shortP; 795*delete_shortP = *RNAc::delete_shortP; 796*shortP_getitem = *RNAc::shortP_getitem; 797*shortP_setitem = *RNAc::shortP_setitem; 798*cdata = *RNAc::cdata; 799*memmove = *RNAc::memmove; 800*params_load = *RNAc::params_load; 801*params_save = *RNAc::params_save; 802*params_load_from_string = *RNAc::params_load_from_string; 803*params_load_RNA_Turner2004 = *RNAc::params_load_RNA_Turner2004; 804*params_load_RNA_Turner1999 = *RNAc::params_load_RNA_Turner1999; 805*params_load_RNA_Andronescu2007 = *RNAc::params_load_RNA_Andronescu2007; 806*params_load_RNA_Langdon2018 = *RNAc::params_load_RNA_Langdon2018; 807*params_load_RNA_misc_special_hairpins = *RNAc::params_load_RNA_misc_special_hairpins; 808*params_load_DNA_Mathews2004 = *RNAc::params_load_DNA_Mathews2004; 809*params_load_DNA_Mathews1999 = *RNAc::params_load_DNA_Mathews1999; 810*last_parameter_file = *RNAc::last_parameter_file; 811*read_parameter_file = *RNAc::read_parameter_file; 812*write_parameter_file = *RNAc::write_parameter_file; 813*gettype = *RNAc::gettype; 814*settype = *RNAc::settype; 815*init_rand = *RNAc::init_rand; 816*urn = *RNAc::urn; 817*int_urn = *RNAc::int_urn; 818*hamming = *RNAc::hamming; 819*hamming_bound = *RNAc::hamming_bound; 820*encode_seq = *RNAc::encode_seq; 821*random_string = *RNAc::random_string; 822*hamming_distance = *RNAc::hamming_distance; 823*hamming_distance_bound = *RNAc::hamming_distance_bound; 824*pack_structure = *RNAc::pack_structure; 825*unpack_structure = *RNAc::unpack_structure; 826*db_from_ptable = *RNAc::db_from_ptable; 827*db_flatten = *RNAc::db_flatten; 828*db_from_WUSS = *RNAc::db_from_WUSS; 829*abstract_shapes = *RNAc::abstract_shapes; 830*ptable = *RNAc::ptable; 831*ptable_pk = *RNAc::ptable_pk; 832*pt_pk_remove = *RNAc::pt_pk_remove; 833*plist = *RNAc::plist; 834*db_from_plist = *RNAc::db_from_plist; 835*db_pk_remove = *RNAc::db_pk_remove; 836*db_to_tree_string = *RNAc::db_to_tree_string; 837*tree_string_unweight = *RNAc::tree_string_unweight; 838*tree_string_to_db = *RNAc::tree_string_to_db; 839*make_loop_index = *RNAc::make_loop_index; 840*loopidx_from_ptable = *RNAc::loopidx_from_ptable; 841*bp_distance = *RNAc::bp_distance; 842*dist_mountain = *RNAc::dist_mountain; 843*db_pack = *RNAc::db_pack; 844*db_unpack = *RNAc::db_unpack; 845*db_to_element_string = *RNAc::db_to_element_string; 846*consensus = *RNAc::consensus; 847*consens_mis = *RNAc::consens_mis; 848*aln_mpi = *RNAc::aln_mpi; 849*aln_pscore = *RNAc::aln_pscore; 850*aln_conservation_struct = *RNAc::aln_conservation_struct; 851*aln_conservation_col = *RNAc::aln_conservation_col; 852*move_standard = *RNAc::move_standard; 853*filename_sanitize = *RNAc::filename_sanitize; 854*get_xy_coordinates = *RNAc::get_xy_coordinates; 855*simple_circplot_coordinates = *RNAc::simple_circplot_coordinates; 856*naview_xy_coordinates = *RNAc::naview_xy_coordinates; 857*simple_xy_coordinates = *RNAc::simple_xy_coordinates; 858*my_PS_rna_plot_snoop_a = *RNAc::my_PS_rna_plot_snoop_a; 859*file_PS_rnaplot = *RNAc::file_PS_rnaplot; 860*file_PS_rnaplot_a = *RNAc::file_PS_rnaplot_a; 861*gmlRNA = *RNAc::gmlRNA; 862*ssv_rna_plot = *RNAc::ssv_rna_plot; 863*svg_rna_plot = *RNAc::svg_rna_plot; 864*xrna_plot = *RNAc::xrna_plot; 865*PS_rna_plot = *RNAc::PS_rna_plot; 866*PS_rna_plot_a = *RNAc::PS_rna_plot_a; 867*PS_rna_plot_a_gquad = *RNAc::PS_rna_plot_a_gquad; 868*file_PS_aln = *RNAc::file_PS_aln; 869*PS_color_dot_plot = *RNAc::PS_color_dot_plot; 870*PS_color_dot_plot_turn = *RNAc::PS_color_dot_plot_turn; 871*PS_dot_plot_turn = *RNAc::PS_dot_plot_turn; 872*PS_dot_plot_list = *RNAc::PS_dot_plot_list; 873*PS_dot_plot = *RNAc::PS_dot_plot; 874*eval_structure_simple = *RNAc::eval_structure_simple; 875*eval_circ_structure = *RNAc::eval_circ_structure; 876*eval_gquad_structure = *RNAc::eval_gquad_structure; 877*eval_circ_gquad_structure = *RNAc::eval_circ_gquad_structure; 878*eval_structure_pt_simple = *RNAc::eval_structure_pt_simple; 879*energy_of_structure = *RNAc::energy_of_structure; 880*energy_of_circ_structure = *RNAc::energy_of_circ_structure; 881*energy_of_gquad_structure = *RNAc::energy_of_gquad_structure; 882*energy_of_structure_pt = *RNAc::energy_of_structure_pt; 883*energy_of_move = *RNAc::energy_of_move; 884*energy_of_move_pt = *RNAc::energy_of_move_pt; 885*loop_energy = *RNAc::loop_energy; 886*energy_of_struct = *RNAc::energy_of_struct; 887*energy_of_struct_pt = *RNAc::energy_of_struct_pt; 888*energy_of_circ_struct = *RNAc::energy_of_circ_struct; 889*E_ext_stem = *RNAc::E_ext_stem; 890*exp_E_ext_stem = *RNAc::exp_E_ext_stem; 891*E_Stem = *RNAc::E_Stem; 892*E_ExtLoop = *RNAc::E_ExtLoop; 893*exp_E_ExtLoop = *RNAc::exp_E_ExtLoop; 894*exp_E_Stem = *RNAc::exp_E_Stem; 895*E_Hairpin = *RNAc::E_Hairpin; 896*exp_E_Hairpin = *RNAc::exp_E_Hairpin; 897*E_IntLoop = *RNAc::E_IntLoop; 898*exp_E_IntLoop = *RNAc::exp_E_IntLoop; 899*E_IntLoop_Co = *RNAc::E_IntLoop_Co; 900*ubf_eval_int_loop = *RNAc::ubf_eval_int_loop; 901*ubf_eval_int_loop2 = *RNAc::ubf_eval_int_loop2; 902*ubf_eval_ext_int_loop = *RNAc::ubf_eval_ext_int_loop; 903*E_ml_rightmost_stem = *RNAc::E_ml_rightmost_stem; 904*E_MLstem = *RNAc::E_MLstem; 905*exp_E_MLstem = *RNAc::exp_E_MLstem; 906*maximum_matching = *RNAc::maximum_matching; 907*fold = *RNAc::fold; 908*alifold = *RNAc::alifold; 909*cofold = *RNAc::cofold; 910*circfold = *RNAc::circfold; 911*free_arrays = *RNAc::free_arrays; 912*update_fold_params = *RNAc::update_fold_params; 913*circalifold = *RNAc::circalifold; 914*free_alifold_arrays = *RNAc::free_alifold_arrays; 915*free_co_arrays = *RNAc::free_co_arrays; 916*update_cofold_params = *RNAc::update_cofold_params; 917*initialize_cofold = *RNAc::initialize_cofold; 918*Lfoldz = *RNAc::Lfoldz; 919*Lfold = *RNAc::Lfold; 920*aliLfold = *RNAc::aliLfold; 921*pf_fold = *RNAc::pf_fold; 922*pf_circ_fold = *RNAc::pf_circ_fold; 923*pf_float_precision = *RNAc::pf_float_precision; 924*pbacktrack = *RNAc::pbacktrack; 925*pbacktrack5 = *RNAc::pbacktrack5; 926*pbacktrack_circ = *RNAc::pbacktrack_circ; 927*free_pf_arrays = *RNAc::free_pf_arrays; 928*update_pf_params = *RNAc::update_pf_params; 929*mean_bp_distance = *RNAc::mean_bp_distance; 930*init_pf_fold = *RNAc::init_pf_fold; 931*centroid = *RNAc::centroid; 932*co_pf_fold = *RNAc::co_pf_fold; 933*get_concentrations = *RNAc::get_concentrations; 934*free_co_pf_arrays = *RNAc::free_co_pf_arrays; 935*update_co_pf_params = *RNAc::update_co_pf_params; 936*get_pr = *RNAc::get_pr; 937*get_centroid_struct_pl = *RNAc::get_centroid_struct_pl; 938*get_centroid_struct_pr = *RNAc::get_centroid_struct_pr; 939*MEA_from_plist = *RNAc::MEA_from_plist; 940*pfl_fold = *RNAc::pfl_fold; 941*pfl_fold_up = *RNAc::pfl_fold_up; 942*subopt = *RNAc::subopt; 943*zukersubopt = *RNAc::zukersubopt; 944*inverse_fold = *RNAc::inverse_fold; 945*inverse_pf_fold = *RNAc::inverse_pf_fold; 946*b2HIT = *RNAc::b2HIT; 947*b2C = *RNAc::b2C; 948*b2Shapiro = *RNAc::b2Shapiro; 949*add_root = *RNAc::add_root; 950*expand_Shapiro = *RNAc::expand_Shapiro; 951*expand_Full = *RNAc::expand_Full; 952*unexpand_Full = *RNAc::unexpand_Full; 953*unweight = *RNAc::unweight; 954*unexpand_aligned_F = *RNAc::unexpand_aligned_F; 955*parse_structure = *RNAc::parse_structure; 956*make_tree = *RNAc::make_tree; 957*tree_edit_distance = *RNAc::tree_edit_distance; 958*print_tree = *RNAc::print_tree; 959*free_tree = *RNAc::free_tree; 960*Make_swString = *RNAc::Make_swString; 961*string_edit_distance = *RNAc::string_edit_distance; 962*profile_edit_distance = *RNAc::profile_edit_distance; 963*Make_bp_profile_bppm = *RNAc::Make_bp_profile_bppm; 964*print_bppm = *RNAc::print_bppm; 965*free_profile = *RNAc::free_profile; 966*Make_bp_profile = *RNAc::Make_bp_profile; 967*deref_any = *RNAc::deref_any; 968*get_aligned_line = *RNAc::get_aligned_line; 969*file_SHAPE_read = *RNAc::file_SHAPE_read; 970*file_fasta_read = *RNAc::file_fasta_read; 971*extract_record_rest_structure = *RNAc::extract_record_rest_structure; 972*read_record = *RNAc::read_record; 973*get_multi_input_line = *RNAc::get_multi_input_line; 974*file_msa_detect_format = *RNAc::file_msa_detect_format; 975*file_msa_write = *RNAc::file_msa_write; 976*file_msa_read = *RNAc::file_msa_read; 977*file_msa_read_record = *RNAc::file_msa_read_record; 978*seq_encode = *RNAc::seq_encode; 979*file_commands_read = *RNAc::file_commands_read; 980*enumerate_necklaces = *RNAc::enumerate_necklaces; 981*rotational_symmetry = *RNAc::rotational_symmetry; 982*duplexfold = *RNAc::duplexfold; 983*duplex_subopt = *RNAc::duplex_subopt; 984*aliduplexfold = *RNAc::aliduplexfold; 985*aliduplex_subopt = *RNAc::aliduplex_subopt; 986*path_options_findpath = *RNAc::path_options_findpath; 987*get_path = *RNAc::get_path; 988*find_saddle = *RNAc::find_saddle; 989*free_path = *RNAc::free_path; 990*heat_capacity = *RNAc::heat_capacity; 991*fc_add_perl_callback = *RNAc::fc_add_perl_callback; 992*fc_add_perl_data = *RNAc::fc_add_perl_data; 993*sc_add_f_perl_callback = *RNAc::sc_add_f_perl_callback; 994*sc_add_bt_perl_callback = *RNAc::sc_add_bt_perl_callback; 995*sc_add_exp_f_perl_callback = *RNAc::sc_add_exp_f_perl_callback; 996*sc_add_perl_data = *RNAc::sc_add_perl_data; 997*ud_set_data = *RNAc::ud_set_data; 998*ud_set_prod_rule_cb = *RNAc::ud_set_prod_rule_cb; 999*ud_set_exp_prod_rule_cb = *RNAc::ud_set_exp_prod_rule_cb; 1000*ud_set_prob_cb = *RNAc::ud_set_prob_cb; 1001*Lfold_cb = *RNAc::Lfold_cb; 1002*Lfoldz_cb = *RNAc::Lfoldz_cb; 1003*aliLfold_cb = *RNAc::aliLfold_cb; 1004*pfl_fold_cb = *RNAc::pfl_fold_cb; 1005*pfl_fold_up_cb = *RNAc::pfl_fold_up_cb; 1006 1007############# Class : RNA::intArray ############## 1008 1009package RNA::intArray; 1010use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 1011@ISA = qw( RNA ); 1012%OWNER = (); 1013%ITERATORS = (); 1014sub new { 1015 my $pkg = shift; 1016 my $self = RNAc::new_intArray(@_); 1017 bless $self, $pkg if defined($self); 1018} 1019 1020sub DESTROY { 1021 return unless $_[0]->isa('HASH'); 1022 my $self = tied(%{$_[0]}); 1023 return unless defined $self; 1024 delete $ITERATORS{$self}; 1025 if (exists $OWNER{$self}) { 1026 RNAc::delete_intArray($self); 1027 delete $OWNER{$self}; 1028 } 1029} 1030 1031*getitem = *RNAc::intArray_getitem; 1032*setitem = *RNAc::intArray_setitem; 1033*cast = *RNAc::intArray_cast; 1034*frompointer = *RNAc::intArray_frompointer; 1035sub DISOWN { 1036 my $self = shift; 1037 my $ptr = tied(%$self); 1038 delete $OWNER{$ptr}; 1039} 1040 1041sub ACQUIRE { 1042 my $self = shift; 1043 my $ptr = tied(%$self); 1044 $OWNER{$ptr} = 1; 1045} 1046 1047 1048############# Class : RNA::floatArray ############## 1049 1050package RNA::floatArray; 1051use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 1052@ISA = qw( RNA ); 1053%OWNER = (); 1054%ITERATORS = (); 1055sub new { 1056 my $pkg = shift; 1057 my $self = RNAc::new_floatArray(@_); 1058 bless $self, $pkg if defined($self); 1059} 1060 1061sub DESTROY { 1062 return unless $_[0]->isa('HASH'); 1063 my $self = tied(%{$_[0]}); 1064 return unless defined $self; 1065 delete $ITERATORS{$self}; 1066 if (exists $OWNER{$self}) { 1067 RNAc::delete_floatArray($self); 1068 delete $OWNER{$self}; 1069 } 1070} 1071 1072*getitem = *RNAc::floatArray_getitem; 1073*setitem = *RNAc::floatArray_setitem; 1074*cast = *RNAc::floatArray_cast; 1075*frompointer = *RNAc::floatArray_frompointer; 1076sub DISOWN { 1077 my $self = shift; 1078 my $ptr = tied(%$self); 1079 delete $OWNER{$ptr}; 1080} 1081 1082sub ACQUIRE { 1083 my $self = shift; 1084 my $ptr = tied(%$self); 1085 $OWNER{$ptr} = 1; 1086} 1087 1088 1089############# Class : RNA::doubleArray ############## 1090 1091package RNA::doubleArray; 1092use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 1093@ISA = qw( RNA ); 1094%OWNER = (); 1095%ITERATORS = (); 1096sub new { 1097 my $pkg = shift; 1098 my $self = RNAc::new_doubleArray(@_); 1099 bless $self, $pkg if defined($self); 1100} 1101 1102sub DESTROY { 1103 return unless $_[0]->isa('HASH'); 1104 my $self = tied(%{$_[0]}); 1105 return unless defined $self; 1106 delete $ITERATORS{$self}; 1107 if (exists $OWNER{$self}) { 1108 RNAc::delete_doubleArray($self); 1109 delete $OWNER{$self}; 1110 } 1111} 1112 1113*getitem = *RNAc::doubleArray_getitem; 1114*setitem = *RNAc::doubleArray_setitem; 1115*cast = *RNAc::doubleArray_cast; 1116*frompointer = *RNAc::doubleArray_frompointer; 1117sub DISOWN { 1118 my $self = shift; 1119 my $ptr = tied(%$self); 1120 delete $OWNER{$ptr}; 1121} 1122 1123sub ACQUIRE { 1124 my $self = shift; 1125 my $ptr = tied(%$self); 1126 $OWNER{$ptr} = 1; 1127} 1128 1129 1130############# Class : RNA::DoublePair ############## 1131 1132package RNA::DoublePair; 1133use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 1134@ISA = qw( RNA ); 1135%OWNER = (); 1136%ITERATORS = (); 1137sub new { 1138 my $pkg = shift; 1139 my $self = RNAc::new_DoublePair(@_); 1140 bless $self, $pkg if defined($self); 1141} 1142 1143*swig_first_get = *RNAc::DoublePair_first_get; 1144*swig_first_set = *RNAc::DoublePair_first_set; 1145*swig_second_get = *RNAc::DoublePair_second_get; 1146*swig_second_set = *RNAc::DoublePair_second_set; 1147sub DESTROY { 1148 return unless $_[0]->isa('HASH'); 1149 my $self = tied(%{$_[0]}); 1150 return unless defined $self; 1151 delete $ITERATORS{$self}; 1152 if (exists $OWNER{$self}) { 1153 RNAc::delete_DoublePair($self); 1154 delete $OWNER{$self}; 1155 } 1156} 1157 1158sub DISOWN { 1159 my $self = shift; 1160 my $ptr = tied(%$self); 1161 delete $OWNER{$ptr}; 1162} 1163 1164sub ACQUIRE { 1165 my $self = shift; 1166 my $ptr = tied(%$self); 1167 $OWNER{$ptr} = 1; 1168} 1169 1170 1171############# Class : RNA::IntVector ############## 1172 1173package RNA::IntVector; 1174use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 1175@ISA = qw( RNA ); 1176%OWNER = (); 1177%ITERATORS = (); 1178sub new { 1179 my $pkg = shift; 1180 my $self = RNAc::new_IntVector(@_); 1181 bless $self, $pkg if defined($self); 1182} 1183 1184*size = *RNAc::IntVector_size; 1185*empty = *RNAc::IntVector_empty; 1186*clear = *RNAc::IntVector_clear; 1187*push = *RNAc::IntVector_push; 1188*pop = *RNAc::IntVector_pop; 1189*get = *RNAc::IntVector_get; 1190*set = *RNAc::IntVector_set; 1191sub DESTROY { 1192 return unless $_[0]->isa('HASH'); 1193 my $self = tied(%{$_[0]}); 1194 return unless defined $self; 1195 delete $ITERATORS{$self}; 1196 if (exists $OWNER{$self}) { 1197 RNAc::delete_IntVector($self); 1198 delete $OWNER{$self}; 1199 } 1200} 1201 1202sub DISOWN { 1203 my $self = shift; 1204 my $ptr = tied(%$self); 1205 delete $OWNER{$ptr}; 1206} 1207 1208sub ACQUIRE { 1209 my $self = shift; 1210 my $ptr = tied(%$self); 1211 $OWNER{$ptr} = 1; 1212} 1213 1214 1215############# Class : RNA::UIntVector ############## 1216 1217package RNA::UIntVector; 1218use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 1219@ISA = qw( RNA ); 1220%OWNER = (); 1221%ITERATORS = (); 1222sub new { 1223 my $pkg = shift; 1224 my $self = RNAc::new_UIntVector(@_); 1225 bless $self, $pkg if defined($self); 1226} 1227 1228*size = *RNAc::UIntVector_size; 1229*empty = *RNAc::UIntVector_empty; 1230*clear = *RNAc::UIntVector_clear; 1231*push = *RNAc::UIntVector_push; 1232*pop = *RNAc::UIntVector_pop; 1233*get = *RNAc::UIntVector_get; 1234*set = *RNAc::UIntVector_set; 1235sub DESTROY { 1236 return unless $_[0]->isa('HASH'); 1237 my $self = tied(%{$_[0]}); 1238 return unless defined $self; 1239 delete $ITERATORS{$self}; 1240 if (exists $OWNER{$self}) { 1241 RNAc::delete_UIntVector($self); 1242 delete $OWNER{$self}; 1243 } 1244} 1245 1246sub DISOWN { 1247 my $self = shift; 1248 my $ptr = tied(%$self); 1249 delete $OWNER{$ptr}; 1250} 1251 1252sub ACQUIRE { 1253 my $self = shift; 1254 my $ptr = tied(%$self); 1255 $OWNER{$ptr} = 1; 1256} 1257 1258 1259############# Class : RNA::DoubleVector ############## 1260 1261package RNA::DoubleVector; 1262use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 1263@ISA = qw( RNA ); 1264%OWNER = (); 1265%ITERATORS = (); 1266sub new { 1267 my $pkg = shift; 1268 my $self = RNAc::new_DoubleVector(@_); 1269 bless $self, $pkg if defined($self); 1270} 1271 1272*size = *RNAc::DoubleVector_size; 1273*empty = *RNAc::DoubleVector_empty; 1274*clear = *RNAc::DoubleVector_clear; 1275*push = *RNAc::DoubleVector_push; 1276*pop = *RNAc::DoubleVector_pop; 1277*get = *RNAc::DoubleVector_get; 1278*set = *RNAc::DoubleVector_set; 1279sub DESTROY { 1280 return unless $_[0]->isa('HASH'); 1281 my $self = tied(%{$_[0]}); 1282 return unless defined $self; 1283 delete $ITERATORS{$self}; 1284 if (exists $OWNER{$self}) { 1285 RNAc::delete_DoubleVector($self); 1286 delete $OWNER{$self}; 1287 } 1288} 1289 1290sub DISOWN { 1291 my $self = shift; 1292 my $ptr = tied(%$self); 1293 delete $OWNER{$ptr}; 1294} 1295 1296sub ACQUIRE { 1297 my $self = shift; 1298 my $ptr = tied(%$self); 1299 $OWNER{$ptr} = 1; 1300} 1301 1302 1303############# Class : RNA::StringVector ############## 1304 1305package RNA::StringVector; 1306use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 1307@ISA = qw( RNA ); 1308%OWNER = (); 1309%ITERATORS = (); 1310sub new { 1311 my $pkg = shift; 1312 my $self = RNAc::new_StringVector(@_); 1313 bless $self, $pkg if defined($self); 1314} 1315 1316*size = *RNAc::StringVector_size; 1317*empty = *RNAc::StringVector_empty; 1318*clear = *RNAc::StringVector_clear; 1319*push = *RNAc::StringVector_push; 1320*pop = *RNAc::StringVector_pop; 1321*get = *RNAc::StringVector_get; 1322*set = *RNAc::StringVector_set; 1323sub DESTROY { 1324 return unless $_[0]->isa('HASH'); 1325 my $self = tied(%{$_[0]}); 1326 return unless defined $self; 1327 delete $ITERATORS{$self}; 1328 if (exists $OWNER{$self}) { 1329 RNAc::delete_StringVector($self); 1330 delete $OWNER{$self}; 1331 } 1332} 1333 1334sub DISOWN { 1335 my $self = shift; 1336 my $ptr = tied(%$self); 1337 delete $OWNER{$ptr}; 1338} 1339 1340sub ACQUIRE { 1341 my $self = shift; 1342 my $ptr = tied(%$self); 1343 $OWNER{$ptr} = 1; 1344} 1345 1346 1347############# Class : RNA::ConstCharVector ############## 1348 1349package RNA::ConstCharVector; 1350use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 1351@ISA = qw( RNA ); 1352%OWNER = (); 1353%ITERATORS = (); 1354sub new { 1355 my $pkg = shift; 1356 my $self = RNAc::new_ConstCharVector(@_); 1357 bless $self, $pkg if defined($self); 1358} 1359 1360*size = *RNAc::ConstCharVector_size; 1361*empty = *RNAc::ConstCharVector_empty; 1362*clear = *RNAc::ConstCharVector_clear; 1363*push = *RNAc::ConstCharVector_push; 1364*pop = *RNAc::ConstCharVector_pop; 1365*get = *RNAc::ConstCharVector_get; 1366*set = *RNAc::ConstCharVector_set; 1367sub DESTROY { 1368 return unless $_[0]->isa('HASH'); 1369 my $self = tied(%{$_[0]}); 1370 return unless defined $self; 1371 delete $ITERATORS{$self}; 1372 if (exists $OWNER{$self}) { 1373 RNAc::delete_ConstCharVector($self); 1374 delete $OWNER{$self}; 1375 } 1376} 1377 1378sub DISOWN { 1379 my $self = shift; 1380 my $ptr = tied(%$self); 1381 delete $OWNER{$ptr}; 1382} 1383 1384sub ACQUIRE { 1385 my $self = shift; 1386 my $ptr = tied(%$self); 1387 $OWNER{$ptr} = 1; 1388} 1389 1390 1391############# Class : RNA::SOLUTIONVector ############## 1392 1393package RNA::SOLUTIONVector; 1394use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 1395@ISA = qw( RNA ); 1396%OWNER = (); 1397%ITERATORS = (); 1398sub new { 1399 my $pkg = shift; 1400 my $self = RNAc::new_SOLUTIONVector(@_); 1401 bless $self, $pkg if defined($self); 1402} 1403 1404*size = *RNAc::SOLUTIONVector_size; 1405*empty = *RNAc::SOLUTIONVector_empty; 1406*clear = *RNAc::SOLUTIONVector_clear; 1407*push = *RNAc::SOLUTIONVector_push; 1408*pop = *RNAc::SOLUTIONVector_pop; 1409*get = *RNAc::SOLUTIONVector_get; 1410*set = *RNAc::SOLUTIONVector_set; 1411sub DESTROY { 1412 return unless $_[0]->isa('HASH'); 1413 my $self = tied(%{$_[0]}); 1414 return unless defined $self; 1415 delete $ITERATORS{$self}; 1416 if (exists $OWNER{$self}) { 1417 RNAc::delete_SOLUTIONVector($self); 1418 delete $OWNER{$self}; 1419 } 1420} 1421 1422sub DISOWN { 1423 my $self = shift; 1424 my $ptr = tied(%$self); 1425 delete $OWNER{$ptr}; 1426} 1427 1428sub ACQUIRE { 1429 my $self = shift; 1430 my $ptr = tied(%$self); 1431 $OWNER{$ptr} = 1; 1432} 1433 1434 1435############# Class : RNA::CoordinateVector ############## 1436 1437package RNA::CoordinateVector; 1438use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 1439@ISA = qw( RNA ); 1440%OWNER = (); 1441%ITERATORS = (); 1442sub new { 1443 my $pkg = shift; 1444 my $self = RNAc::new_CoordinateVector(@_); 1445 bless $self, $pkg if defined($self); 1446} 1447 1448*size = *RNAc::CoordinateVector_size; 1449*empty = *RNAc::CoordinateVector_empty; 1450*clear = *RNAc::CoordinateVector_clear; 1451*push = *RNAc::CoordinateVector_push; 1452*pop = *RNAc::CoordinateVector_pop; 1453*get = *RNAc::CoordinateVector_get; 1454*set = *RNAc::CoordinateVector_set; 1455sub DESTROY { 1456 return unless $_[0]->isa('HASH'); 1457 my $self = tied(%{$_[0]}); 1458 return unless defined $self; 1459 delete $ITERATORS{$self}; 1460 if (exists $OWNER{$self}) { 1461 RNAc::delete_CoordinateVector($self); 1462 delete $OWNER{$self}; 1463 } 1464} 1465 1466sub DISOWN { 1467 my $self = shift; 1468 my $ptr = tied(%$self); 1469 delete $OWNER{$ptr}; 1470} 1471 1472sub ACQUIRE { 1473 my $self = shift; 1474 my $ptr = tied(%$self); 1475 $OWNER{$ptr} = 1; 1476} 1477 1478 1479############# Class : RNA::DoubleDoubleVector ############## 1480 1481package RNA::DoubleDoubleVector; 1482use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 1483@ISA = qw( RNA ); 1484%OWNER = (); 1485%ITERATORS = (); 1486sub new { 1487 my $pkg = shift; 1488 my $self = RNAc::new_DoubleDoubleVector(@_); 1489 bless $self, $pkg if defined($self); 1490} 1491 1492*size = *RNAc::DoubleDoubleVector_size; 1493*empty = *RNAc::DoubleDoubleVector_empty; 1494*clear = *RNAc::DoubleDoubleVector_clear; 1495*push = *RNAc::DoubleDoubleVector_push; 1496*pop = *RNAc::DoubleDoubleVector_pop; 1497*get = *RNAc::DoubleDoubleVector_get; 1498*set = *RNAc::DoubleDoubleVector_set; 1499sub DESTROY { 1500 return unless $_[0]->isa('HASH'); 1501 my $self = tied(%{$_[0]}); 1502 return unless defined $self; 1503 delete $ITERATORS{$self}; 1504 if (exists $OWNER{$self}) { 1505 RNAc::delete_DoubleDoubleVector($self); 1506 delete $OWNER{$self}; 1507 } 1508} 1509 1510sub DISOWN { 1511 my $self = shift; 1512 my $ptr = tied(%$self); 1513 delete $OWNER{$ptr}; 1514} 1515 1516sub ACQUIRE { 1517 my $self = shift; 1518 my $ptr = tied(%$self); 1519 $OWNER{$ptr} = 1; 1520} 1521 1522 1523############# Class : RNA::IntIntVector ############## 1524 1525package RNA::IntIntVector; 1526use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 1527@ISA = qw( RNA ); 1528%OWNER = (); 1529%ITERATORS = (); 1530sub new { 1531 my $pkg = shift; 1532 my $self = RNAc::new_IntIntVector(@_); 1533 bless $self, $pkg if defined($self); 1534} 1535 1536*size = *RNAc::IntIntVector_size; 1537*empty = *RNAc::IntIntVector_empty; 1538*clear = *RNAc::IntIntVector_clear; 1539*push = *RNAc::IntIntVector_push; 1540*pop = *RNAc::IntIntVector_pop; 1541*get = *RNAc::IntIntVector_get; 1542*set = *RNAc::IntIntVector_set; 1543sub DESTROY { 1544 return unless $_[0]->isa('HASH'); 1545 my $self = tied(%{$_[0]}); 1546 return unless defined $self; 1547 delete $ITERATORS{$self}; 1548 if (exists $OWNER{$self}) { 1549 RNAc::delete_IntIntVector($self); 1550 delete $OWNER{$self}; 1551 } 1552} 1553 1554sub DISOWN { 1555 my $self = shift; 1556 my $ptr = tied(%$self); 1557 delete $OWNER{$ptr}; 1558} 1559 1560sub ACQUIRE { 1561 my $self = shift; 1562 my $ptr = tied(%$self); 1563 $OWNER{$ptr} = 1; 1564} 1565 1566 1567############# Class : RNA::ElemProbVector ############## 1568 1569package RNA::ElemProbVector; 1570use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 1571@ISA = qw( RNA ); 1572%OWNER = (); 1573%ITERATORS = (); 1574sub new { 1575 my $pkg = shift; 1576 my $self = RNAc::new_ElemProbVector(@_); 1577 bless $self, $pkg if defined($self); 1578} 1579 1580*size = *RNAc::ElemProbVector_size; 1581*empty = *RNAc::ElemProbVector_empty; 1582*clear = *RNAc::ElemProbVector_clear; 1583*push = *RNAc::ElemProbVector_push; 1584*pop = *RNAc::ElemProbVector_pop; 1585*get = *RNAc::ElemProbVector_get; 1586*set = *RNAc::ElemProbVector_set; 1587sub DESTROY { 1588 return unless $_[0]->isa('HASH'); 1589 my $self = tied(%{$_[0]}); 1590 return unless defined $self; 1591 delete $ITERATORS{$self}; 1592 if (exists $OWNER{$self}) { 1593 RNAc::delete_ElemProbVector($self); 1594 delete $OWNER{$self}; 1595 } 1596} 1597 1598sub DISOWN { 1599 my $self = shift; 1600 my $ptr = tied(%$self); 1601 delete $OWNER{$ptr}; 1602} 1603 1604sub ACQUIRE { 1605 my $self = shift; 1606 my $ptr = tied(%$self); 1607 $OWNER{$ptr} = 1; 1608} 1609 1610 1611############# Class : RNA::PathVector ############## 1612 1613package RNA::PathVector; 1614use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 1615@ISA = qw( RNA ); 1616%OWNER = (); 1617%ITERATORS = (); 1618sub new { 1619 my $pkg = shift; 1620 my $self = RNAc::new_PathVector(@_); 1621 bless $self, $pkg if defined($self); 1622} 1623 1624*size = *RNAc::PathVector_size; 1625*empty = *RNAc::PathVector_empty; 1626*clear = *RNAc::PathVector_clear; 1627*push = *RNAc::PathVector_push; 1628*pop = *RNAc::PathVector_pop; 1629*get = *RNAc::PathVector_get; 1630*set = *RNAc::PathVector_set; 1631sub DESTROY { 1632 return unless $_[0]->isa('HASH'); 1633 my $self = tied(%{$_[0]}); 1634 return unless defined $self; 1635 delete $ITERATORS{$self}; 1636 if (exists $OWNER{$self}) { 1637 RNAc::delete_PathVector($self); 1638 delete $OWNER{$self}; 1639 } 1640} 1641 1642sub DISOWN { 1643 my $self = shift; 1644 my $ptr = tied(%$self); 1645 delete $OWNER{$ptr}; 1646} 1647 1648sub ACQUIRE { 1649 my $self = shift; 1650 my $ptr = tied(%$self); 1651 $OWNER{$ptr} = 1; 1652} 1653 1654 1655############# Class : RNA::MoveVector ############## 1656 1657package RNA::MoveVector; 1658use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 1659@ISA = qw( RNA ); 1660%OWNER = (); 1661%ITERATORS = (); 1662sub new { 1663 my $pkg = shift; 1664 my $self = RNAc::new_MoveVector(@_); 1665 bless $self, $pkg if defined($self); 1666} 1667 1668*size = *RNAc::MoveVector_size; 1669*empty = *RNAc::MoveVector_empty; 1670*clear = *RNAc::MoveVector_clear; 1671*push = *RNAc::MoveVector_push; 1672*pop = *RNAc::MoveVector_pop; 1673*get = *RNAc::MoveVector_get; 1674*set = *RNAc::MoveVector_set; 1675sub DESTROY { 1676 return unless $_[0]->isa('HASH'); 1677 my $self = tied(%{$_[0]}); 1678 return unless defined $self; 1679 delete $ITERATORS{$self}; 1680 if (exists $OWNER{$self}) { 1681 RNAc::delete_MoveVector($self); 1682 delete $OWNER{$self}; 1683 } 1684} 1685 1686sub DISOWN { 1687 my $self = shift; 1688 my $ptr = tied(%$self); 1689 delete $OWNER{$ptr}; 1690} 1691 1692sub ACQUIRE { 1693 my $self = shift; 1694 my $ptr = tied(%$self); 1695 $OWNER{$ptr} = 1; 1696} 1697 1698 1699############# Class : RNA::param ############## 1700 1701package RNA::param; 1702use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 1703@ISA = qw( RNA ); 1704%OWNER = (); 1705%ITERATORS = (); 1706*swig_id_get = *RNAc::param_id_get; 1707*swig_id_set = *RNAc::param_id_set; 1708*swig_stack_get = *RNAc::param_stack_get; 1709*swig_stack_set = *RNAc::param_stack_set; 1710*swig_hairpin_get = *RNAc::param_hairpin_get; 1711*swig_hairpin_set = *RNAc::param_hairpin_set; 1712*swig_bulge_get = *RNAc::param_bulge_get; 1713*swig_bulge_set = *RNAc::param_bulge_set; 1714*swig_internal_loop_get = *RNAc::param_internal_loop_get; 1715*swig_internal_loop_set = *RNAc::param_internal_loop_set; 1716*swig_mismatchExt_get = *RNAc::param_mismatchExt_get; 1717*swig_mismatchExt_set = *RNAc::param_mismatchExt_set; 1718*swig_mismatchI_get = *RNAc::param_mismatchI_get; 1719*swig_mismatchI_set = *RNAc::param_mismatchI_set; 1720*swig_mismatch1nI_get = *RNAc::param_mismatch1nI_get; 1721*swig_mismatch1nI_set = *RNAc::param_mismatch1nI_set; 1722*swig_mismatch23I_get = *RNAc::param_mismatch23I_get; 1723*swig_mismatch23I_set = *RNAc::param_mismatch23I_set; 1724*swig_mismatchH_get = *RNAc::param_mismatchH_get; 1725*swig_mismatchH_set = *RNAc::param_mismatchH_set; 1726*swig_mismatchM_get = *RNAc::param_mismatchM_get; 1727*swig_mismatchM_set = *RNAc::param_mismatchM_set; 1728*swig_dangle5_get = *RNAc::param_dangle5_get; 1729*swig_dangle5_set = *RNAc::param_dangle5_set; 1730*swig_dangle3_get = *RNAc::param_dangle3_get; 1731*swig_dangle3_set = *RNAc::param_dangle3_set; 1732*swig_int11_get = *RNAc::param_int11_get; 1733*swig_int11_set = *RNAc::param_int11_set; 1734*swig_int21_get = *RNAc::param_int21_get; 1735*swig_int21_set = *RNAc::param_int21_set; 1736*swig_int22_get = *RNAc::param_int22_get; 1737*swig_int22_set = *RNAc::param_int22_set; 1738*swig_ninio_get = *RNAc::param_ninio_get; 1739*swig_ninio_set = *RNAc::param_ninio_set; 1740*swig_lxc_get = *RNAc::param_lxc_get; 1741*swig_lxc_set = *RNAc::param_lxc_set; 1742*swig_MLbase_get = *RNAc::param_MLbase_get; 1743*swig_MLbase_set = *RNAc::param_MLbase_set; 1744*swig_MLintern_get = *RNAc::param_MLintern_get; 1745*swig_MLintern_set = *RNAc::param_MLintern_set; 1746*swig_MLclosing_get = *RNAc::param_MLclosing_get; 1747*swig_MLclosing_set = *RNAc::param_MLclosing_set; 1748*swig_TerminalAU_get = *RNAc::param_TerminalAU_get; 1749*swig_TerminalAU_set = *RNAc::param_TerminalAU_set; 1750*swig_DuplexInit_get = *RNAc::param_DuplexInit_get; 1751*swig_DuplexInit_set = *RNAc::param_DuplexInit_set; 1752*swig_Tetraloop_E_get = *RNAc::param_Tetraloop_E_get; 1753*swig_Tetraloop_E_set = *RNAc::param_Tetraloop_E_set; 1754*swig_Tetraloops_get = *RNAc::param_Tetraloops_get; 1755*swig_Tetraloops_set = *RNAc::param_Tetraloops_set; 1756*swig_Triloop_E_get = *RNAc::param_Triloop_E_get; 1757*swig_Triloop_E_set = *RNAc::param_Triloop_E_set; 1758*swig_Triloops_get = *RNAc::param_Triloops_get; 1759*swig_Triloops_set = *RNAc::param_Triloops_set; 1760*swig_Hexaloop_E_get = *RNAc::param_Hexaloop_E_get; 1761*swig_Hexaloop_E_set = *RNAc::param_Hexaloop_E_set; 1762*swig_Hexaloops_get = *RNAc::param_Hexaloops_get; 1763*swig_Hexaloops_set = *RNAc::param_Hexaloops_set; 1764*swig_TripleC_get = *RNAc::param_TripleC_get; 1765*swig_TripleC_set = *RNAc::param_TripleC_set; 1766*swig_MultipleCA_get = *RNAc::param_MultipleCA_get; 1767*swig_MultipleCA_set = *RNAc::param_MultipleCA_set; 1768*swig_MultipleCB_get = *RNAc::param_MultipleCB_get; 1769*swig_MultipleCB_set = *RNAc::param_MultipleCB_set; 1770*swig_gquad_get = *RNAc::param_gquad_get; 1771*swig_gquad_set = *RNAc::param_gquad_set; 1772*swig_gquadLayerMismatch_get = *RNAc::param_gquadLayerMismatch_get; 1773*swig_gquadLayerMismatch_set = *RNAc::param_gquadLayerMismatch_set; 1774*swig_gquadLayerMismatchMax_get = *RNAc::param_gquadLayerMismatchMax_get; 1775*swig_gquadLayerMismatchMax_set = *RNAc::param_gquadLayerMismatchMax_set; 1776*swig_temperature_get = *RNAc::param_temperature_get; 1777*swig_temperature_set = *RNAc::param_temperature_set; 1778*swig_model_details_get = *RNAc::param_model_details_get; 1779*swig_model_details_set = *RNAc::param_model_details_set; 1780*swig_param_file_get = *RNAc::param_param_file_get; 1781*swig_param_file_set = *RNAc::param_param_file_set; 1782sub new { 1783 my $pkg = shift; 1784 my $self = RNAc::new_param(@_); 1785 bless $self, $pkg if defined($self); 1786} 1787 1788sub DESTROY { 1789 return unless $_[0]->isa('HASH'); 1790 my $self = tied(%{$_[0]}); 1791 return unless defined $self; 1792 delete $ITERATORS{$self}; 1793 if (exists $OWNER{$self}) { 1794 RNAc::delete_param($self); 1795 delete $OWNER{$self}; 1796 } 1797} 1798 1799sub DISOWN { 1800 my $self = shift; 1801 my $ptr = tied(%$self); 1802 delete $OWNER{$ptr}; 1803} 1804 1805sub ACQUIRE { 1806 my $self = shift; 1807 my $ptr = tied(%$self); 1808 $OWNER{$ptr} = 1; 1809} 1810 1811 1812############# Class : RNA::exp_param ############## 1813 1814package RNA::exp_param; 1815use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 1816@ISA = qw( RNA ); 1817%OWNER = (); 1818%ITERATORS = (); 1819*swig_id_get = *RNAc::exp_param_id_get; 1820*swig_id_set = *RNAc::exp_param_id_set; 1821*swig_expstack_get = *RNAc::exp_param_expstack_get; 1822*swig_expstack_set = *RNAc::exp_param_expstack_set; 1823*swig_exphairpin_get = *RNAc::exp_param_exphairpin_get; 1824*swig_exphairpin_set = *RNAc::exp_param_exphairpin_set; 1825*swig_expbulge_get = *RNAc::exp_param_expbulge_get; 1826*swig_expbulge_set = *RNAc::exp_param_expbulge_set; 1827*swig_expinternal_get = *RNAc::exp_param_expinternal_get; 1828*swig_expinternal_set = *RNAc::exp_param_expinternal_set; 1829*swig_expmismatchExt_get = *RNAc::exp_param_expmismatchExt_get; 1830*swig_expmismatchExt_set = *RNAc::exp_param_expmismatchExt_set; 1831*swig_expmismatchI_get = *RNAc::exp_param_expmismatchI_get; 1832*swig_expmismatchI_set = *RNAc::exp_param_expmismatchI_set; 1833*swig_expmismatch23I_get = *RNAc::exp_param_expmismatch23I_get; 1834*swig_expmismatch23I_set = *RNAc::exp_param_expmismatch23I_set; 1835*swig_expmismatch1nI_get = *RNAc::exp_param_expmismatch1nI_get; 1836*swig_expmismatch1nI_set = *RNAc::exp_param_expmismatch1nI_set; 1837*swig_expmismatchH_get = *RNAc::exp_param_expmismatchH_get; 1838*swig_expmismatchH_set = *RNAc::exp_param_expmismatchH_set; 1839*swig_expmismatchM_get = *RNAc::exp_param_expmismatchM_get; 1840*swig_expmismatchM_set = *RNAc::exp_param_expmismatchM_set; 1841*swig_expdangle5_get = *RNAc::exp_param_expdangle5_get; 1842*swig_expdangle5_set = *RNAc::exp_param_expdangle5_set; 1843*swig_expdangle3_get = *RNAc::exp_param_expdangle3_get; 1844*swig_expdangle3_set = *RNAc::exp_param_expdangle3_set; 1845*swig_expint11_get = *RNAc::exp_param_expint11_get; 1846*swig_expint11_set = *RNAc::exp_param_expint11_set; 1847*swig_expint21_get = *RNAc::exp_param_expint21_get; 1848*swig_expint21_set = *RNAc::exp_param_expint21_set; 1849*swig_expint22_get = *RNAc::exp_param_expint22_get; 1850*swig_expint22_set = *RNAc::exp_param_expint22_set; 1851*swig_expninio_get = *RNAc::exp_param_expninio_get; 1852*swig_expninio_set = *RNAc::exp_param_expninio_set; 1853*swig_lxc_get = *RNAc::exp_param_lxc_get; 1854*swig_lxc_set = *RNAc::exp_param_lxc_set; 1855*swig_expMLbase_get = *RNAc::exp_param_expMLbase_get; 1856*swig_expMLbase_set = *RNAc::exp_param_expMLbase_set; 1857*swig_expMLintern_get = *RNAc::exp_param_expMLintern_get; 1858*swig_expMLintern_set = *RNAc::exp_param_expMLintern_set; 1859*swig_expMLclosing_get = *RNAc::exp_param_expMLclosing_get; 1860*swig_expMLclosing_set = *RNAc::exp_param_expMLclosing_set; 1861*swig_expTermAU_get = *RNAc::exp_param_expTermAU_get; 1862*swig_expTermAU_set = *RNAc::exp_param_expTermAU_set; 1863*swig_expDuplexInit_get = *RNAc::exp_param_expDuplexInit_get; 1864*swig_expDuplexInit_set = *RNAc::exp_param_expDuplexInit_set; 1865*swig_exptetra_get = *RNAc::exp_param_exptetra_get; 1866*swig_exptetra_set = *RNAc::exp_param_exptetra_set; 1867*swig_exptri_get = *RNAc::exp_param_exptri_get; 1868*swig_exptri_set = *RNAc::exp_param_exptri_set; 1869*swig_exphex_get = *RNAc::exp_param_exphex_get; 1870*swig_exphex_set = *RNAc::exp_param_exphex_set; 1871*swig_Tetraloops_get = *RNAc::exp_param_Tetraloops_get; 1872*swig_Tetraloops_set = *RNAc::exp_param_Tetraloops_set; 1873*swig_expTriloop_get = *RNAc::exp_param_expTriloop_get; 1874*swig_expTriloop_set = *RNAc::exp_param_expTriloop_set; 1875*swig_Triloops_get = *RNAc::exp_param_Triloops_get; 1876*swig_Triloops_set = *RNAc::exp_param_Triloops_set; 1877*swig_Hexaloops_get = *RNAc::exp_param_Hexaloops_get; 1878*swig_Hexaloops_set = *RNAc::exp_param_Hexaloops_set; 1879*swig_expTripleC_get = *RNAc::exp_param_expTripleC_get; 1880*swig_expTripleC_set = *RNAc::exp_param_expTripleC_set; 1881*swig_expMultipleCA_get = *RNAc::exp_param_expMultipleCA_get; 1882*swig_expMultipleCA_set = *RNAc::exp_param_expMultipleCA_set; 1883*swig_expMultipleCB_get = *RNAc::exp_param_expMultipleCB_get; 1884*swig_expMultipleCB_set = *RNAc::exp_param_expMultipleCB_set; 1885*swig_expgquad_get = *RNAc::exp_param_expgquad_get; 1886*swig_expgquad_set = *RNAc::exp_param_expgquad_set; 1887*swig_expgquadLayerMismatch_get = *RNAc::exp_param_expgquadLayerMismatch_get; 1888*swig_expgquadLayerMismatch_set = *RNAc::exp_param_expgquadLayerMismatch_set; 1889*swig_gquadLayerMismatchMax_get = *RNAc::exp_param_gquadLayerMismatchMax_get; 1890*swig_gquadLayerMismatchMax_set = *RNAc::exp_param_gquadLayerMismatchMax_set; 1891*swig_kT_get = *RNAc::exp_param_kT_get; 1892*swig_kT_set = *RNAc::exp_param_kT_set; 1893*swig_pf_scale_get = *RNAc::exp_param_pf_scale_get; 1894*swig_pf_scale_set = *RNAc::exp_param_pf_scale_set; 1895*swig_temperature_get = *RNAc::exp_param_temperature_get; 1896*swig_temperature_set = *RNAc::exp_param_temperature_set; 1897*swig_alpha_get = *RNAc::exp_param_alpha_get; 1898*swig_alpha_set = *RNAc::exp_param_alpha_set; 1899*swig_model_details_get = *RNAc::exp_param_model_details_get; 1900*swig_model_details_set = *RNAc::exp_param_model_details_set; 1901*swig_param_file_get = *RNAc::exp_param_param_file_get; 1902*swig_param_file_set = *RNAc::exp_param_param_file_set; 1903sub new { 1904 my $pkg = shift; 1905 my $self = RNAc::new_exp_param(@_); 1906 bless $self, $pkg if defined($self); 1907} 1908 1909sub DESTROY { 1910 return unless $_[0]->isa('HASH'); 1911 my $self = tied(%{$_[0]}); 1912 return unless defined $self; 1913 delete $ITERATORS{$self}; 1914 if (exists $OWNER{$self}) { 1915 RNAc::delete_exp_param($self); 1916 delete $OWNER{$self}; 1917 } 1918} 1919 1920sub DISOWN { 1921 my $self = shift; 1922 my $ptr = tied(%$self); 1923 delete $OWNER{$ptr}; 1924} 1925 1926sub ACQUIRE { 1927 my $self = shift; 1928 my $ptr = tied(%$self); 1929 $OWNER{$ptr} = 1; 1930} 1931 1932 1933############# Class : RNA::md ############## 1934 1935package RNA::md; 1936use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 1937@ISA = qw( RNA ); 1938%OWNER = (); 1939%ITERATORS = (); 1940*swig_temperature_get = *RNAc::md_temperature_get; 1941*swig_temperature_set = *RNAc::md_temperature_set; 1942*swig_betaScale_get = *RNAc::md_betaScale_get; 1943*swig_betaScale_set = *RNAc::md_betaScale_set; 1944*swig_pf_smooth_get = *RNAc::md_pf_smooth_get; 1945*swig_pf_smooth_set = *RNAc::md_pf_smooth_set; 1946*swig_dangles_get = *RNAc::md_dangles_get; 1947*swig_dangles_set = *RNAc::md_dangles_set; 1948*swig_special_hp_get = *RNAc::md_special_hp_get; 1949*swig_special_hp_set = *RNAc::md_special_hp_set; 1950*swig_noLP_get = *RNAc::md_noLP_get; 1951*swig_noLP_set = *RNAc::md_noLP_set; 1952*swig_noGU_get = *RNAc::md_noGU_get; 1953*swig_noGU_set = *RNAc::md_noGU_set; 1954*swig_noGUclosure_get = *RNAc::md_noGUclosure_get; 1955*swig_noGUclosure_set = *RNAc::md_noGUclosure_set; 1956*swig_logML_get = *RNAc::md_logML_get; 1957*swig_logML_set = *RNAc::md_logML_set; 1958*swig_circ_get = *RNAc::md_circ_get; 1959*swig_circ_set = *RNAc::md_circ_set; 1960*swig_gquad_get = *RNAc::md_gquad_get; 1961*swig_gquad_set = *RNAc::md_gquad_set; 1962*swig_uniq_ML_get = *RNAc::md_uniq_ML_get; 1963*swig_uniq_ML_set = *RNAc::md_uniq_ML_set; 1964*swig_energy_set_get = *RNAc::md_energy_set_get; 1965*swig_energy_set_set = *RNAc::md_energy_set_set; 1966*swig_backtrack_get = *RNAc::md_backtrack_get; 1967*swig_backtrack_set = *RNAc::md_backtrack_set; 1968*swig_backtrack_type_get = *RNAc::md_backtrack_type_get; 1969*swig_backtrack_type_set = *RNAc::md_backtrack_type_set; 1970*swig_compute_bpp_get = *RNAc::md_compute_bpp_get; 1971*swig_compute_bpp_set = *RNAc::md_compute_bpp_set; 1972*swig_nonstandards_get = *RNAc::md_nonstandards_get; 1973*swig_nonstandards_set = *RNAc::md_nonstandards_set; 1974*swig_max_bp_span_get = *RNAc::md_max_bp_span_get; 1975*swig_max_bp_span_set = *RNAc::md_max_bp_span_set; 1976*swig_min_loop_size_get = *RNAc::md_min_loop_size_get; 1977*swig_min_loop_size_set = *RNAc::md_min_loop_size_set; 1978*swig_window_size_get = *RNAc::md_window_size_get; 1979*swig_window_size_set = *RNAc::md_window_size_set; 1980*swig_oldAliEn_get = *RNAc::md_oldAliEn_get; 1981*swig_oldAliEn_set = *RNAc::md_oldAliEn_set; 1982*swig_ribo_get = *RNAc::md_ribo_get; 1983*swig_ribo_set = *RNAc::md_ribo_set; 1984*swig_cv_fact_get = *RNAc::md_cv_fact_get; 1985*swig_cv_fact_set = *RNAc::md_cv_fact_set; 1986*swig_nc_fact_get = *RNAc::md_nc_fact_get; 1987*swig_nc_fact_set = *RNAc::md_nc_fact_set; 1988*swig_sfact_get = *RNAc::md_sfact_get; 1989*swig_sfact_set = *RNAc::md_sfact_set; 1990*swig_rtype_get = *RNAc::md_rtype_get; 1991*swig_rtype_set = *RNAc::md_rtype_set; 1992*swig_alias_get = *RNAc::md_alias_get; 1993*swig_alias_set = *RNAc::md_alias_set; 1994*swig_pair_get = *RNAc::md_pair_get; 1995*swig_pair_set = *RNAc::md_pair_set; 1996sub new { 1997 my $pkg = shift; 1998 my $self = RNAc::new_md(@_); 1999 bless $self, $pkg if defined($self); 2000} 2001 2002sub DESTROY { 2003 return unless $_[0]->isa('HASH'); 2004 my $self = tied(%{$_[0]}); 2005 return unless defined $self; 2006 delete $ITERATORS{$self}; 2007 if (exists $OWNER{$self}) { 2008 RNAc::delete_md($self); 2009 delete $OWNER{$self}; 2010 } 2011} 2012 2013*reset = *RNAc::md_reset; 2014*set_from_globals = *RNAc::md_set_from_globals; 2015*option_string = *RNAc::md_option_string; 2016sub DISOWN { 2017 my $self = shift; 2018 my $ptr = tied(%$self); 2019 delete $OWNER{$ptr}; 2020} 2021 2022sub ACQUIRE { 2023 my $self = shift; 2024 my $ptr = tied(%$self); 2025 $OWNER{$ptr} = 1; 2026} 2027 2028 2029############# Class : RNA::ep ############## 2030 2031package RNA::ep; 2032use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 2033@ISA = qw( RNA ); 2034%OWNER = (); 2035%ITERATORS = (); 2036*swig_i_get = *RNAc::ep_i_get; 2037*swig_i_set = *RNAc::ep_i_set; 2038*swig_j_get = *RNAc::ep_j_get; 2039*swig_j_set = *RNAc::ep_j_set; 2040*swig_p_get = *RNAc::ep_p_get; 2041*swig_p_set = *RNAc::ep_p_set; 2042*swig_type_get = *RNAc::ep_type_get; 2043*swig_type_set = *RNAc::ep_type_set; 2044sub new { 2045 my $pkg = shift; 2046 my $self = RNAc::new_ep(@_); 2047 bless $self, $pkg if defined($self); 2048} 2049 2050sub DESTROY { 2051 return unless $_[0]->isa('HASH'); 2052 my $self = tied(%{$_[0]}); 2053 return unless defined $self; 2054 delete $ITERATORS{$self}; 2055 if (exists $OWNER{$self}) { 2056 RNAc::delete_ep($self); 2057 delete $OWNER{$self}; 2058 } 2059} 2060 2061sub DISOWN { 2062 my $self = shift; 2063 my $ptr = tied(%$self); 2064 delete $OWNER{$ptr}; 2065} 2066 2067sub ACQUIRE { 2068 my $self = shift; 2069 my $ptr = tied(%$self); 2070 $OWNER{$ptr} = 1; 2071} 2072 2073 2074############# Class : RNA::struct_en ############## 2075 2076package RNA::struct_en; 2077use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 2078@ISA = qw( RNA ); 2079%OWNER = (); 2080%ITERATORS = (); 2081*swig_energy_get = *RNAc::struct_en_energy_get; 2082*swig_energy_set = *RNAc::struct_en_energy_set; 2083*swig_structure_get = *RNAc::struct_en_structure_get; 2084*swig_structure_set = *RNAc::struct_en_structure_set; 2085sub new { 2086 my $pkg = shift; 2087 my $self = RNAc::new_struct_en(@_); 2088 bless $self, $pkg if defined($self); 2089} 2090 2091sub DESTROY { 2092 return unless $_[0]->isa('HASH'); 2093 my $self = tied(%{$_[0]}); 2094 return unless defined $self; 2095 delete $ITERATORS{$self}; 2096 if (exists $OWNER{$self}) { 2097 RNAc::delete_struct_en($self); 2098 delete $OWNER{$self}; 2099 } 2100} 2101 2102sub DISOWN { 2103 my $self = shift; 2104 my $ptr = tied(%$self); 2105 delete $OWNER{$ptr}; 2106} 2107 2108sub ACQUIRE { 2109 my $self = shift; 2110 my $ptr = tied(%$self); 2111 $OWNER{$ptr} = 1; 2112} 2113 2114 2115############# Class : RNA::COORDINATE ############## 2116 2117package RNA::COORDINATE; 2118use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 2119@ISA = qw( RNA ); 2120%OWNER = (); 2121%ITERATORS = (); 2122*get = *RNAc::COORDINATE_get; 2123*swig_X_get = *RNAc::COORDINATE_X_get; 2124*swig_X_set = *RNAc::COORDINATE_X_set; 2125*swig_Y_get = *RNAc::COORDINATE_Y_get; 2126*swig_Y_set = *RNAc::COORDINATE_Y_set; 2127sub new { 2128 my $pkg = shift; 2129 my $self = RNAc::new_COORDINATE(@_); 2130 bless $self, $pkg if defined($self); 2131} 2132 2133sub DESTROY { 2134 return unless $_[0]->isa('HASH'); 2135 my $self = tied(%{$_[0]}); 2136 return unless defined $self; 2137 delete $ITERATORS{$self}; 2138 if (exists $OWNER{$self}) { 2139 RNAc::delete_COORDINATE($self); 2140 delete $OWNER{$self}; 2141 } 2142} 2143 2144sub DISOWN { 2145 my $self = shift; 2146 my $ptr = tied(%$self); 2147 delete $OWNER{$ptr}; 2148} 2149 2150sub ACQUIRE { 2151 my $self = shift; 2152 my $ptr = tied(%$self); 2153 $OWNER{$ptr} = 1; 2154} 2155 2156 2157############# Class : RNA::pbacktrack_mem ############## 2158 2159package RNA::pbacktrack_mem; 2160use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 2161@ISA = qw( RNA ); 2162%OWNER = (); 2163%ITERATORS = (); 2164sub new { 2165 my $pkg = shift; 2166 my $self = RNAc::new_pbacktrack_mem(@_); 2167 bless $self, $pkg if defined($self); 2168} 2169 2170sub DESTROY { 2171 return unless $_[0]->isa('HASH'); 2172 my $self = tied(%{$_[0]}); 2173 return unless defined $self; 2174 delete $ITERATORS{$self}; 2175 if (exists $OWNER{$self}) { 2176 RNAc::delete_pbacktrack_mem($self); 2177 delete $OWNER{$self}; 2178 } 2179} 2180 2181sub DISOWN { 2182 my $self = shift; 2183 my $ptr = tied(%$self); 2184 delete $OWNER{$ptr}; 2185} 2186 2187sub ACQUIRE { 2188 my $self = shift; 2189 my $ptr = tied(%$self); 2190 $OWNER{$ptr} = 1; 2191} 2192 2193 2194############# Class : RNA::SOLUTION ############## 2195 2196package RNA::SOLUTION; 2197use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 2198@ISA = qw( RNA ); 2199%OWNER = (); 2200%ITERATORS = (); 2201*swig_energy_get = *RNAc::SOLUTION_energy_get; 2202*swig_energy_set = *RNAc::SOLUTION_energy_set; 2203*swig_structure_get = *RNAc::SOLUTION_structure_get; 2204*swig_structure_set = *RNAc::SOLUTION_structure_set; 2205*get = *RNAc::SOLUTION_get; 2206*size = *RNAc::SOLUTION_size; 2207sub DESTROY { 2208 return unless $_[0]->isa('HASH'); 2209 my $self = tied(%{$_[0]}); 2210 return unless defined $self; 2211 delete $ITERATORS{$self}; 2212 if (exists $OWNER{$self}) { 2213 RNAc::delete_SOLUTION($self); 2214 delete $OWNER{$self}; 2215 } 2216} 2217 2218sub new { 2219 my $pkg = shift; 2220 my $self = RNAc::new_SOLUTION(@_); 2221 bless $self, $pkg if defined($self); 2222} 2223 2224sub DISOWN { 2225 my $self = shift; 2226 my $ptr = tied(%$self); 2227 delete $OWNER{$ptr}; 2228} 2229 2230sub ACQUIRE { 2231 my $self = shift; 2232 my $ptr = tied(%$self); 2233 $OWNER{$ptr} = 1; 2234} 2235 2236 2237############# Class : RNA::subopt_solution ############## 2238 2239package RNA::subopt_solution; 2240use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 2241@ISA = qw( RNA ); 2242%OWNER = (); 2243%ITERATORS = (); 2244*swig_energy_get = *RNAc::subopt_solution_energy_get; 2245*swig_energy_set = *RNAc::subopt_solution_energy_set; 2246*swig_structure_get = *RNAc::subopt_solution_structure_get; 2247*swig_structure_set = *RNAc::subopt_solution_structure_set; 2248sub DESTROY { 2249 return unless $_[0]->isa('HASH'); 2250 my $self = tied(%{$_[0]}); 2251 return unless defined $self; 2252 delete $ITERATORS{$self}; 2253 if (exists $OWNER{$self}) { 2254 RNAc::delete_subopt_solution($self); 2255 delete $OWNER{$self}; 2256 } 2257} 2258 2259sub new { 2260 my $pkg = shift; 2261 my $self = RNAc::new_subopt_solution(@_); 2262 bless $self, $pkg if defined($self); 2263} 2264 2265sub DISOWN { 2266 my $self = shift; 2267 my $ptr = tied(%$self); 2268 delete $OWNER{$ptr}; 2269} 2270 2271sub ACQUIRE { 2272 my $self = shift; 2273 my $ptr = tied(%$self); 2274 $OWNER{$ptr} = 1; 2275} 2276 2277 2278############# Class : RNA::SuboptVector ############## 2279 2280package RNA::SuboptVector; 2281use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 2282@ISA = qw( RNA ); 2283%OWNER = (); 2284%ITERATORS = (); 2285sub new { 2286 my $pkg = shift; 2287 my $self = RNAc::new_SuboptVector(@_); 2288 bless $self, $pkg if defined($self); 2289} 2290 2291*size = *RNAc::SuboptVector_size; 2292*empty = *RNAc::SuboptVector_empty; 2293*clear = *RNAc::SuboptVector_clear; 2294*push = *RNAc::SuboptVector_push; 2295*pop = *RNAc::SuboptVector_pop; 2296*get = *RNAc::SuboptVector_get; 2297*set = *RNAc::SuboptVector_set; 2298sub DESTROY { 2299 return unless $_[0]->isa('HASH'); 2300 my $self = tied(%{$_[0]}); 2301 return unless defined $self; 2302 delete $ITERATORS{$self}; 2303 if (exists $OWNER{$self}) { 2304 RNAc::delete_SuboptVector($self); 2305 delete $OWNER{$self}; 2306 } 2307} 2308 2309sub DISOWN { 2310 my $self = shift; 2311 my $ptr = tied(%$self); 2312 delete $OWNER{$ptr}; 2313} 2314 2315sub ACQUIRE { 2316 my $self = shift; 2317 my $ptr = tied(%$self); 2318 $OWNER{$ptr} = 1; 2319} 2320 2321 2322############# Class : RNA::cmd ############## 2323 2324package RNA::cmd; 2325use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 2326@ISA = qw( RNA ); 2327%OWNER = (); 2328%ITERATORS = (); 2329sub new { 2330 my $pkg = shift; 2331 my $self = RNAc::new_cmd(@_); 2332 bless $self, $pkg if defined($self); 2333} 2334 2335sub DESTROY { 2336 return unless $_[0]->isa('HASH'); 2337 my $self = tied(%{$_[0]}); 2338 return unless defined $self; 2339 delete $ITERATORS{$self}; 2340 if (exists $OWNER{$self}) { 2341 RNAc::delete_cmd($self); 2342 delete $OWNER{$self}; 2343 } 2344} 2345 2346sub DISOWN { 2347 my $self = shift; 2348 my $ptr = tied(%$self); 2349 delete $OWNER{$ptr}; 2350} 2351 2352sub ACQUIRE { 2353 my $self = shift; 2354 my $ptr = tied(%$self); 2355 $OWNER{$ptr} = 1; 2356} 2357 2358 2359############# Class : RNA::duplexT ############## 2360 2361package RNA::duplexT; 2362use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 2363@ISA = qw( RNA ); 2364%OWNER = (); 2365%ITERATORS = (); 2366*swig_i_get = *RNAc::duplexT_i_get; 2367*swig_i_set = *RNAc::duplexT_i_set; 2368*swig_j_get = *RNAc::duplexT_j_get; 2369*swig_j_set = *RNAc::duplexT_j_set; 2370*swig_structure_get = *RNAc::duplexT_structure_get; 2371*swig_structure_set = *RNAc::duplexT_structure_set; 2372*swig_energy_get = *RNAc::duplexT_energy_get; 2373*swig_energy_set = *RNAc::duplexT_energy_set; 2374sub DESTROY { 2375 return unless $_[0]->isa('HASH'); 2376 my $self = tied(%{$_[0]}); 2377 return unless defined $self; 2378 delete $ITERATORS{$self}; 2379 if (exists $OWNER{$self}) { 2380 RNAc::delete_duplexT($self); 2381 delete $OWNER{$self}; 2382 } 2383} 2384 2385sub DISOWN { 2386 my $self = shift; 2387 my $ptr = tied(%$self); 2388 delete $OWNER{$ptr}; 2389} 2390 2391sub ACQUIRE { 2392 my $self = shift; 2393 my $ptr = tied(%$self); 2394 $OWNER{$ptr} = 1; 2395} 2396 2397 2398############# Class : RNA::duplex_list_t ############## 2399 2400package RNA::duplex_list_t; 2401use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 2402@ISA = qw( RNA ); 2403%OWNER = (); 2404%ITERATORS = (); 2405*swig_i_get = *RNAc::duplex_list_t_i_get; 2406*swig_i_set = *RNAc::duplex_list_t_i_set; 2407*swig_j_get = *RNAc::duplex_list_t_j_get; 2408*swig_j_set = *RNAc::duplex_list_t_j_set; 2409*swig_energy_get = *RNAc::duplex_list_t_energy_get; 2410*swig_energy_set = *RNAc::duplex_list_t_energy_set; 2411*swig_structure_get = *RNAc::duplex_list_t_structure_get; 2412*swig_structure_set = *RNAc::duplex_list_t_structure_set; 2413sub DESTROY { 2414 return unless $_[0]->isa('HASH'); 2415 my $self = tied(%{$_[0]}); 2416 return unless defined $self; 2417 delete $ITERATORS{$self}; 2418 if (exists $OWNER{$self}) { 2419 RNAc::delete_duplex_list_t($self); 2420 delete $OWNER{$self}; 2421 } 2422} 2423 2424sub new { 2425 my $pkg = shift; 2426 my $self = RNAc::new_duplex_list_t(@_); 2427 bless $self, $pkg if defined($self); 2428} 2429 2430sub DISOWN { 2431 my $self = shift; 2432 my $ptr = tied(%$self); 2433 delete $OWNER{$ptr}; 2434} 2435 2436sub ACQUIRE { 2437 my $self = shift; 2438 my $ptr = tied(%$self); 2439 $OWNER{$ptr} = 1; 2440} 2441 2442 2443############# Class : RNA::DuplexVector ############## 2444 2445package RNA::DuplexVector; 2446use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 2447@ISA = qw( RNA ); 2448%OWNER = (); 2449%ITERATORS = (); 2450sub new { 2451 my $pkg = shift; 2452 my $self = RNAc::new_DuplexVector(@_); 2453 bless $self, $pkg if defined($self); 2454} 2455 2456*size = *RNAc::DuplexVector_size; 2457*empty = *RNAc::DuplexVector_empty; 2458*clear = *RNAc::DuplexVector_clear; 2459*push = *RNAc::DuplexVector_push; 2460*pop = *RNAc::DuplexVector_pop; 2461*get = *RNAc::DuplexVector_get; 2462*set = *RNAc::DuplexVector_set; 2463sub DESTROY { 2464 return unless $_[0]->isa('HASH'); 2465 my $self = tied(%{$_[0]}); 2466 return unless defined $self; 2467 delete $ITERATORS{$self}; 2468 if (exists $OWNER{$self}) { 2469 RNAc::delete_DuplexVector($self); 2470 delete $OWNER{$self}; 2471 } 2472} 2473 2474sub DISOWN { 2475 my $self = shift; 2476 my $ptr = tied(%$self); 2477 delete $OWNER{$ptr}; 2478} 2479 2480sub ACQUIRE { 2481 my $self = shift; 2482 my $ptr = tied(%$self); 2483 $OWNER{$ptr} = 1; 2484} 2485 2486 2487############# Class : RNA::move ############## 2488 2489package RNA::move; 2490use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 2491@ISA = qw( RNA ); 2492%OWNER = (); 2493%ITERATORS = (); 2494*swig_pos_5_get = *RNAc::move_pos_5_get; 2495*swig_pos_5_set = *RNAc::move_pos_5_set; 2496*swig_pos_3_get = *RNAc::move_pos_3_get; 2497*swig_pos_3_set = *RNAc::move_pos_3_set; 2498sub new { 2499 my $pkg = shift; 2500 my $self = RNAc::new_move(@_); 2501 bless $self, $pkg if defined($self); 2502} 2503 2504sub DESTROY { 2505 return unless $_[0]->isa('HASH'); 2506 my $self = tied(%{$_[0]}); 2507 return unless defined $self; 2508 delete $ITERATORS{$self}; 2509 if (exists $OWNER{$self}) { 2510 RNAc::delete_move($self); 2511 delete $OWNER{$self}; 2512 } 2513} 2514 2515*is_removal = *RNAc::move_is_removal; 2516*is_insertion = *RNAc::move_is_insertion; 2517*is_shift = *RNAc::move_is_shift; 2518*compare = *RNAc::move_compare; 2519sub DISOWN { 2520 my $self = shift; 2521 my $ptr = tied(%$self); 2522 delete $OWNER{$ptr}; 2523} 2524 2525sub ACQUIRE { 2526 my $self = shift; 2527 my $ptr = tied(%$self); 2528 $OWNER{$ptr} = 1; 2529} 2530 2531 2532############# Class : RNA::path ############## 2533 2534package RNA::path; 2535use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 2536@ISA = qw( RNA ); 2537%OWNER = (); 2538%ITERATORS = (); 2539*swig_type_get = *RNAc::path_type_get; 2540*swig_type_set = *RNAc::path_type_set; 2541*swig_en_get = *RNAc::path_en_get; 2542*swig_en_set = *RNAc::path_en_set; 2543*swig_s_get = *RNAc::path_s_get; 2544*swig_s_set = *RNAc::path_s_set; 2545*swig_move_get = *RNAc::path_move_get; 2546*swig_move_set = *RNAc::path_move_set; 2547sub new { 2548 my $pkg = shift; 2549 my $self = RNAc::new_path(@_); 2550 bless $self, $pkg if defined($self); 2551} 2552 2553sub DESTROY { 2554 return unless $_[0]->isa('HASH'); 2555 my $self = tied(%{$_[0]}); 2556 return unless defined $self; 2557 delete $ITERATORS{$self}; 2558 if (exists $OWNER{$self}) { 2559 RNAc::delete_path($self); 2560 delete $OWNER{$self}; 2561 } 2562} 2563 2564sub DISOWN { 2565 my $self = shift; 2566 my $ptr = tied(%$self); 2567 delete $OWNER{$ptr}; 2568} 2569 2570sub ACQUIRE { 2571 my $self = shift; 2572 my $ptr = tied(%$self); 2573 $OWNER{$ptr} = 1; 2574} 2575 2576 2577############# Class : RNA::path_options ############## 2578 2579package RNA::path_options; 2580use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 2581@ISA = qw( RNA ); 2582%OWNER = (); 2583%ITERATORS = (); 2584sub new { 2585 my $pkg = shift; 2586 my $self = RNAc::new_path_options(@_); 2587 bless $self, $pkg if defined($self); 2588} 2589 2590sub DESTROY { 2591 return unless $_[0]->isa('HASH'); 2592 my $self = tied(%{$_[0]}); 2593 return unless defined $self; 2594 delete $ITERATORS{$self}; 2595 if (exists $OWNER{$self}) { 2596 RNAc::delete_path_options($self); 2597 delete $OWNER{$self}; 2598 } 2599} 2600 2601sub DISOWN { 2602 my $self = shift; 2603 my $ptr = tied(%$self); 2604 delete $OWNER{$ptr}; 2605} 2606 2607sub ACQUIRE { 2608 my $self = shift; 2609 my $ptr = tied(%$self); 2610 $OWNER{$ptr} = 1; 2611} 2612 2613 2614############# Class : RNA::heat_capacity_result ############## 2615 2616package RNA::heat_capacity_result; 2617use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 2618@ISA = qw( RNA ); 2619%OWNER = (); 2620%ITERATORS = (); 2621*swig_temperature_get = *RNAc::heat_capacity_result_temperature_get; 2622*swig_temperature_set = *RNAc::heat_capacity_result_temperature_set; 2623*swig_heat_capacity_get = *RNAc::heat_capacity_result_heat_capacity_get; 2624*swig_heat_capacity_set = *RNAc::heat_capacity_result_heat_capacity_set; 2625sub new { 2626 my $pkg = shift; 2627 my $self = RNAc::new_heat_capacity_result(@_); 2628 bless $self, $pkg if defined($self); 2629} 2630 2631sub DESTROY { 2632 return unless $_[0]->isa('HASH'); 2633 my $self = tied(%{$_[0]}); 2634 return unless defined $self; 2635 delete $ITERATORS{$self}; 2636 if (exists $OWNER{$self}) { 2637 RNAc::delete_heat_capacity_result($self); 2638 delete $OWNER{$self}; 2639 } 2640} 2641 2642sub DISOWN { 2643 my $self = shift; 2644 my $ptr = tied(%$self); 2645 delete $OWNER{$ptr}; 2646} 2647 2648sub ACQUIRE { 2649 my $self = shift; 2650 my $ptr = tied(%$self); 2651 $OWNER{$ptr} = 1; 2652} 2653 2654 2655############# Class : RNA::HeatCapacityVector ############## 2656 2657package RNA::HeatCapacityVector; 2658use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 2659@ISA = qw( RNA ); 2660%OWNER = (); 2661%ITERATORS = (); 2662sub new { 2663 my $pkg = shift; 2664 my $self = RNAc::new_HeatCapacityVector(@_); 2665 bless $self, $pkg if defined($self); 2666} 2667 2668*size = *RNAc::HeatCapacityVector_size; 2669*empty = *RNAc::HeatCapacityVector_empty; 2670*clear = *RNAc::HeatCapacityVector_clear; 2671*push = *RNAc::HeatCapacityVector_push; 2672*pop = *RNAc::HeatCapacityVector_pop; 2673*get = *RNAc::HeatCapacityVector_get; 2674*set = *RNAc::HeatCapacityVector_set; 2675sub DESTROY { 2676 return unless $_[0]->isa('HASH'); 2677 my $self = tied(%{$_[0]}); 2678 return unless defined $self; 2679 delete $ITERATORS{$self}; 2680 if (exists $OWNER{$self}) { 2681 RNAc::delete_HeatCapacityVector($self); 2682 delete $OWNER{$self}; 2683 } 2684} 2685 2686sub DISOWN { 2687 my $self = shift; 2688 my $ptr = tied(%$self); 2689 delete $OWNER{$ptr}; 2690} 2691 2692sub ACQUIRE { 2693 my $self = shift; 2694 my $ptr = tied(%$self); 2695 $OWNER{$ptr} = 1; 2696} 2697 2698 2699############# Class : RNA::basepair ############## 2700 2701package RNA::basepair; 2702use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 2703@ISA = qw( RNA ); 2704%OWNER = (); 2705%ITERATORS = (); 2706*swig_i_get = *RNAc::basepair_i_get; 2707*swig_i_set = *RNAc::basepair_i_set; 2708*swig_j_get = *RNAc::basepair_j_get; 2709*swig_j_set = *RNAc::basepair_j_set; 2710sub new { 2711 my $pkg = shift; 2712 my $self = RNAc::new_basepair(@_); 2713 bless $self, $pkg if defined($self); 2714} 2715 2716sub DESTROY { 2717 return unless $_[0]->isa('HASH'); 2718 my $self = tied(%{$_[0]}); 2719 return unless defined $self; 2720 delete $ITERATORS{$self}; 2721 if (exists $OWNER{$self}) { 2722 RNAc::delete_basepair($self); 2723 delete $OWNER{$self}; 2724 } 2725} 2726 2727sub DISOWN { 2728 my $self = shift; 2729 my $ptr = tied(%$self); 2730 delete $OWNER{$ptr}; 2731} 2732 2733sub ACQUIRE { 2734 my $self = shift; 2735 my $ptr = tied(%$self); 2736 $OWNER{$ptr} = 1; 2737} 2738 2739 2740############# Class : RNA::fold_compound ############## 2741 2742package RNA::fold_compound; 2743use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 2744@ISA = qw( RNA ); 2745%OWNER = (); 2746%ITERATORS = (); 2747*params_reset = *RNAc::fold_compound_params_reset; 2748*params_subst = *RNAc::fold_compound_params_subst; 2749*exp_params_rescale = *RNAc::fold_compound_exp_params_rescale; 2750*exp_params_reset = *RNAc::fold_compound_exp_params_reset; 2751*exp_params_subst = *RNAc::fold_compound_exp_params_subst; 2752*plist_from_probs = *RNAc::fold_compound_plist_from_probs; 2753*constraints_add = *RNAc::fold_compound_constraints_add; 2754*hc_init = *RNAc::fold_compound_hc_init; 2755*hc_add_up = *RNAc::fold_compound_hc_add_up; 2756*hc_add_bp_nonspecific = *RNAc::fold_compound_hc_add_bp_nonspecific; 2757*hc_add_bp = *RNAc::fold_compound_hc_add_bp; 2758*hc_add_from_db = *RNAc::fold_compound_hc_add_from_db; 2759*sc_remove = *RNAc::fold_compound_sc_remove; 2760*sc_init = *RNAc::fold_compound_sc_init; 2761*sc_add_up = *RNAc::fold_compound_sc_add_up; 2762*sc_add_bp = *RNAc::fold_compound_sc_add_bp; 2763*sc_set_bp = *RNAc::fold_compound_sc_set_bp; 2764*sc_set_up = *RNAc::fold_compound_sc_set_up; 2765*sc_set_stack = *RNAc::fold_compound_sc_set_stack; 2766*sc_add_stack = *RNAc::fold_compound_sc_add_stack; 2767*sc_add_SHAPE_deigan = *RNAc::fold_compound_sc_add_SHAPE_deigan; 2768*sc_add_SHAPE_deigan_ali = *RNAc::fold_compound_sc_add_SHAPE_deigan_ali; 2769*sc_add_SHAPE_zarringhalam = *RNAc::fold_compound_sc_add_SHAPE_zarringhalam; 2770*sc_add_hi_motif = *RNAc::fold_compound_sc_add_hi_motif; 2771*eval_structure = *RNAc::fold_compound_eval_structure; 2772*eval_structure_pt = *RNAc::fold_compound_eval_structure_pt; 2773*eval_structure_verbose = *RNAc::fold_compound_eval_structure_verbose; 2774*eval_structure_pt_verbose = *RNAc::fold_compound_eval_structure_pt_verbose; 2775*eval_covar_structure = *RNAc::fold_compound_eval_covar_structure; 2776*eval_loop_pt = *RNAc::fold_compound_eval_loop_pt; 2777*eval_move = *RNAc::fold_compound_eval_move; 2778*eval_move_pt = *RNAc::fold_compound_eval_move_pt; 2779*E_ext_loop = *RNAc::fold_compound_E_ext_loop; 2780*E_hp_loop = *RNAc::fold_compound_E_hp_loop; 2781*E_ext_hp_loop = *RNAc::fold_compound_E_ext_hp_loop; 2782*eval_ext_hp_loop = *RNAc::fold_compound_eval_ext_hp_loop; 2783*eval_hp_loop = *RNAc::fold_compound_eval_hp_loop; 2784*exp_E_hp_loop = *RNAc::fold_compound_exp_E_hp_loop; 2785*E_int_loop = *RNAc::fold_compound_E_int_loop; 2786*eval_int_loop = *RNAc::fold_compound_eval_int_loop; 2787*E_ext_int_loop = *RNAc::fold_compound_E_ext_int_loop; 2788*E_stack = *RNAc::fold_compound_E_stack; 2789*exp_E_int_loop = *RNAc::fold_compound_exp_E_int_loop; 2790*exp_E_interior_loop = *RNAc::fold_compound_exp_E_interior_loop; 2791*maxmimum_matching = *RNAc::fold_compound_maxmimum_matching; 2792*mfe = *RNAc::fold_compound_mfe; 2793*mfe_dimer = *RNAc::fold_compound_mfe_dimer; 2794*backtrack = *RNAc::fold_compound_backtrack; 2795*mfe_window = *RNAc::fold_compound_mfe_window; 2796*mfe_window_zscore = *RNAc::fold_compound_mfe_window_zscore; 2797*zsc_filter_init = *RNAc::fold_compound_zsc_filter_init; 2798*zsc_filter_update = *RNAc::fold_compound_zsc_filter_update; 2799*zsc_filter_free = *RNAc::fold_compound_zsc_filter_free; 2800*zsc_filter_on = *RNAc::fold_compound_zsc_filter_on; 2801*zsc_filter_threshold = *RNAc::fold_compound_zsc_filter_threshold; 2802*zsc_compute = *RNAc::fold_compound_zsc_compute; 2803*pf = *RNAc::fold_compound_pf; 2804*mean_bp_distance = *RNAc::fold_compound_mean_bp_distance; 2805*ensemble_defect = *RNAc::fold_compound_ensemble_defect; 2806*positional_entropy = *RNAc::fold_compound_positional_entropy; 2807*pr_structure = *RNAc::fold_compound_pr_structure; 2808*pr_energy = *RNAc::fold_compound_pr_energy; 2809*pf_dimer = *RNAc::fold_compound_pf_dimer; 2810*bpp = *RNAc::fold_compound_bpp; 2811*centroid = *RNAc::fold_compound_centroid; 2812*MEA = *RNAc::fold_compound_MEA; 2813*subopt = *RNAc::fold_compound_subopt; 2814*subopt_zuker = *RNAc::fold_compound_subopt_zuker; 2815*sequence_add = *RNAc::fold_compound_sequence_add; 2816*sequence_remove = *RNAc::fold_compound_sequence_remove; 2817*sequence_remove_all = *RNAc::fold_compound_sequence_remove_all; 2818*sequence_prepare = *RNAc::fold_compound_sequence_prepare; 2819*ud_add_motif = *RNAc::fold_compound_ud_add_motif; 2820*ud_remove = *RNAc::fold_compound_ud_remove; 2821*commands_apply = *RNAc::fold_compound_commands_apply; 2822*file_commands_apply = *RNAc::fold_compound_file_commands_apply; 2823*rotational_symmetry_db = *RNAc::fold_compound_rotational_symmetry_db; 2824*neighbors = *RNAc::fold_compound_neighbors; 2825*path = *RNAc::fold_compound_path; 2826*path_gradient = *RNAc::fold_compound_path_gradient; 2827*path_random = *RNAc::fold_compound_path_random; 2828*path_findpath_saddle = *RNAc::fold_compound_path_findpath_saddle; 2829*path_findpath = *RNAc::fold_compound_path_findpath; 2830*path_direct = *RNAc::fold_compound_path_direct; 2831*heat_capacity = *RNAc::fold_compound_heat_capacity; 2832*add_auxdata = *RNAc::fold_compound_add_auxdata; 2833*add_callback = *RNAc::fold_compound_add_callback; 2834*sc_add_data = *RNAc::fold_compound_sc_add_data; 2835*sc_add_f = *RNAc::fold_compound_sc_add_f; 2836*sc_add_bt = *RNAc::fold_compound_sc_add_bt; 2837*sc_add_exp_f = *RNAc::fold_compound_sc_add_exp_f; 2838*ud_set_data = *RNAc::fold_compound_ud_set_data; 2839*ud_set_prod_rule_cb = *RNAc::fold_compound_ud_set_prod_rule_cb; 2840*ud_set_exp_prod_rule_cb = *RNAc::fold_compound_ud_set_exp_prod_rule_cb; 2841*ud_set_prob_cb = *RNAc::fold_compound_ud_set_prob_cb; 2842*subopt_cb = *RNAc::fold_compound_subopt_cb; 2843*pbacktrack = *RNAc::fold_compound_pbacktrack; 2844*pbacktrack5 = *RNAc::fold_compound_pbacktrack5; 2845*mfe_window_cb = *RNAc::fold_compound_mfe_window_cb; 2846*mfe_window_zscore_cb = *RNAc::fold_compound_mfe_window_zscore_cb; 2847*probs_window = *RNAc::fold_compound_probs_window; 2848*heat_capacity_cb = *RNAc::fold_compound_heat_capacity_cb; 2849*swig_type_get = *RNAc::fold_compound_type_get; 2850*swig_type_set = *RNAc::fold_compound_type_set; 2851*swig_length_get = *RNAc::fold_compound_length_get; 2852*swig_length_set = *RNAc::fold_compound_length_set; 2853*swig_strands_get = *RNAc::fold_compound_strands_get; 2854*swig_strands_set = *RNAc::fold_compound_strands_set; 2855*swig_params_get = *RNAc::fold_compound_params_get; 2856*swig_params_set = *RNAc::fold_compound_params_set; 2857*swig_exp_params_get = *RNAc::fold_compound_exp_params_get; 2858*swig_exp_params_set = *RNAc::fold_compound_exp_params_set; 2859sub new { 2860 my $pkg = shift; 2861 my $self = RNAc::new_fold_compound(@_); 2862 bless $self, $pkg if defined($self); 2863} 2864 2865sub DESTROY { 2866 return unless $_[0]->isa('HASH'); 2867 my $self = tied(%{$_[0]}); 2868 return unless defined $self; 2869 delete $ITERATORS{$self}; 2870 if (exists $OWNER{$self}) { 2871 RNAc::delete_fold_compound($self); 2872 delete $OWNER{$self}; 2873 } 2874} 2875 2876sub DISOWN { 2877 my $self = shift; 2878 my $ptr = tied(%$self); 2879 delete $OWNER{$ptr}; 2880} 2881 2882sub ACQUIRE { 2883 my $self = shift; 2884 my $ptr = tied(%$self); 2885 $OWNER{$ptr} = 1; 2886} 2887 2888 2889# ------- CONSTANT STUBS ------- 2890 2891package RNA; 2892 2893sub PARAMETER_FORMAT_DEFAULT () { $RNAc::PARAMETER_FORMAT_DEFAULT } 2894sub UNKNOWN () { $RNAc::UNKNOWN } 2895sub QUIT () { $RNAc::QUIT } 2896sub S () { $RNAc::S } 2897sub S_H () { $RNAc::S_H } 2898sub HP () { $RNAc::HP } 2899sub HP_H () { $RNAc::HP_H } 2900sub B () { $RNAc::B } 2901sub B_H () { $RNAc::B_H } 2902sub IL () { $RNAc::IL } 2903sub IL_H () { $RNAc::IL_H } 2904sub MMH () { $RNAc::MMH } 2905sub MMH_H () { $RNAc::MMH_H } 2906sub MMI () { $RNAc::MMI } 2907sub MMI_H () { $RNAc::MMI_H } 2908sub MMI1N () { $RNAc::MMI1N } 2909sub MMI1N_H () { $RNAc::MMI1N_H } 2910sub MMI23 () { $RNAc::MMI23 } 2911sub MMI23_H () { $RNAc::MMI23_H } 2912sub MMM () { $RNAc::MMM } 2913sub MMM_H () { $RNAc::MMM_H } 2914sub MME () { $RNAc::MME } 2915sub MME_H () { $RNAc::MME_H } 2916sub D5 () { $RNAc::D5 } 2917sub D5_H () { $RNAc::D5_H } 2918sub D3 () { $RNAc::D3 } 2919sub D3_H () { $RNAc::D3_H } 2920sub INT11 () { $RNAc::INT11 } 2921sub INT11_H () { $RNAc::INT11_H } 2922sub INT21 () { $RNAc::INT21 } 2923sub INT21_H () { $RNAc::INT21_H } 2924sub INT22 () { $RNAc::INT22 } 2925sub INT22_H () { $RNAc::INT22_H } 2926sub ML () { $RNAc::ML } 2927sub TL () { $RNAc::TL } 2928sub TRI () { $RNAc::TRI } 2929sub HEX () { $RNAc::HEX } 2930sub NIN () { $RNAc::NIN } 2931sub MISC () { $RNAc::MISC } 2932sub GASCONST () { $RNAc::GASCONST } 2933sub K0 () { $RNAc::K0 } 2934sub INF () { $RNAc::INF } 2935sub EMAX () { $RNAc::EMAX } 2936sub FORBIDDEN () { $RNAc::FORBIDDEN } 2937sub BONUS () { $RNAc::BONUS } 2938sub NBPAIRS () { $RNAc::NBPAIRS } 2939sub TURN () { $RNAc::TURN } 2940sub MAXLOOP () { $RNAc::MAXLOOP } 2941sub UNIT () { $RNAc::UNIT } 2942sub MINPSCORE () { $RNAc::MINPSCORE } 2943sub NBASES () { $RNAc::NBASES } 2944sub MAXALPHA () { $RNAc::MAXALPHA } 2945sub FILENAME_MAX_LENGTH () { $RNAc::FILENAME_MAX_LENGTH } 2946sub FILENAME_ID_LENGTH () { $RNAc::FILENAME_ID_LENGTH } 2947sub PLIST_TYPE_BASEPAIR () { $RNAc::PLIST_TYPE_BASEPAIR } 2948sub PLIST_TYPE_GQUAD () { $RNAc::PLIST_TYPE_GQUAD } 2949sub PLIST_TYPE_H_MOTIF () { $RNAc::PLIST_TYPE_H_MOTIF } 2950sub PLIST_TYPE_I_MOTIF () { $RNAc::PLIST_TYPE_I_MOTIF } 2951sub PLIST_TYPE_UD_MOTIF () { $RNAc::PLIST_TYPE_UD_MOTIF } 2952sub PLIST_TYPE_STACK () { $RNAc::PLIST_TYPE_STACK } 2953sub STRUCTURE_TREE_HIT () { $RNAc::STRUCTURE_TREE_HIT } 2954sub STRUCTURE_TREE_SHAPIRO_SHORT () { $RNAc::STRUCTURE_TREE_SHAPIRO_SHORT } 2955sub STRUCTURE_TREE_SHAPIRO () { $RNAc::STRUCTURE_TREE_SHAPIRO } 2956sub STRUCTURE_TREE_SHAPIRO_EXT () { $RNAc::STRUCTURE_TREE_SHAPIRO_EXT } 2957sub STRUCTURE_TREE_SHAPIRO_WEIGHT () { $RNAc::STRUCTURE_TREE_SHAPIRO_WEIGHT } 2958sub STRUCTURE_TREE_EXPANDED () { $RNAc::STRUCTURE_TREE_EXPANDED } 2959sub BRACKETS_RND () { $RNAc::BRACKETS_RND } 2960sub BRACKETS_ANG () { $RNAc::BRACKETS_ANG } 2961sub BRACKETS_SQR () { $RNAc::BRACKETS_SQR } 2962sub BRACKETS_CLY () { $RNAc::BRACKETS_CLY } 2963sub BRACKETS_ALPHA () { $RNAc::BRACKETS_ALPHA } 2964sub BRACKETS_DEFAULT () { $RNAc::BRACKETS_DEFAULT } 2965sub BRACKETS_ANY () { $RNAc::BRACKETS_ANY } 2966sub ALN_DEFAULT () { $RNAc::ALN_DEFAULT } 2967sub ALN_RNA () { $RNAc::ALN_RNA } 2968sub ALN_DNA () { $RNAc::ALN_DNA } 2969sub ALN_UPPERCASE () { $RNAc::ALN_UPPERCASE } 2970sub ALN_LOWERCASE () { $RNAc::ALN_LOWERCASE } 2971sub MEASURE_SHANNON_ENTROPY () { $RNAc::MEASURE_SHANNON_ENTROPY } 2972sub GRADIENT () { $RNAc::GRADIENT } 2973sub FIRST () { $RNAc::FIRST } 2974sub ADAPTIVE () { $RNAc::ADAPTIVE } 2975sub DECOMP_PAIR_HP () { $RNAc::DECOMP_PAIR_HP } 2976sub DECOMP_PAIR_IL () { $RNAc::DECOMP_PAIR_IL } 2977sub DECOMP_PAIR_ML () { $RNAc::DECOMP_PAIR_ML } 2978sub DECOMP_ML_ML_ML () { $RNAc::DECOMP_ML_ML_ML } 2979sub DECOMP_ML_STEM () { $RNAc::DECOMP_ML_STEM } 2980sub DECOMP_ML_ML () { $RNAc::DECOMP_ML_ML } 2981sub DECOMP_ML_UP () { $RNAc::DECOMP_ML_UP } 2982sub DECOMP_ML_ML_STEM () { $RNAc::DECOMP_ML_ML_STEM } 2983sub DECOMP_ML_COAXIAL () { $RNAc::DECOMP_ML_COAXIAL } 2984sub DECOMP_EXT_EXT () { $RNAc::DECOMP_EXT_EXT } 2985sub DECOMP_EXT_UP () { $RNAc::DECOMP_EXT_UP } 2986sub DECOMP_EXT_STEM () { $RNAc::DECOMP_EXT_STEM } 2987sub DECOMP_EXT_EXT_EXT () { $RNAc::DECOMP_EXT_EXT_EXT } 2988sub DECOMP_EXT_STEM_EXT () { $RNAc::DECOMP_EXT_STEM_EXT } 2989sub DECOMP_EXT_STEM_OUTSIDE () { $RNAc::DECOMP_EXT_STEM_OUTSIDE } 2990sub DECOMP_EXT_EXT_STEM () { $RNAc::DECOMP_EXT_EXT_STEM } 2991sub DECOMP_EXT_EXT_STEM1 () { $RNAc::DECOMP_EXT_EXT_STEM1 } 2992sub CONSTRAINT_DB () { $RNAc::CONSTRAINT_DB } 2993sub CONSTRAINT_DB_ENFORCE_BP () { $RNAc::CONSTRAINT_DB_ENFORCE_BP } 2994sub CONSTRAINT_DB_PIPE () { $RNAc::CONSTRAINT_DB_PIPE } 2995sub CONSTRAINT_DB_DOT () { $RNAc::CONSTRAINT_DB_DOT } 2996sub CONSTRAINT_DB_X () { $RNAc::CONSTRAINT_DB_X } 2997sub CONSTRAINT_DB_ANG_BRACK () { $RNAc::CONSTRAINT_DB_ANG_BRACK } 2998sub CONSTRAINT_DB_RND_BRACK () { $RNAc::CONSTRAINT_DB_RND_BRACK } 2999sub CONSTRAINT_DB_INTRAMOL () { $RNAc::CONSTRAINT_DB_INTRAMOL } 3000sub CONSTRAINT_DB_INTERMOL () { $RNAc::CONSTRAINT_DB_INTERMOL } 3001sub CONSTRAINT_DB_GQUAD () { $RNAc::CONSTRAINT_DB_GQUAD } 3002sub CONSTRAINT_DB_DEFAULT () { $RNAc::CONSTRAINT_DB_DEFAULT } 3003sub CONSTRAINT_CONTEXT_EXT_LOOP () { $RNAc::CONSTRAINT_CONTEXT_EXT_LOOP } 3004sub CONSTRAINT_CONTEXT_HP_LOOP () { $RNAc::CONSTRAINT_CONTEXT_HP_LOOP } 3005sub CONSTRAINT_CONTEXT_INT_LOOP () { $RNAc::CONSTRAINT_CONTEXT_INT_LOOP } 3006sub CONSTRAINT_CONTEXT_INT_LOOP_ENC () { $RNAc::CONSTRAINT_CONTEXT_INT_LOOP_ENC } 3007sub CONSTRAINT_CONTEXT_MB_LOOP () { $RNAc::CONSTRAINT_CONTEXT_MB_LOOP } 3008sub CONSTRAINT_CONTEXT_MB_LOOP_ENC () { $RNAc::CONSTRAINT_CONTEXT_MB_LOOP_ENC } 3009sub CONSTRAINT_CONTEXT_ENFORCE () { $RNAc::CONSTRAINT_CONTEXT_ENFORCE } 3010sub CONSTRAINT_CONTEXT_NO_REMOVE () { $RNAc::CONSTRAINT_CONTEXT_NO_REMOVE } 3011sub CONSTRAINT_CONTEXT_ALL_LOOPS () { $RNAc::CONSTRAINT_CONTEXT_ALL_LOOPS } 3012sub CONSTRAINT_CONTEXT_NONE () { $RNAc::CONSTRAINT_CONTEXT_NONE } 3013sub CONSTRAINT_CONTEXT_CLOSING_LOOPS () { $RNAc::CONSTRAINT_CONTEXT_CLOSING_LOOPS } 3014sub CONSTRAINT_CONTEXT_ENCLOSED_LOOPS () { $RNAc::CONSTRAINT_CONTEXT_ENCLOSED_LOOPS } 3015sub ZSCORE_OPTIONS_NONE () { $RNAc::ZSCORE_OPTIONS_NONE } 3016sub ZSCORE_FILTER_ON () { $RNAc::ZSCORE_FILTER_ON } 3017sub ZSCORE_PRE_FILTER () { $RNAc::ZSCORE_PRE_FILTER } 3018sub ZSCORE_REPORT_SUBSUMED () { $RNAc::ZSCORE_REPORT_SUBSUMED } 3019sub ZSCORE_MODEL_DEFAULT () { $RNAc::ZSCORE_MODEL_DEFAULT } 3020sub ZSCORE_SETTINGS_DEFAULT () { $RNAc::ZSCORE_SETTINGS_DEFAULT } 3021sub PBACKTRACK_DEFAULT () { $RNAc::PBACKTRACK_DEFAULT } 3022sub PBACKTRACK_NON_REDUNDANT () { $RNAc::PBACKTRACK_NON_REDUNDANT } 3023sub EXT_LOOP () { $RNAc::EXT_LOOP } 3024sub HP_LOOP () { $RNAc::HP_LOOP } 3025sub INT_LOOP () { $RNAc::INT_LOOP } 3026sub MB_LOOP () { $RNAc::MB_LOOP } 3027sub ANY_LOOP () { $RNAc::ANY_LOOP } 3028sub PROBS_WINDOW_BPP () { $RNAc::PROBS_WINDOW_BPP } 3029sub PROBS_WINDOW_UP () { $RNAc::PROBS_WINDOW_UP } 3030sub PROBS_WINDOW_STACKP () { $RNAc::PROBS_WINDOW_STACKP } 3031sub PROBS_WINDOW_UP_SPLIT () { $RNAc::PROBS_WINDOW_UP_SPLIT } 3032sub PROBS_WINDOW_PF () { $RNAc::PROBS_WINDOW_PF } 3033sub MAXDOS () { $RNAc::MAXDOS } 3034sub FILE_FORMAT_MSA_CLUSTAL () { $RNAc::FILE_FORMAT_MSA_CLUSTAL } 3035sub FILE_FORMAT_MSA_DEFAULT () { $RNAc::FILE_FORMAT_MSA_DEFAULT } 3036sub FILE_FORMAT_MSA_FASTA () { $RNAc::FILE_FORMAT_MSA_FASTA } 3037sub FILE_FORMAT_MSA_MAF () { $RNAc::FILE_FORMAT_MSA_MAF } 3038sub FILE_FORMAT_MSA_NOCHECK () { $RNAc::FILE_FORMAT_MSA_NOCHECK } 3039sub FILE_FORMAT_MSA_STOCKHOLM () { $RNAc::FILE_FORMAT_MSA_STOCKHOLM } 3040sub FILE_FORMAT_MSA_MIS () { $RNAc::FILE_FORMAT_MSA_MIS } 3041sub FILE_FORMAT_MSA_UNKNOWN () { $RNAc::FILE_FORMAT_MSA_UNKNOWN } 3042sub FILE_FORMAT_MSA_QUIET () { $RNAc::FILE_FORMAT_MSA_QUIET } 3043sub FILE_FORMAT_MSA_SILENT () { $RNAc::FILE_FORMAT_MSA_SILENT } 3044sub FILE_FORMAT_MSA_APPEND () { $RNAc::FILE_FORMAT_MSA_APPEND } 3045sub SEQUENCE_RNA () { $RNAc::SEQUENCE_RNA } 3046sub SEQUENCE_DNA () { $RNAc::SEQUENCE_DNA } 3047sub UNSTRUCTURED_DOMAIN_EXT_LOOP () { $RNAc::UNSTRUCTURED_DOMAIN_EXT_LOOP } 3048sub UNSTRUCTURED_DOMAIN_HP_LOOP () { $RNAc::UNSTRUCTURED_DOMAIN_HP_LOOP } 3049sub UNSTRUCTURED_DOMAIN_INT_LOOP () { $RNAc::UNSTRUCTURED_DOMAIN_INT_LOOP } 3050sub UNSTRUCTURED_DOMAIN_MB_LOOP () { $RNAc::UNSTRUCTURED_DOMAIN_MB_LOOP } 3051sub UNSTRUCTURED_DOMAIN_ALL_LOOPS () { $RNAc::UNSTRUCTURED_DOMAIN_ALL_LOOPS } 3052sub UNSTRUCTURED_DOMAIN_MOTIF () { $RNAc::UNSTRUCTURED_DOMAIN_MOTIF } 3053sub CMD_PARSE_DEFAULTS () { $RNAc::CMD_PARSE_DEFAULTS } 3054sub CMD_PARSE_HC () { $RNAc::CMD_PARSE_HC } 3055sub CMD_PARSE_SC () { $RNAc::CMD_PARSE_SC } 3056sub CMD_PARSE_SD () { $RNAc::CMD_PARSE_SD } 3057sub CMD_PARSE_UD () { $RNAc::CMD_PARSE_UD } 3058sub MOVESET_INSERTION () { $RNAc::MOVESET_INSERTION } 3059sub MOVESET_DELETION () { $RNAc::MOVESET_DELETION } 3060sub MOVESET_SHIFT () { $RNAc::MOVESET_SHIFT } 3061sub MOVESET_NO_LP () { $RNAc::MOVESET_NO_LP } 3062sub MOVESET_DEFAULT () { $RNAc::MOVESET_DEFAULT } 3063sub NEIGHBOR_CHANGE () { $RNAc::NEIGHBOR_CHANGE } 3064sub NEIGHBOR_INVALID () { $RNAc::NEIGHBOR_INVALID } 3065sub NEIGHBOR_NEW () { $RNAc::NEIGHBOR_NEW } 3066sub PATH_STEEPEST_DESCENT () { $RNAc::PATH_STEEPEST_DESCENT } 3067sub PATH_RANDOM () { $RNAc::PATH_RANDOM } 3068sub PATH_NO_TRANSITION_OUTPUT () { $RNAc::PATH_NO_TRANSITION_OUTPUT } 3069sub PATH_DEFAULT () { $RNAc::PATH_DEFAULT } 3070sub PATH_TYPE_DOT_BRACKET () { $RNAc::PATH_TYPE_DOT_BRACKET } 3071sub PATH_TYPE_MOVES () { $RNAc::PATH_TYPE_MOVES } 3072sub FC_TYPE_SINGLE () { $RNAc::FC_TYPE_SINGLE } 3073sub FC_TYPE_COMPARATIVE () { $RNAc::FC_TYPE_COMPARATIVE } 3074sub STATUS_MFE_PRE () { $RNAc::STATUS_MFE_PRE } 3075sub STATUS_MFE_POST () { $RNAc::STATUS_MFE_POST } 3076sub STATUS_PF_PRE () { $RNAc::STATUS_PF_PRE } 3077sub STATUS_PF_POST () { $RNAc::STATUS_PF_POST } 3078sub OPTION_DEFAULT () { $RNAc::OPTION_DEFAULT } 3079sub OPTION_MFE () { $RNAc::OPTION_MFE } 3080sub OPTION_PF () { $RNAc::OPTION_PF } 3081sub OPTION_HYBRID () { $RNAc::OPTION_HYBRID } 3082sub OPTION_EVAL_ONLY () { $RNAc::OPTION_EVAL_ONLY } 3083sub OPTION_WINDOW () { $RNAc::OPTION_WINDOW } 3084 3085# ------- VARIABLE STUBS -------- 3086 3087package RNA; 3088 3089*lxc37 = *RNAc::lxc37; 3090*stack37 = *RNAc::stack37; 3091*stackdH = *RNAc::stackdH; 3092*hairpin37 = *RNAc::hairpin37; 3093*hairpindH = *RNAc::hairpindH; 3094*bulge37 = *RNAc::bulge37; 3095*bulgedH = *RNAc::bulgedH; 3096*internal_loop37 = *RNAc::internal_loop37; 3097*internal_loopdH = *RNAc::internal_loopdH; 3098*mismatchI37 = *RNAc::mismatchI37; 3099*mismatchIdH = *RNAc::mismatchIdH; 3100*mismatch1nI37 = *RNAc::mismatch1nI37; 3101*mismatch23I37 = *RNAc::mismatch23I37; 3102*mismatch1nIdH = *RNAc::mismatch1nIdH; 3103*mismatch23IdH = *RNAc::mismatch23IdH; 3104*mismatchH37 = *RNAc::mismatchH37; 3105*mismatchM37 = *RNAc::mismatchM37; 3106*mismatchHdH = *RNAc::mismatchHdH; 3107*mismatchMdH = *RNAc::mismatchMdH; 3108*mismatchExt37 = *RNAc::mismatchExt37; 3109*mismatchExtdH = *RNAc::mismatchExtdH; 3110*dangle5_37 = *RNAc::dangle5_37; 3111*dangle3_37 = *RNAc::dangle3_37; 3112*dangle3_dH = *RNAc::dangle3_dH; 3113*dangle5_dH = *RNAc::dangle5_dH; 3114*int11_37 = *RNAc::int11_37; 3115*int11_dH = *RNAc::int11_dH; 3116*int21_37 = *RNAc::int21_37; 3117*int21_dH = *RNAc::int21_dH; 3118*int22_37 = *RNAc::int22_37; 3119*int22_dH = *RNAc::int22_dH; 3120*ML_BASE37 = *RNAc::ML_BASE37; 3121*ML_BASEdH = *RNAc::ML_BASEdH; 3122*ML_closing37 = *RNAc::ML_closing37; 3123*ML_closingdH = *RNAc::ML_closingdH; 3124*ML_intern37 = *RNAc::ML_intern37; 3125*ML_interndH = *RNAc::ML_interndH; 3126*TripleC37 = *RNAc::TripleC37; 3127*TripleCdH = *RNAc::TripleCdH; 3128*MultipleCA37 = *RNAc::MultipleCA37; 3129*MultipleCAdH = *RNAc::MultipleCAdH; 3130*MultipleCB37 = *RNAc::MultipleCB37; 3131*MultipleCBdH = *RNAc::MultipleCBdH; 3132*MAX_NINIO = *RNAc::MAX_NINIO; 3133*ninio37 = *RNAc::ninio37; 3134*niniodH = *RNAc::niniodH; 3135*TerminalAU37 = *RNAc::TerminalAU37; 3136*TerminalAUdH = *RNAc::TerminalAUdH; 3137*DuplexInit37 = *RNAc::DuplexInit37; 3138*DuplexInitdH = *RNAc::DuplexInitdH; 3139*Tetraloops = *RNAc::Tetraloops; 3140*Tetraloop37 = *RNAc::Tetraloop37; 3141*TetraloopdH = *RNAc::TetraloopdH; 3142*Triloops = *RNAc::Triloops; 3143*Triloop37 = *RNAc::Triloop37; 3144*TriloopdH = *RNAc::TriloopdH; 3145*Hexaloops = *RNAc::Hexaloops; 3146*Hexaloop37 = *RNAc::Hexaloop37; 3147*HexaloopdH = *RNAc::HexaloopdH; 3148*GQuadAlpha37 = *RNAc::GQuadAlpha37; 3149*GQuadAlphadH = *RNAc::GQuadAlphadH; 3150*GQuadBeta37 = *RNAc::GQuadBeta37; 3151*GQuadBetadH = *RNAc::GQuadBetadH; 3152*GQuadLayerMismatch37 = *RNAc::GQuadLayerMismatch37; 3153*GQuadLayerMismatchH = *RNAc::GQuadLayerMismatchH; 3154*GQuadLayerMismatchMax = *RNAc::GQuadLayerMismatchMax; 3155*Tmeasure = *RNAc::Tmeasure; 3156*temperature = *RNAc::temperature; 3157*dangles = *RNAc::dangles; 3158*betaScale = *RNAc::betaScale; 3159*pf_smooth = *RNAc::pf_smooth; 3160*tetra_loop = *RNAc::tetra_loop; 3161*special_hp = *RNAc::special_hp; 3162*noLonelyPairs = *RNAc::noLonelyPairs; 3163*noLP = *RNAc::noLP; 3164*noGU = *RNAc::noGU; 3165*no_closingGU = *RNAc::no_closingGU; 3166*noGUclosure = *RNAc::noGUclosure; 3167*logML = *RNAc::logML; 3168*circ = *RNAc::circ; 3169*gquad = *RNAc::gquad; 3170*uniq_ML = *RNAc::uniq_ML; 3171*energy_set = *RNAc::energy_set; 3172*backtrack = *RNAc::backtrack; 3173*backtrack_type = *RNAc::backtrack_type; 3174*do_backtrack = *RNAc::do_backtrack; 3175*compute_bpp = *RNAc::compute_bpp; 3176*max_bp_span = *RNAc::max_bp_span; 3177*min_loop_size = *RNAc::min_loop_size; 3178*window_size = *RNAc::window_size; 3179*oldAliEn = *RNAc::oldAliEn; 3180*ribo = *RNAc::ribo; 3181*cv_fact = *RNAc::cv_fact; 3182*nc_fact = *RNAc::nc_fact; 3183*sfact = *RNAc::sfact; 3184*pf_scale = *RNAc::pf_scale; 3185*nonstandards = *RNAc::nonstandards; 3186*xsubi = *RNAc::xsubi; 3187*rna_plot_type = *RNAc::rna_plot_type; 3188*cut_point = *RNAc::cut_point; 3189*eos_debug = *RNAc::eos_debug; 3190*st_back = *RNAc::st_back; 3191*mirnatog = *RNAc::mirnatog; 3192*F_monomer = *RNAc::F_monomer; 3193*subopt_sorted = *RNAc::subopt_sorted; 3194*print_energy = *RNAc::print_energy; 3195*density_of_states = *RNAc::density_of_states; 3196*symbolset = *RNAc::symbolset; 3197*final_cost = *RNAc::final_cost; 3198*give_up = *RNAc::give_up; 3199*inv_verbose = *RNAc::inv_verbose; 3200*loop_size = *RNAc::loop_size; 3201*helix_size = *RNAc::helix_size; 3202*loop_degree = *RNAc::loop_degree; 3203*loops = *RNAc::loops; 3204*unpaired = *RNAc::unpaired; 3205*pairs = *RNAc::pairs; 3206*edit_backtrack = *RNAc::edit_backtrack; 3207*aligned_line = *RNAc::aligned_line; 3208*cost_matrix = *RNAc::cost_matrix; 3209*base_pair = *RNAc::base_pair; 3210*pr = *RNAc::pr; 3211*iindx = *RNAc::iindx; 3212*fold_constrained = *RNAc::fold_constrained; 3213*csv = *RNAc::csv; 3214*RibosumFile = *RNAc::RibosumFile; 3215*james_rule = *RNAc::james_rule; 3216 3217our $VERSION = '2.4.18'; 3218sub VERSION () { $VERSION }; 32191; 3220