Bio-Tools-Run-Alignment-TCoffee-1.7.4/0000755000175000017500000000000013320724733020325 5ustar carandraugcarandraugBio-Tools-Run-Alignment-TCoffee-1.7.4/Changes0000644000175000017500000000202313320724733021615 0ustar carandraugcarandraugSummary of important user-visible changes for Bio-Tools-Run-Alignment-TCoffee ----------------------------------------------------------------------------- 1.7.4 2018-07-09 19:30:49+01:00 Europe/London * Bio::Installer::TCoffee has been removed. Not only did it no longer work and was several years out of date, it was also unsecure. Either install T-Coffee via your system package manager, or download it from upstream. * Newer versions of T-Coffee include an hash on their version "number" so the 'version' method will return a string. Versions are not numeric values so don't use like that. 1.7.3 2017-09-27 18:23:30+01:00 Europe/London * Replace requires_external.t with a check in the Makefile.PL for t_coffee. This ensures that the installation fails instead of triggering a test failure since a test failure indicates a bug in the package. This avoids failure reports CPAN Testers. 1.7.2 2017-09-14 16:05:56+01:00 Europe/London * First release after split from bioperl-run. Bio-Tools-Run-Alignment-TCoffee-1.7.4/dist.ini0000644000175000017500000000045713320724733021777 0ustar carandraugcarandraugname = Bio-Tools-Run-Alignment-TCoffee version = 1.7.4 author = Jason Stajich author = Peter Schattner copyright_holder = Jason Stajich , Peter Schattner license = Perl_5 [@BioPerl] [CheckBin] command = t_coffee Bio-Tools-Run-Alignment-TCoffee-1.7.4/LICENSE0000644000175000017500000004415213320724733021340 0ustar carandraugcarandraugThis software is copyright (c) 2018 by Jason Stajich , Peter Schattner . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. Terms of the Perl programming language system itself a) the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or b) the "Artistic License" --- The GNU General Public License, Version 1, February 1989 --- This software is Copyright (c) 2018 by Jason Stajich , Peter Schattner . This is free software, licensed under: The GNU General Public License, Version 1, February 1989 GNU GENERAL PUBLIC LICENSE Version 1, February 1989 Copyright (C) 1989 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The license agreements of most software companies try to keep users at the mercy of those companies. By contrast, our General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. The General Public License applies to the Free Software Foundation's software and to any other program whose authors commit to using it. You can use it for your programs, too. When we speak of free software, we are referring to freedom, not price. Specifically, the General Public License is designed to make sure that you have the freedom to give away or sell copies of free software, that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of a such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must tell them their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any work containing the Program or a portion of it, either verbatim or with modifications. Each licensee is addressed as "you". 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this General Public License and to the absence of any warranty; and give any other recipients of the Program a copy of this General Public License along with the Program. You may charge a fee for the physical act of transferring a copy. 2. You may modify your copy or copies of the Program or any portion of it, and copy and distribute such modifications under the terms of Paragraph 1 above, provided that you also do the following: a) cause the modified files to carry prominent notices stating that you changed the files and the date of any change; and b) cause the whole of any work that you distribute or publish, that in whole or in part contains the Program or any part thereof, either with or without modifications, to be licensed at no charge to all third parties under the terms of this General Public License (except that you may choose to grant warranty protection to some or all third parties, at your option). c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the simplest and most usual way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this General Public License. d) You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. Mere aggregation of another independent work with the Program (or its derivative) on a volume of a storage or distribution medium does not bring the other work under the scope of these terms. 3. You may copy and distribute the Program (or a portion or derivative of it, under Paragraph 2) in object code or executable form under the terms of Paragraphs 1 and 2 above provided that you also do one of the following: a) accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Paragraphs 1 and 2 above; or, b) accompany it with a written offer, valid for at least three years, to give any third party free (except for a nominal charge for the cost of distribution) a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Paragraphs 1 and 2 above; or, c) accompany it with the information you received as to where the corresponding source code may be obtained. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form alone.) Source code for a work means the preferred form of the work for making modifications to it. For an executable file, complete source code means all the source code for all modules it contains; but, as a special exception, it need not include source code for modules which are standard libraries that accompany the operating system on which the executable file runs, or for standard header files or definitions files that accompany that operating system. 4. You may not copy, modify, sublicense, distribute or transfer the Program except as expressly provided under this General Public License. Any attempt otherwise to copy, modify, sublicense, distribute or transfer the Program is void, and will automatically terminate your rights to use the Program under this License. However, parties who have received copies, or rights to use copies, from you under this General Public License will not have their licenses terminated so long as such parties remain in full compliance. 5. By copying, distributing or modifying the Program (or any work based on the Program) you indicate your acceptance of this license to do so, and all its terms and conditions. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. 7. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of the license which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the license, you may choose any version ever published by the Free Software Foundation. 8. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to humanity, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19xx name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (a program to direct compilers to make passes at assemblers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice That's all there is to it! --- The Artistic License 1.0 --- This software is Copyright (c) 2018 by Jason Stajich , Peter Schattner . This is free software, licensed under: The Artistic License 1.0 The Artistic License Preamble The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications. Definitions: - "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification. - "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder. - "Copyright Holder" is whoever is named in the copyright or copyrights for the package. - "You" is you, if you're thinking about copying or distributing this Package. - "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.) - "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it. 1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers. 2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version. 3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following: a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as ftp.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package. b) use the modified Package only within your corporation or organization. c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version. d) make other distribution arrangements with the Copyright Holder. 4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following: a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version. b) accompany the distribution with the machine-readable source of the Package with your modifications. c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version. d) make other distribution arrangements with the Copyright Holder. 5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own. 6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package. 7. C or perl subroutines supplied by you and linked into this Package shall not be considered part of this Package. 8. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission. 9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. The End Bio-Tools-Run-Alignment-TCoffee-1.7.4/t/0000755000175000017500000000000013320724733020570 5ustar carandraugcarandraugBio-Tools-Run-Alignment-TCoffee-1.7.4/t/TCoffee.t0000644000175000017500000000763413320724733022302 0ustar carandraugcarandraug#!/usr/bin/env perl use utf8; use strict; use warnings; use Test::More; use File::Spec; use Test::Exception; use Bio::AlignIO; use Bio::SeqIO; use Bio::SimpleAlign; use Bio::Tools::Run::Alignment::TCoffee; sub test_input_file { return File::Spec->catfile('t', 'data', @_); } END { unlink qw(cysprot.dnd cysprot1a.dnd) } END { unlink("t_coffee.log"); } my @params; my $factory = Bio::Tools::Run::Alignment::TCoffee->new(@params); isa_ok ($factory, 'Bio::Tools::Run::Alignment::TCoffee'); my $ktuple = 3; $factory->ktuple($ktuple); my $new_ktuple = $factory->ktuple(); is $new_ktuple, 3, "set factory parameter"; my $what_matrix = $factory->matrix(); like $what_matrix, qr/BLOSUM/i, "get factory parameter"; my $bequiet = 1; $factory->quiet($bequiet); # Suppress tcoffee messages to terminal my $inputfilename = test_input_file('cysprot.fa'); my $aln; my $version = $factory->_major_minor_version; cmp_ok ($version, '>=', 1.22, "Code tested only on t_coffee versions > 1.22" ); $aln = $factory->align($inputfilename); ok($aln); is( $aln->num_sequences, 7); my $str = Bio::SeqIO->new('-file' => test_input_file("cysprot.fa"), '-format' => 'fasta'); my @seq_array =(); while ( my $seq = $str->next_seq() ) { push (@seq_array, $seq) ; } my $seq_array_ref = \@seq_array; $aln = $factory->align($seq_array_ref); is $aln->num_sequences, 7; my $s1_perid = $aln->average_percentage_identity; my $profile1 = test_input_file("cysprot1a.msf"); my $profile2 = test_input_file("cysprot1b.msf"); # convert any warnings about program to an actual exception $factory->verbose(2); lives_ok {$aln = $factory->profile_align($profile1,$profile2)}; ok(! $@, "no T-COFFEE errors"); is $aln->num_sequences, 7; my $str1 = Bio::AlignIO->new(-file=> test_input_file("cysprot1a.msf")); my $aln1 = $str1->next_aln(); is $aln1->num_sequences, 3; my $str2 = Bio::AlignIO->new(-file=> test_input_file("cysprot1b.msf")); my $aln2 = $str2->next_aln(); is $aln2->num_sequences, 4; $aln = $factory->profile_align($aln1,$aln2); is $aln->num_sequences, 7; $str1 = Bio::AlignIO->new(-file=> test_input_file("cysprot1a.msf")); $aln1 = $str1->next_aln(); $str2 = Bio::SeqIO->new(-file=> test_input_file("cysprot1b.fa")); my $seq = $str2->next_seq(); is $aln1->num_sequences, 3; is( int($aln1->average_percentage_identity), 39); $aln = $factory->profile_align($aln1,$seq); is( $aln->num_sequences, 4); if( $version <= 1.22 ) { cmp_ok( $aln->overall_percentage_identity, '>', 18); is( int($aln->average_percentage_identity), 44); } else { my $overall = int($aln->overall_percentage_identity); ok( $overall >=21 && $overall <= 23, 'expect 21 >= val >= 23'); my $avg = int($aln->average_percentage_identity); ok( $avg == 47 || $avg ==48, 'expect 47 or 48'); } # test new 'run' generic running of factory $aln = $factory->run('-type' => 'align', '-seq' => test_input_file("cysprot.fa")); is ($aln->num_sequences, 7, 'simple generic run'); is ($aln->percentage_identity,$s1_perid); #calculated before lives_ok{ $aln = $factory->run('-type' => 'profile', '-profile' => $aln1, '-seq' => test_input_file("cysprot1b.fa"))} ; ok(! $@, "no T-COFFEE errors"); is( $aln->num_sequences, 7); if( $version <= 1.22 ) { cmp_ok( $aln->overall_percentage_identity, '>', 18); is( int($aln->average_percentage_identity), 44); } else { my $overall = int $aln->overall_percentage_identity; ok($overall == 14 || $overall == 13, 'expect 13 or 14'); my $avg = int($aln->average_percentage_identity); ok($avg == 41 || $avg == 42, 'expect 41 or 42'); } done_testing(); END { # warnings are already given above, no need to keep report if (-e 'error_report.T-COFFEE') { unlink('error_report.T-COFFEE'); } if (my @dnds = glob('*.dnd')) { for my $file (@dnds) { unlink($file) } } } Bio-Tools-Run-Alignment-TCoffee-1.7.4/t/author-mojibake.t0000644000175000017500000000035313320724733024037 0ustar carandraugcarandraug#!perl BEGIN { unless ($ENV{AUTHOR_TESTING}) { print qq{1..0 # SKIP these tests are for testing by the author\n}; exit } } use strict; use warnings qw(all); use Test::More; use Test::Mojibake; all_files_encoding_ok(); Bio-Tools-Run-Alignment-TCoffee-1.7.4/t/author-pod-coverage.t0000644000175000017500000000053613320724733024634 0ustar carandraugcarandraug#!perl BEGIN { unless ($ENV{AUTHOR_TESTING}) { print qq{1..0 # SKIP these tests are for testing by the author\n}; exit } } # This file was automatically generated by Dist::Zilla::Plugin::PodCoverageTests. use Test::Pod::Coverage 1.08; use Pod::Coverage::TrustPod; all_pod_coverage_ok({ coverage_class => 'Pod::Coverage::TrustPod' }); Bio-Tools-Run-Alignment-TCoffee-1.7.4/t/00-compile.t0000644000175000017500000000266013320724733022626 0ustar carandraugcarandrauguse 5.006; use strict; use warnings; # this test was generated with Dist::Zilla::Plugin::Test::Compile 2.058 use Test::More; plan tests => 1 + ($ENV{AUTHOR_TESTING} ? 1 : 0); my @module_files = ( 'Bio/Tools/Run/Alignment/TCoffee.pm' ); # no fake home requested my @switches = ( -d 'blib' ? '-Mblib' : '-Ilib', ); use File::Spec; use IPC::Open3; use IO::Handle; open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!"; my @warnings; for my $lib (@module_files) { # see L my $stderr = IO::Handle->new; diag('Running: ', join(', ', map { my $str = $_; $str =~ s/'/\\'/g; q{'} . $str . q{'} } $^X, @switches, '-e', "require q[$lib]")) if $ENV{PERL_COMPILE_TEST_DEBUG}; my $pid = open3($stdin, '>&STDERR', $stderr, $^X, @switches, '-e', "require q[$lib]"); binmode $stderr, ':crlf' if $^O eq 'MSWin32'; my @_warnings = <$stderr>; waitpid($pid, 0); is($?, 0, "$lib loaded ok"); shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/ and not eval { +require blib; blib->VERSION('1.01') }; if (@_warnings) { warn @_warnings; push @warnings, @_warnings; } } is(scalar(@warnings), 0, 'no warnings found') or diag 'got warnings: ', ( Test::More->can('explain') ? Test::More::explain(\@warnings) : join("\n", '', @warnings) ) if $ENV{AUTHOR_TESTING}; Bio-Tools-Run-Alignment-TCoffee-1.7.4/t/author-no-tabs.t0000644000175000017500000000104713320724733023622 0ustar carandraugcarandraug BEGIN { unless ($ENV{AUTHOR_TESTING}) { print qq{1..0 # SKIP these tests are for testing by the author\n}; exit } } use strict; use warnings; # this test was generated with Dist::Zilla::Plugin::Test::NoTabs 0.15 use Test::More 0.88; use Test::NoTabs; my @files = ( 'lib/Bio/Tools/Run/Alignment/TCoffee.pm', 't/00-compile.t', 't/TCoffee.t', 't/author-eol.t', 't/author-mojibake.t', 't/author-no-tabs.t', 't/author-pod-coverage.t', 't/author-pod-syntax.t' ); notabs_ok($_) foreach @files; done_testing; Bio-Tools-Run-Alignment-TCoffee-1.7.4/t/author-pod-syntax.t0000644000175000017500000000045413320724733024366 0ustar carandraugcarandraug#!perl BEGIN { unless ($ENV{AUTHOR_TESTING}) { print qq{1..0 # SKIP these tests are for testing by the author\n}; exit } } # This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests. use strict; use warnings; use Test::More; use Test::Pod 1.41; all_pod_files_ok(); Bio-Tools-Run-Alignment-TCoffee-1.7.4/t/data/0000755000175000017500000000000013320724733021501 5ustar carandraugcarandraugBio-Tools-Run-Alignment-TCoffee-1.7.4/t/data/cysprot1b.msf0000755000175000017500000000464513320724733024152 0ustar carandraugcarandraugPileUp MSF: 366 Type: P Check: 8252 .. Name: CATL_HUMAN oo Len: 366 Check: 9087 Weight: 21.6 Name: CATL_RAT oo Len: 366 Check: 271 Weight: 20.7 Name: CATH_RAT oo Len: 366 Check: 8974 Weight: 27.9 Name: PAPA_CARPA oo Len: 366 Check: 9920 Weight: 29.7 // CATL_HUMAN ......MNPT LILAAFCLGI .......... ...ASATLTF DHSLEAQWTK CATL_RAT ......MTPL LLLAVLCLGT .......... ...ALATPKF DQTFNAQWHQ CATH_RAT ...MWTALPL LCAGAWLLSA G......... ...ATAELTV NAIEKFHFTS PAPA_CARPA MAMIPSISKL LFVAICLFVY MGLSFGDFSI VGYSQNDLTS TERLIQLFES CATL_HUMAN WKAMHNRLYG .MNEEGWRRA VWEKNMKMIE LHNQEYREGK HSFTMAMNAF CATL_RAT WKSTHRRLYG .TNEEEWRRA VWEKNMRMIQ LHNGEYSNGK HGFTMEMNAF CATH_RAT WMKQHQKTYS .SREYSHRLQ VFANNWRKIQ AHNQRN.... HTFKMGLNQF PAPA_CARPA WMLKHNKIYK NIDEKIYRFE IFKDNLKYID ETNKKN.... NSYWLGLNVF CATL_HUMAN GDMTSEEFRQ VMNGFQNRKP RKGKVFQEPL FY....EAPR SVDWREKG.Y CATL_RAT GDMTNEEFRQ IVNGYRHQKH KKGRLFQEPL ML....QIPK TVDWREKG.C CATH_RAT SDMSFAEIKH KYLWSEPQNC SATKSNYLRG TG....PYPS SMDWRKKGNV PAPA_CARPA ADMSNDEFKE KYTGSIAGNY TTTELSYEEV LNDGDVNIPE YVDWRQKG.A CATL_HUMAN VTPVKNQGQC GSCWAFSATG ALEGQMFRKT GRLISLSEQN LVDCSGPQGN CATL_RAT VTPVKNQGQC GSCWAFSASG CLEGQMFLKT GKLISLSEQN LVDCSHDQGN CATH_RAT VSPVKNQGAC GSCWTFSTTG ALESAVAIAS GKMMTLAEQQ LVDCAQNFNN PAPA_CARPA VTPVKNQGSC GSCWAFSAVV TIEGIIKIRT GNLNEYSEQE LLDCDRR..S CATL_HUMAN EGCNGGLMDY AFQYVQDNGG LDSEESYPYE ATEESCKYNP KYSVANDTGF CATL_RAT QGCNGGLMDF AFQYIKENGG LDSEESYPYE AKDGSCKYRA EYAVANDTGF CATH_RAT HGCQGGLPSQ AFEYILYNKG IMGEDSYPYI GKNGQCKFNP EKAVAFVKNV PAPA_CARPA YGCNGGYPWS ALQLVAQYG. IHYRNTYPYE GVQRYCRSRE KGPYAAKTDG CATL_HUMAN VDIPK.QEKA LMKAVATVGP ISVAIDAGHE SFLFYKEGIY FEPDCSS..E CATL_RAT VDIPQ.QEKA LMKAVATVGP ISVAMDASHP SLQFYSSGIY YEPNCSS..K CATH_RAT VNITLNDEAA MVEAVALYNP VSFAFEVT.E DFMMYKSGVY SSNSCHKTPD PAPA_CARPA VRQVQPYNEG ALLYSIANQP VSVVLEAAGK DFQLYRGGIF VGP.CGN... CATL_HUMAN DMDHGVLVVG YGFESTESDN NKYWLVKNSW GEEWGMGGYV KMAKDRR... CATL_RAT DLDHGVLVVG YGYEGTDSNK DKYWLVKNSW GKEWGMDGYI KIAKDRN... CATH_RAT KVNHAVLAVG YG....EQNG LLYWIVKNSW GSNWGNNGYF LIERGK.... PAPA_CARPA KVDHAVAAVG YG........ PNYILIKNSW GTGWGENGYI RIKRGTGNSY CATL_HUMAN NHCGIASAAS YPTV.. CATL_RAT NHCGLATAAS YPIVN. CATH_RAT NMCGLAACAS YPIPQV PAPA_CARPA GVCGLYTSSF YPVKN. Bio-Tools-Run-Alignment-TCoffee-1.7.4/t/data/cysprot1a.msf0000755000175000017500000000361313320724733024143 0ustar carandraugcarandraugPileUp MSF: 383 Type: P Check: 3696 .. Name: ALEU_HORVU oo Len: 383 Check: 9840 Weight: 34.4 Name: CATH_HUMAN oo Len: 383 Check: 7134 Weight: 30.1 Name: CYS1_DICDI oo Len: 383 Check: 6722 Weight: 35.4 // ALEU_HORVU MAHARVLLLA LAVLATAAVA VASSSSFADS NPIRPVTDRA ASTLESAVLG CATH_HUMAN ......MWAT LPLLCAGAWL LG........ VPVCGAAELS VNSLEK.... CYS1_DICDI .....MKVIL LFVLAVFTVF VS........ .......SRG IPPEEQ.... ALEU_HORVU ALGRTRHALR FARFAVRYGK SYESAAEVRR RFRIFSESLE EVRSTN.... CATH_HUMAN ........FH FKSWMSKHRK TYS.TEEYHH RLQTFASNWR KINAHN.... CYS1_DICDI ........SQ FLEFQDKFNK KYS.HEEYLE RFEIFKSNLG KIEELNLIAI ALEU_HORVU RKGLPYRLGI NRFSDMSWEE FQATRLG.AA QTCSATLAGN HLMRDAAA.. CATH_HUMAN NGNHTFKMAL NQFSDMSFAE IKHKYLWSEP QNCSATKS.. NYLRGTGP.. CYS1_DICDI NHKADTKFGV NKFADLSSDE FKNYYLNNKE AIFTDDLPVA DYLDDEFINS ALEU_HORVU LPETKDWRED G.IVSPVKNQ AHCGSCWTFS TTGALEAAYT QATGKNISLS CATH_HUMAN YPPSVDWRKK GNFVSPVKNQ GACGSCWTFS TTGALESAIA IATGKMLSLA CYS1_DICDI IPTAFDWRTR G.AVTPVKNQ GQCGSCWSFS TTGNVEGQHF ISQNKLVSLS ALEU_HORVU EQQLVDCAGG FNNF...... ..GCNGGLPS QAFEYIKYNG GIDTEESYPY CATH_HUMAN EQQLVDCAQD FNNY...... ..GCQGGLPS QAFEYILYNK GIMGEDTYPY CYS1_DICDI EQNLVDCDHE CMEYEGEEAC DEGCNGGLQP NAYNYIIKNG GIQTESSYPY ALEU_HORVU KGVNGVCHYK AENAAVQVLD SVNITLNAED ELKNAVGLVR PVSVAFQVID CATH_HUMAN QGKDGYCKFQ PGKAIGFVKD VANITIYDEE AMVEAVALYN PVSFAFEVTQ CYS1_DICDI TAETGTQCNF NSANIGAKIS NFTMIPKNET VMAGYIVSTG PLAIAADAVE ALEU_HORVU GFRQYKSGVY TSDHCGTTPD DVNHAVLAVG YGVEN..... GVPYWLIKNS CATH_HUMAN DFMMYRTGIY SSTSCHKTPD KVNHAVLAVG YGEKN..... GIPYWIVKNS CYS1_DICDI .WQFYIGGVF DIPCN...PN SLDHGILIVG YSAKNTIFRK NMPYWIVKNS ALEU_HORVU WGADWGDNGY FKMEMGKNMC AIATCASYPV VAA CATH_HUMAN WGPQWGMNGY FLIERGKNMC GLAACASYPI PLV CYS1_DICDI WGADWGEQGY IYLRRGKNTC GVSNFVSTSI I.. Bio-Tools-Run-Alignment-TCoffee-1.7.4/t/data/cysprot.fa0000755000175000017500000000501613320724733023521 0ustar carandraugcarandraug>CYS1_DICDI MKVILLFVLAVFTVFVSSRGIPPEEQSQFLEFQDKFNKKYSHEEYLERFEIFKSNLGKIEELNLIAINHK ADTKFGVNKFADLSSDEFKNYYLNNKEAIFTDDLPVADYLDDEFINSIPTAFDWRTRGAVTPVKNQGQCG SCWSFSTTGNVEGQHFISQNKLVSLSEQNLVDCDHECMEYEGEEACDEGCNGGLQPNAYNYIIKNGGIQT ESSYPYTAETGTQCNFNSANIGAKISNFTMIPKNETVMAGYIVSTGPLAIAADAVEWQFYIGGVFDIPCN PNSLDHGILIVGYSAKNTIFRKNMPYWIVKNSWGADWGEQGYIYLRRGKNTCGVSNFVSTSII >ALEU_HORVU MAHARVLLLALAVLATAAVAVASSSSFADSNPIRPVTDRAASTLESAVLGALGRTRHALRFARFAVRYGK SYESAAEVRRRFRIFSESLEEVRSTNRKGLPYRLGINRFSDMSWEEFQATRLGAAQTCSATLAGNHLMRD AAALPETKDWREDGIVSPVKNQAHCGSCWTFSTTGALEAAYTQATGKNISLSEQQLVDCAGGFNNFGCNG GLPSQAFEYIKYNGGIDTEESYPYKGVNGVCHYKAENAAVQVLDSVNITLNAEDELKNAVGLVRPVSVAF QVIDGFRQYKSGVYTSDHCGTTPDDVNHAVLAVGYGVENGVPYWLIKNSWGADWGDNGYFKMEMGKNMCA IATCASYPVVAA >CATH_HUMAN MWATLPLLCAGAWLLGVPVCGAAELSVNSLEKFHFKSWMSKHRKTYSTEEYHHRLQTFASNWRKINAHNN GNHTFKMALNQFSDMSFAEIKHKYLWSEPQNCSATKSNYLRGTGPYPPSVDWRKKGNFVSPVKNQGACGS CWTFSTTGALESAIAIATGKMLSLAEQQLVDCAQDFNNYGCQGGLPSQAFEYILYNKGIMGEDTYPYQGK DGYCKFQPGKAIGFVKDVANITIYDEEAMVEAVALYNPVSFAFEVTQDFMMYRTGIYSSTSCHKTPDKVN HAVLAVGYGEKNGIPYWIVKNSWGPQWGMNGYFLIERGKNMCGLAACASYPIPLV >CATH_RAT MWTALPLLCAGAWLLSAGATAELTVNAIEKFHFTSWMKQHQKTYSSREYSHRLQVFANNWRKIQAHNQRN HTFKMGLNQFSDMSFAEIKHKYLWSEPQNCSATKSNYLRGTGPYPSSMDWRKKGNVVSPVKNQGACGSCW TFSTTGALESAVAIASGKMMTLAEQQLVDCAQNFNNHGCQGGLPSQAFEYILYNKGIMGEDSYPYIGKNG QCKFNPEKAVAFVKNVVNITLNDEAAMVEAVALYNPVSFAFEVTEDFMMYKSGVYSSNSCHKTPDKVNHA VLAVGYGEQNGLLYWIVKNSWGSNWGNNGYFLIERGKNMCGLAACASYPIPQV >CATL_HUMAN MNPTLILAAFCLGIASATLTFDHSLEAQWTKWKAMHNRLYGMNEEGWRRAVWEKNMKMIELHNQEYREGK HSFTMAMNAFGDMTSEEFRQVMNGFQNRKPRKGKVFQEPLFYEAPRSVDWREKGYVTPVKNQGQCGSCWA FSATGALEGQMFRKTGRLISLSEQNLVDCSGPQGNEGCNGGLMDYAFQYVQDNGGLDSEESYPYEATEES CKYNPKYSVANDTGFVDIPKQEKALMKAVATVGPISVAIDAGHESFLFYKEGIYFEPDCSSEDMDHGVLV VGYGFESTESDNNKYWLVKNSWGEEWGMGGYVKMAKDRRNHCGIASAASYPTV >CATL_RAT MTPLLLLAVLCLGTALATPKFDQTFNAQWHQWKSTHRRLYGTNEEEWRRAVWEKNMRMIQLHNGEYSNGK HGFTMEMNAFGDMTNEEFRQIVNGYRHQKHKKGRLFQEPLMLQIPKTVDWREKGCVTPVKNQGQCGSCWA FSASGCLEGQMFLKTGKLISLSEQNLVDCSHDQGNQGCNGGLMDFAFQYIKENGGLDSEESYPYEAKDGS CKYRAEYAVANDTGFVDIPQQEKALMKAVATVGPISVAMDASHPSLQFYSSGIYYEPNCSSKDLDHGVLV VGYGYEGTDSNKDKYWLVKNSWGKEWGMDGYIKIAKDRNNHCGLATAASYPIVN >PAPA_CARPA MAMIPSISKLLFVAICLFVYMGLSFGDFSIVGYSQNDLTSTERLIQLFESWMLKHNKIYKNIDEKIYRFE IFKDNLKYIDETNKKNNSYWLGLNVFADMSNDEFKEKYTGSIAGNYTTTELSYEEVLNDGDVNIPEYVDW RQKGAVTPVKNQGSCGSCWAFSAVVTIEGIIKIRTGNLNEYSEQELLDCDRRSYGCNGGYPWSALQLVAQ YGIHYRNTYPYEGVQRYCRSREKGPYAAKTDGVRQVQPYNEGALLYSIANQPVSVVLEAAGKDFQLYRGG IFVGPCGNKVDHAVAAVGYGPNYILIKNSWGTGWGENGYIRIKRGTGNSYGVCGLYTSSFYPVKN Bio-Tools-Run-Alignment-TCoffee-1.7.4/t/data/cysprot1b.fa0000644000175000017500000000265313320724733023745 0ustar carandraugcarandraug>CATH_RAT MWTALPLLCAGAWLLSAGATAELTVNAIEKFHFTSWMKQHQKTYSSREYSHRLQVFANNWRKIQAHNQRN HTFKMGLNQFSDMSFAEIKHKYLWSEPQNCSATKSNYLRGTGPYPSSMDWRKKGNVVSPVKNQGACGSCW TFSTTGALESAVAIASGKMMTLAEQQLVDCAQNFNNHGCQGGLPSQAFEYILYNKGIMGEDSYPYIGKNG QCKFNPEKAVAFVKNVVNITLNDEAAMVEAVALYNPVSFAFEVTEDFMMYKSGVYSSNSCHKTPDKVNHA VLAVGYGEQNGLLYWIVKNSWGSNWGNNGYFLIERGKNMCGLAACASYPIPQV >CATL_HUMAN MNPTLILAAFCLGIASATLTFDHSLEAQWTKWKAMHNRLYGMNEEGWRRAVWEKNMKMIELHNQEYREGK HSFTMAMNAFGDMTSEEFRQVMNGFQNRKPRKGKVFQEPLFYEAPRSVDWREKGYVTPVKNQGQCGSCWA FSATGALEGQMFRKTGRLISLSEQNLVDCSGPQGNEGCNGGLMDYAFQYVQDNGGLDSEESYPYEATEES CKYNPKYSVANDTGFVDIPKQEKALMKAVATVGPISVAIDAGHESFLFYKEGIYFEPDCSSEDMDHGVLV VGYGFESTESDNNKYWLVKNSWGEEWGMGGYVKMAKDRRNHCGIASAASYPTV >CATL_RAT MTPLLLLAVLCLGTALATPKFDQTFNAQWHQWKSTHRRLYGTNEEEWRRAVWEKNMRMIQLHNGEYSNGK HGFTMEMNAFGDMTNEEFRQIVNGYRHQKHKKGRLFQEPLMLQIPKTVDWREKGCVTPVKNQGQCGSCWA FSASGCLEGQMFLKTGKLISLSEQNLVDCSHDQGNQGCNGGLMDFAFQYIKENGGLDSEESYPYEAKDGS CKYRAEYAVANDTGFVDIPQQEKALMKAVATVGPISVAMDASHPSLQFYSSGIYYEPNCSSKDLDHGVLV VGYGYEGTDSNKDKYWLVKNSWGKEWGMDGYIKIAKDRNNHCGLATAASYPIVN >PAPA_CARPA MAMIPSISKLLFVAICLFVYMGLSFGDFSIVGYSQNDLTSTERLIQLFESWMLKHNKIYKNIDEKIYRFE IFKDNLKYIDETNKKNNSYWLGLNVFADMSNDEFKEKYTGSIAGNYTTTELSYEEVLNDGDVNIPEYVDW RQKGAVTPVKNQGSCGSCWAFSAVVTIEGIIKIRTGNLNEYSEQELLDCDRRSYGCNGGYPWSALQLVAQ YGIHYRNTYPYEGVQRYCRSREKGPYAAKTDGVRQVQPYNEGALLYSIANQPVSVVLEAAGKDFQLYRGG IFVGPCGNKVDHAVAAVGYGPNYILIKNSWGTGWGENGYIRIKRGTGNSYGVCGLYTSSFYPVKN Bio-Tools-Run-Alignment-TCoffee-1.7.4/t/author-eol.t0000644000175000017500000000110113320724733023025 0ustar carandraugcarandraug BEGIN { unless ($ENV{AUTHOR_TESTING}) { print qq{1..0 # SKIP these tests are for testing by the author\n}; exit } } use strict; use warnings; # this test was generated with Dist::Zilla::Plugin::Test::EOL 0.19 use Test::More 0.88; use Test::EOL; my @files = ( 'lib/Bio/Tools/Run/Alignment/TCoffee.pm', 't/00-compile.t', 't/TCoffee.t', 't/author-eol.t', 't/author-mojibake.t', 't/author-no-tabs.t', 't/author-pod-coverage.t', 't/author-pod-syntax.t' ); eol_unix_ok($_, { trailing_whitespace => 1 }) foreach @files; done_testing; Bio-Tools-Run-Alignment-TCoffee-1.7.4/META.json0000644000175000017500000004416413320724733021757 0ustar carandraugcarandraug{ "abstract" : "Object for the calculation of a multiple sequence alignment from a set of unaligned sequences or alignments using the TCoffee program", "author" : [ "Jason Stajich ", "Peter Schattner " ], "dynamic_config" : 0, "generated_by" : "Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010", "license" : [ "perl_5" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", "version" : 2 }, "name" : "Bio-Tools-Run-Alignment-TCoffee", "prereqs" : { "configure" : { "requires" : { "Devel::CheckBin" : "0", "ExtUtils::MakeMaker" : "0" } }, "develop" : { "requires" : { "Pod::Coverage::TrustPod" : "0", "Test::EOL" : "0", "Test::Mojibake" : "0", "Test::More" : "0.88", "Test::NoTabs" : "0", "Test::Pod" : "1.41", "Test::Pod::Coverage" : "1.08" } }, "runtime" : { "requires" : { "Bio::AlignIO" : "0", "Bio::Factory::ApplicationFactoryI" : "0", "Bio::Root::IO" : "0", "Bio::Seq" : "0", "Bio::SeqIO" : "0", "Bio::SimpleAlign" : "0", "Bio::Tools::Run::WrapperBase" : "0", "Cwd" : "0", "strict" : "0", "utf8" : "0", "vars" : "0", "warnings" : "0" } }, "test" : { "requires" : { "File::Spec" : "0", "IO::Handle" : "0", "IPC::Open3" : "0", "Test::Exception" : "0", "Test::More" : "0", "perl" : "5.006" } } }, "release_status" : "stable", "resources" : { "bugtracker" : { "mailto" : "bioperl-l@bioperl.org", "web" : "https://github.com/bioperl/bio-tools-run-alignment-tcoffee/issues" }, "homepage" : "https://metacpan.org/release/Bio-Tools-Run-Alignment-TCoffee", "repository" : { "type" : "git", "url" : "git://github.com/bioperl/bio-tools-run-alignment-tcoffee.git", "web" : "https://github.com/bioperl/bio-tools-run-alignment-tcoffee" } }, "version" : "1.7.4", "x_Dist_Zilla" : { "perl" : { "version" : "5.026002" }, "plugins" : [ { "class" : "Dist::Zilla::Plugin::GatherDir", "config" : { "Dist::Zilla::Plugin::GatherDir" : { "exclude_filename" : [], "exclude_match" : [], "follow_symlinks" : 0, "include_dotfiles" : 0, "prefix" : "", "prune_directory" : [], "root" : "." } }, "name" : "@BioPerl/@Filter/GatherDir", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::PruneCruft", "name" : "@BioPerl/@Filter/PruneCruft", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::ManifestSkip", "name" : "@BioPerl/@Filter/ManifestSkip", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::MetaYAML", "name" : "@BioPerl/@Filter/MetaYAML", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::License", "name" : "@BioPerl/@Filter/License", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::ExtraTests", "name" : "@BioPerl/@Filter/ExtraTests", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::ExecDir", "name" : "@BioPerl/@Filter/ExecDir", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::ShareDir", "name" : "@BioPerl/@Filter/ShareDir", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::MakeMaker", "config" : { "Dist::Zilla::Role::TestRunner" : { "default_jobs" : 1 } }, "name" : "@BioPerl/@Filter/MakeMaker", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Manifest", "name" : "@BioPerl/@Filter/Manifest", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::TestRelease", "name" : "@BioPerl/@Filter/TestRelease", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::ConfirmRelease", "name" : "@BioPerl/@Filter/ConfirmRelease", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::UploadToCPAN", "name" : "@BioPerl/@Filter/UploadToCPAN", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::MetaConfig", "name" : "@BioPerl/MetaConfig", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::MetaJSON", "name" : "@BioPerl/MetaJSON", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::PkgVersion", "name" : "@BioPerl/PkgVersion", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::PodSyntaxTests", "name" : "@BioPerl/PodSyntaxTests", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Test::NoTabs", "config" : { "Dist::Zilla::Plugin::Test::NoTabs" : { "filename" : "xt/author/no-tabs.t", "finder" : [ ":InstallModules", ":ExecFiles", ":TestFiles" ] } }, "name" : "@BioPerl/Test::NoTabs", "version" : "0.15" }, { "class" : "Dist::Zilla::Plugin::Test::Compile", "config" : { "Dist::Zilla::Plugin::Test::Compile" : { "bail_out_on_fail" : 0, "fail_on_warning" : "author", "fake_home" : 0, "filename" : "t/00-compile.t", "module_finder" : [ ":InstallModules" ], "needs_display" : 0, "phase" : "test", "script_finder" : [ ":PerlExecFiles" ], "skips" : [], "switch" : [] } }, "name" : "@BioPerl/Test::Compile", "version" : "2.058" }, { "class" : "Dist::Zilla::Plugin::PodCoverageTests", "name" : "@BioPerl/PodCoverageTests", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::MojibakeTests", "name" : "@BioPerl/MojibakeTests", "version" : "0.8" }, { "class" : "Dist::Zilla::Plugin::AutoPrereqs", "name" : "@BioPerl/AutoPrereqs", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::AutoMetaResources", "name" : "@BioPerl/AutoMetaResources", "version" : "1.21" }, { "class" : "Dist::Zilla::Plugin::MetaResources", "name" : "@BioPerl/MetaResources", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Test::EOL", "config" : { "Dist::Zilla::Plugin::Test::EOL" : { "filename" : "xt/author/eol.t", "finder" : [ ":ExecFiles", ":InstallModules", ":TestFiles" ], "trailing_whitespace" : 1 } }, "name" : "@BioPerl/Test::EOL", "version" : "0.19" }, { "class" : "Dist::Zilla::Plugin::Encoding", "name" : "@BioPerl/Encoding", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::PodWeaver", "config" : { "Dist::Zilla::Plugin::PodWeaver" : { "config_plugins" : [ "@BioPerl" ], "finder" : [ ":InstallModules", ":ExecFiles" ], "plugins" : [ { "class" : "Pod::Weaver::Plugin::EnsurePod5", "name" : "@CorePrep/EnsurePod5", "version" : "4.015" }, { "class" : "Pod::Weaver::Plugin::H1Nester", "name" : "@CorePrep/H1Nester", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Name", "name" : "@BioPerl/Name", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Version", "name" : "@BioPerl/Version", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Region", "name" : "@BioPerl/prelude", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "SYNOPSIS", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "DESCRIPTION", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "OVERVIEW", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "ATTRIBUTES", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "METHODS", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "FUNCTIONS", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "INTERNAL METHODS", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Leftovers", "name" : "@BioPerl/Leftovers", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Region", "name" : "@BioPerl/postlude", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::GenerateSection", "name" : "FEEDBACK", "version" : "1.06" }, { "class" : "Pod::Weaver::Section::GenerateSection", "name" : "Mailing lists", "version" : "1.06" }, { "class" : "Pod::Weaver::Section::GenerateSection", "name" : "Support", "version" : "1.06" }, { "class" : "Pod::Weaver::Section::GenerateSection", "name" : "Reporting bugs", "version" : "1.06" }, { "class" : "Pod::Weaver::Section::Legal::Complicated", "name" : "@BioPerl/Legal", "version" : "1.22" }, { "class" : "Pod::Weaver::Section::Contributors", "name" : "@BioPerl/Contributors", "version" : "0.009" }, { "class" : "Pod::Weaver::Plugin::SingleEncoding", "name" : "SingleEncoding", "version" : "4.015" }, { "class" : "Pod::Weaver::Plugin::Transformer", "name" : "@BioPerl/List", "version" : "4.015" }, { "class" : "Pod::Weaver::Plugin::EnsureUniqueSections", "name" : "EnsureUniqueSections", "version" : "0.163250" } ] } }, "name" : "@BioPerl/PodWeaver", "version" : "4.008" }, { "class" : "Dist::Zilla::Plugin::NextRelease", "name" : "@BioPerl/NextRelease", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Git::Check", "config" : { "Dist::Zilla::Plugin::Git::Check" : { "untracked_files" : "die" }, "Dist::Zilla::Role::Git::DirtyFiles" : { "allow_dirty" : [ "Changes", "dist.ini" ], "allow_dirty_match" : [], "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.18.0", "repo_root" : "." } }, "name" : "@BioPerl/Git::Check", "version" : "2.043" }, { "class" : "Dist::Zilla::Plugin::Git::Commit", "config" : { "Dist::Zilla::Plugin::Git::Commit" : { "add_files_in" : [], "commit_msg" : "v%v%n%n%c" }, "Dist::Zilla::Role::Git::DirtyFiles" : { "allow_dirty" : [ "Changes", "dist.ini" ], "allow_dirty_match" : [], "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.18.0", "repo_root" : "." }, "Dist::Zilla::Role::Git::StringFormatter" : { "time_zone" : "local" } }, "name" : "@BioPerl/Git::Commit", "version" : "2.043" }, { "class" : "Dist::Zilla::Plugin::Git::Tag", "config" : { "Dist::Zilla::Plugin::Git::Tag" : { "branch" : null, "changelog" : "Changes", "signed" : 0, "tag" : "Bio-Tools-Run-Alignment-TCoffee-v1.7.4", "tag_format" : "%N-v%v", "tag_message" : "%N-v%v" }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.18.0", "repo_root" : "." }, "Dist::Zilla::Role::Git::StringFormatter" : { "time_zone" : "local" } }, "name" : "@BioPerl/Git::Tag", "version" : "2.043" }, { "class" : "Dist::Zilla::Plugin::CheckBin", "config" : { "Dist::Zilla::Plugin::CheckBin" : { "command" : [ "t_coffee" ] } }, "name" : "CheckBin", "version" : "0.008" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":InstallModules", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":IncModules", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":TestFiles", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ExtraTestFiles", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ExecFiles", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":PerlExecFiles", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ShareFiles", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":MainModule", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":AllFiles", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":NoFiles", "version" : "6.012" } ], "zilla" : { "class" : "Dist::Zilla::Dist::Builder", "config" : { "is_trial" : 0 }, "version" : "6.012" } }, "x_generated_by_perl" : "v5.26.2", "x_serialization_backend" : "Cpanel::JSON::XS version 4.02" } Bio-Tools-Run-Alignment-TCoffee-1.7.4/META.yml0000644000175000017500000002673513320724733021613 0ustar carandraugcarandraug--- abstract: 'Object for the calculation of a multiple sequence alignment from a set of unaligned sequences or alignments using the TCoffee program' author: - 'Jason Stajich ' - 'Peter Schattner ' build_requires: File::Spec: '0' IO::Handle: '0' IPC::Open3: '0' Test::Exception: '0' Test::More: '0' perl: '5.006' configure_requires: Devel::CheckBin: '0' ExtUtils::MakeMaker: '0' dynamic_config: 0 generated_by: 'Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: '1.4' name: Bio-Tools-Run-Alignment-TCoffee requires: Bio::AlignIO: '0' Bio::Factory::ApplicationFactoryI: '0' Bio::Root::IO: '0' Bio::Seq: '0' Bio::SeqIO: '0' Bio::SimpleAlign: '0' Bio::Tools::Run::WrapperBase: '0' Cwd: '0' strict: '0' utf8: '0' vars: '0' warnings: '0' resources: bugtracker: https://github.com/bioperl/bio-tools-run-alignment-tcoffee/issues homepage: https://metacpan.org/release/Bio-Tools-Run-Alignment-TCoffee repository: git://github.com/bioperl/bio-tools-run-alignment-tcoffee.git version: 1.7.4 x_Dist_Zilla: perl: version: '5.026002' plugins: - class: Dist::Zilla::Plugin::GatherDir config: Dist::Zilla::Plugin::GatherDir: exclude_filename: [] exclude_match: [] follow_symlinks: 0 include_dotfiles: 0 prefix: '' prune_directory: [] root: . name: '@BioPerl/@Filter/GatherDir' version: '6.012' - class: Dist::Zilla::Plugin::PruneCruft name: '@BioPerl/@Filter/PruneCruft' version: '6.012' - class: Dist::Zilla::Plugin::ManifestSkip name: '@BioPerl/@Filter/ManifestSkip' version: '6.012' - class: Dist::Zilla::Plugin::MetaYAML name: '@BioPerl/@Filter/MetaYAML' version: '6.012' - class: Dist::Zilla::Plugin::License name: '@BioPerl/@Filter/License' version: '6.012' - class: Dist::Zilla::Plugin::ExtraTests name: '@BioPerl/@Filter/ExtraTests' version: '6.012' - class: Dist::Zilla::Plugin::ExecDir name: '@BioPerl/@Filter/ExecDir' version: '6.012' - class: Dist::Zilla::Plugin::ShareDir name: '@BioPerl/@Filter/ShareDir' version: '6.012' - class: Dist::Zilla::Plugin::MakeMaker config: Dist::Zilla::Role::TestRunner: default_jobs: 1 name: '@BioPerl/@Filter/MakeMaker' version: '6.012' - class: Dist::Zilla::Plugin::Manifest name: '@BioPerl/@Filter/Manifest' version: '6.012' - class: Dist::Zilla::Plugin::TestRelease name: '@BioPerl/@Filter/TestRelease' version: '6.012' - class: Dist::Zilla::Plugin::ConfirmRelease name: '@BioPerl/@Filter/ConfirmRelease' version: '6.012' - class: Dist::Zilla::Plugin::UploadToCPAN name: '@BioPerl/@Filter/UploadToCPAN' version: '6.012' - class: Dist::Zilla::Plugin::MetaConfig name: '@BioPerl/MetaConfig' version: '6.012' - class: Dist::Zilla::Plugin::MetaJSON name: '@BioPerl/MetaJSON' version: '6.012' - class: Dist::Zilla::Plugin::PkgVersion name: '@BioPerl/PkgVersion' version: '6.012' - class: Dist::Zilla::Plugin::PodSyntaxTests name: '@BioPerl/PodSyntaxTests' version: '6.012' - class: Dist::Zilla::Plugin::Test::NoTabs config: Dist::Zilla::Plugin::Test::NoTabs: filename: xt/author/no-tabs.t finder: - ':InstallModules' - ':ExecFiles' - ':TestFiles' name: '@BioPerl/Test::NoTabs' version: '0.15' - class: Dist::Zilla::Plugin::Test::Compile config: Dist::Zilla::Plugin::Test::Compile: bail_out_on_fail: '0' fail_on_warning: author fake_home: 0 filename: t/00-compile.t module_finder: - ':InstallModules' needs_display: 0 phase: test script_finder: - ':PerlExecFiles' skips: [] switch: [] name: '@BioPerl/Test::Compile' version: '2.058' - class: Dist::Zilla::Plugin::PodCoverageTests name: '@BioPerl/PodCoverageTests' version: '6.012' - class: Dist::Zilla::Plugin::MojibakeTests name: '@BioPerl/MojibakeTests' version: '0.8' - class: Dist::Zilla::Plugin::AutoPrereqs name: '@BioPerl/AutoPrereqs' version: '6.012' - class: Dist::Zilla::Plugin::AutoMetaResources name: '@BioPerl/AutoMetaResources' version: '1.21' - class: Dist::Zilla::Plugin::MetaResources name: '@BioPerl/MetaResources' version: '6.012' - class: Dist::Zilla::Plugin::Test::EOL config: Dist::Zilla::Plugin::Test::EOL: filename: xt/author/eol.t finder: - ':ExecFiles' - ':InstallModules' - ':TestFiles' trailing_whitespace: 1 name: '@BioPerl/Test::EOL' version: '0.19' - class: Dist::Zilla::Plugin::Encoding name: '@BioPerl/Encoding' version: '6.012' - class: Dist::Zilla::Plugin::PodWeaver config: Dist::Zilla::Plugin::PodWeaver: config_plugins: - '@BioPerl' finder: - ':InstallModules' - ':ExecFiles' plugins: - class: Pod::Weaver::Plugin::EnsurePod5 name: '@CorePrep/EnsurePod5' version: '4.015' - class: Pod::Weaver::Plugin::H1Nester name: '@CorePrep/H1Nester' version: '4.015' - class: Pod::Weaver::Section::Name name: '@BioPerl/Name' version: '4.015' - class: Pod::Weaver::Section::Version name: '@BioPerl/Version' version: '4.015' - class: Pod::Weaver::Section::Region name: '@BioPerl/prelude' version: '4.015' - class: Pod::Weaver::Section::Generic name: SYNOPSIS version: '4.015' - class: Pod::Weaver::Section::Generic name: DESCRIPTION version: '4.015' - class: Pod::Weaver::Section::Generic name: OVERVIEW version: '4.015' - class: Pod::Weaver::Section::Collect name: ATTRIBUTES version: '4.015' - class: Pod::Weaver::Section::Collect name: METHODS version: '4.015' - class: Pod::Weaver::Section::Collect name: FUNCTIONS version: '4.015' - class: Pod::Weaver::Section::Collect name: 'INTERNAL METHODS' version: '4.015' - class: Pod::Weaver::Section::Leftovers name: '@BioPerl/Leftovers' version: '4.015' - class: Pod::Weaver::Section::Region name: '@BioPerl/postlude' version: '4.015' - class: Pod::Weaver::Section::GenerateSection name: FEEDBACK version: '1.06' - class: Pod::Weaver::Section::GenerateSection name: 'Mailing lists' version: '1.06' - class: Pod::Weaver::Section::GenerateSection name: Support version: '1.06' - class: Pod::Weaver::Section::GenerateSection name: 'Reporting bugs' version: '1.06' - class: Pod::Weaver::Section::Legal::Complicated name: '@BioPerl/Legal' version: '1.22' - class: Pod::Weaver::Section::Contributors name: '@BioPerl/Contributors' version: '0.009' - class: Pod::Weaver::Plugin::SingleEncoding name: SingleEncoding version: '4.015' - class: Pod::Weaver::Plugin::Transformer name: '@BioPerl/List' version: '4.015' - class: Pod::Weaver::Plugin::EnsureUniqueSections name: EnsureUniqueSections version: '0.163250' name: '@BioPerl/PodWeaver' version: '4.008' - class: Dist::Zilla::Plugin::NextRelease name: '@BioPerl/NextRelease' version: '6.012' - class: Dist::Zilla::Plugin::Git::Check config: Dist::Zilla::Plugin::Git::Check: untracked_files: die Dist::Zilla::Role::Git::DirtyFiles: allow_dirty: - Changes - dist.ini allow_dirty_match: [] changelog: Changes Dist::Zilla::Role::Git::Repo: git_version: 2.18.0 repo_root: . name: '@BioPerl/Git::Check' version: '2.043' - class: Dist::Zilla::Plugin::Git::Commit config: Dist::Zilla::Plugin::Git::Commit: add_files_in: [] commit_msg: v%v%n%n%c Dist::Zilla::Role::Git::DirtyFiles: allow_dirty: - Changes - dist.ini allow_dirty_match: [] changelog: Changes Dist::Zilla::Role::Git::Repo: git_version: 2.18.0 repo_root: . Dist::Zilla::Role::Git::StringFormatter: time_zone: local name: '@BioPerl/Git::Commit' version: '2.043' - class: Dist::Zilla::Plugin::Git::Tag config: Dist::Zilla::Plugin::Git::Tag: branch: ~ changelog: Changes signed: 0 tag: Bio-Tools-Run-Alignment-TCoffee-v1.7.4 tag_format: '%N-v%v' tag_message: '%N-v%v' Dist::Zilla::Role::Git::Repo: git_version: 2.18.0 repo_root: . Dist::Zilla::Role::Git::StringFormatter: time_zone: local name: '@BioPerl/Git::Tag' version: '2.043' - class: Dist::Zilla::Plugin::CheckBin config: Dist::Zilla::Plugin::CheckBin: command: - t_coffee name: CheckBin version: '0.008' - class: Dist::Zilla::Plugin::FinderCode name: ':InstallModules' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':IncModules' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':TestFiles' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':ExtraTestFiles' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':ExecFiles' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':PerlExecFiles' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':ShareFiles' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':MainModule' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':AllFiles' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':NoFiles' version: '6.012' zilla: class: Dist::Zilla::Dist::Builder config: is_trial: '0' version: '6.012' x_generated_by_perl: v5.26.2 x_serialization_backend: 'YAML::Tiny version 1.73' Bio-Tools-Run-Alignment-TCoffee-1.7.4/MANIFEST0000644000175000017500000000061013320724733021453 0ustar carandraugcarandraug# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.012. Changes LICENSE MANIFEST META.json META.yml Makefile.PL dist.ini lib/Bio/Tools/Run/Alignment/TCoffee.pm t/00-compile.t t/TCoffee.t t/author-eol.t t/author-mojibake.t t/author-no-tabs.t t/author-pod-coverage.t t/author-pod-syntax.t t/data/cysprot.fa t/data/cysprot1a.msf t/data/cysprot1b.fa t/data/cysprot1b.msf Bio-Tools-Run-Alignment-TCoffee-1.7.4/lib/0000755000175000017500000000000013320724733021073 5ustar carandraugcarandraugBio-Tools-Run-Alignment-TCoffee-1.7.4/lib/Bio/0000755000175000017500000000000013320724733021604 5ustar carandraugcarandraugBio-Tools-Run-Alignment-TCoffee-1.7.4/lib/Bio/Tools/0000755000175000017500000000000013320724733022704 5ustar carandraugcarandraugBio-Tools-Run-Alignment-TCoffee-1.7.4/lib/Bio/Tools/Run/0000755000175000017500000000000013320724733023450 5ustar carandraugcarandraugBio-Tools-Run-Alignment-TCoffee-1.7.4/lib/Bio/Tools/Run/Alignment/0000755000175000017500000000000013320724733025366 5ustar carandraugcarandraugBio-Tools-Run-Alignment-TCoffee-1.7.4/lib/Bio/Tools/Run/Alignment/TCoffee.pm0000644000175000017500000011472413320724733027250 0ustar carandraugcarandraugpackage Bio::Tools::Run::Alignment::TCoffee; $Bio::Tools::Run::Alignment::TCoffee::VERSION = '1.7.4'; use utf8; use strict; use warnings; use vars qw($AUTOLOAD @ISA $PROGRAM_NAME $PROGRAM_DIR %DEFAULTS @TCOFFEE_PARAMS @TCOFFEE_SWITCHES @OTHER_SWITCHES %OK_FIELD ); use Cwd; use Bio::Seq; use Bio::SeqIO; use Bio::SimpleAlign; use Bio::AlignIO; use Bio::Root::IO; use Bio::Factory::ApplicationFactoryI; use Bio::Tools::Run::WrapperBase; @ISA = qw(Bio::Tools::Run::WrapperBase Bio::Factory::ApplicationFactoryI); # ABSTRACT: Object for the calculation of a multiple sequence alignment from a set of unaligned sequences or alignments using the TCoffee program # AUTHOR: Jason Stajich # AUTHOR: Peter Schattner # OWNER: Jason Stajich # OWNER: Peter Schattner # LICENSE: Perl_5 # You will need to enable TCoffee to find the tcoffee program. This can be done # in (at least) twp ways: # 1. define an environmental variable TCOFFEE: # export TCOFFEEDIR=/home/progs/tcoffee or # 2. include a definition of an environmental variable TCOFFEEDIR # in every script that will # use Bio::Tools::Run::Alignment::TCoffee.pm. # BEGIN {$ENV{TCOFFEEDIR} = '/home/progs/tcoffee'; } BEGIN { $PROGRAM_NAME = 't_coffee'; $PROGRAM_DIR = $ENV{'TCOFFEEDIR'}; %DEFAULTS = ( 'MATRIX' => 'blosum', 'OUTPUT' => 'clustalw', 'AFORMAT'=> 'msf', 'METHODS' => [qw(lalign_id_pair clustalw_pair)] ); @TCOFFEE_PARAMS = qw(IN TYPE PARAMETERS DO_NORMALISE EXTEND DP_MODE KTUPLE NDIAGS DIAG_MODE SIM_MATRIX MATRIX GAPOPEN GAPEXT COSMETIC_PENALTY TG_MODE WEIGHT SEQ_TO_ALIGN NEWTREE USETREE TREE_MODE OUTFILE OUTPUT CASE CPU OUT_LIB OUTORDER SEQNOS RUN_NAME CONVERT ); @TCOFFEE_SWITCHES = qw(QUICKTREE); @OTHER_SWITCHES = qw(QUIET ALIGN KEEPDND); # Authorize attribute fields foreach my $attr ( @TCOFFEE_PARAMS, @TCOFFEE_SWITCHES, @OTHER_SWITCHES ) { $OK_FIELD{$attr}++; } } sub program_name { return $PROGRAM_NAME; } sub program_dir { return $PROGRAM_DIR; } sub new { my ($class,@args) = @_; my $self = $class->SUPER::new(@args); my ($attr, $value); while (@args) { $attr = shift @args; $value = shift @args; next if( $attr =~ /^-/); # don't want named parameters $self->$attr($value); } $self->matrix($DEFAULTS{'MATRIX'}) unless( $self->matrix ); $self->output($DEFAULTS{'OUTPUT'}) unless( $self->output ); $self->methods($DEFAULTS{'METHODS'}) unless $self->methods; # $self->aformat($DEFAULTS{'AFORMAT'}) unless $self->aformat; return $self; } sub AUTOLOAD { my $self = shift; my $attr = $AUTOLOAD; $attr =~ s/.*:://; $attr = uc $attr; # aliasing $attr = 'OUTFILE' if $attr eq 'OUTFILE_NAME'; $self->throw("Unallowed parameter: $attr !") unless $OK_FIELD{$attr}; $self->{$attr} = shift if @_; return $self->{$attr}; } sub error_string{ my ($self,$value) = @_; if( defined $value) { $self->{'error_string'} = $value; } return $self->{'error_string'}; } sub version { my ($self) = @_; my $exe; return undef unless $exe = $self->executable; my $string = `$exe -quiet=stdout 2>&1` ; $string =~ /Version_([\d.]+)/; return $1 || undef; } sub _major_minor_version { my ($self) = @_; my $version = $self->version; $version =~ s/(\d+\.\d+)[\D].*$/$1/; return $version; } sub run{ my ($self,@args) = @_; my ($type,$seq,$profile) = $self->_rearrange([qw(TYPE SEQ PROFILE)], @args); if( $type =~ /align/i ) { return $self->align($seq); } elsif( $type =~ /profile/i ) { return $self->profile_align($profile,$seq); } else { $self->warn("unrecognized alignment type $type\n"); } return undef; } sub align { my ($self,$input) = @_; # Create input file pointer $self->io->_io_cleanup(); my ($infilename,$type) = $self->_setinput($input); if (!$infilename) { $self->throw("Bad input data or less than 2 sequences in $input !"); } my $param_string = $self->_setparams(); # run tcoffee return $self->_run('align', [$infilename,$type], $param_string); } ################################################# sub profile_align { my $self = shift; my $input1 = shift; my $input2 = shift; my ($temp,$infilename1,$infilename2,$type1,$type2,$input,$seq); $self->io->_io_cleanup(); # Create input file pointers ($infilename1,$type1) = $self->_setinput($input1); ($infilename2,$type2) = $self->_setinput($input2); unless ($type1) { $self->throw("Unknown type for first argument"); } unless ($type2) { $self->throw("Unknown type for second argument") } if (!$infilename1 || !$infilename2) { $self->throw("Bad input data: $input1 or $input2 !"); } my $param_string = $self->_setparams(); # run tcoffee my $aln = $self->_run('profile-aln', [$infilename1,$type1], [$infilename2,$type2], $param_string) ; } ################################################# sub _run { my ($infilename, $infile1,$infile2) = ('','',''); my $self = shift; my $command = shift; my $instring; if ($command =~ /align/) { my $infile = shift ; my $type; ($infilename,$type) = @$infile; $instring = '-in='.join(',',($infilename, 'X'.$self->matrix, $self->methods)); } if ($command =~ /profile/) { my $in1 = shift ; my $in2 = shift ; my ($type1,$type2); ($infile1,$type1) = @$in1; ($infile2,$type2) = @$in2; # in later versions (tested on 5.72 and 7.54) the API for profile # alignment changed. This attempts to do the right thing for older # versions but corrects for newer ones if ($self->_major_minor_version && $self->_major_minor_version < 5) { # this breaks severely on newer TCoffee (>= v5) unless (($self->matrix =~ /none/i) || ($self->matrix =~ /null/i) ) { $instring = '-in='.join(',', ($type2.$infile2), 'X'.$self->matrix, (map {'M'.$_} $self->methods) ); $instring .= ' -profile='.$infile1; } else { $instring = '-in='.join(',',( $type1.$infile1, $type2.$infile2, (map {'M'.$_} $self->methods) ) ); } } else { if ($type2 eq 'S') { # second infile is a sequence, not an alignment $instring .= ' -profile='.join(',',$infile1); $instring .= ' -seq='.join(',',$infile2); } else { $instring .= ' -profile='.join(',',$infile1,$infile2); } $instring .= ' -matrix='.$self->matrix unless (($self->matrix =~ /none/i) || ($self->matrix =~ /null/i)) ; $instring .= ' -method='.join(',',$self->methods) if ($self->methods) ; } } my $param_string = shift; # my ($paramfh,$parameterFile) = $self->io->tempfile; # print $paramfh ( "$instring\n-output=gcg$param_string") ; # close($paramfh); # my $commandstring = "t_coffee -output=gcg -parameters $parameterFile" ; ##MJL my $commandstring = $self->executable." $instring $param_string"; #$self->debug( "tcoffee command = $commandstring \n"); my $status = system($commandstring); my $outfile = $self->outfile(); if( !-e $outfile || -z $outfile ) { $self->warn( "TCoffee call crashed: $? [command $commandstring]\n"); return undef; } # retrieve alignment (Note: MSF format for AlignIO = GCG format of # tcoffee) my $in = Bio::AlignIO->new('-file' => $outfile, '-format' => $self->output); my $aln = $in->next_aln(); # Replace file suffix with dnd to find name of dendrogram file(s) to delete if( ! $self->keepdnd ) { foreach my $f ( $infilename, $infile1, $infile2 ) { next if( !defined $f || $f eq ''); $f =~ s/\.[^\.]*$// ; # because TCoffee writes these files to the CWD if( $Bio::Root::IO::PATHSEP ) { my @line = split(/$Bio::Root::IO::PATHSEP/, $f); $f = pop @line; } else { (undef, undef, $f) = File::Spec->splitpath($f); } unlink $f .'.dnd' if( $f ne '' ); } } return $aln; } sub _setinput { my ($self,$input) = @_; my ($infilename, $seq, $temp, $tfh); # If $input is not a reference it better be the name of a # file with the sequence/ alignment data... my $type = ''; if (! ref $input) { # check that file exists or throw $infilename = $input; unless (-e $input) {return 0;} # let's peek and guess open(my $IN,$infilename) || $self->throw("Cannot open $infilename"); my $header = <$IN>; if( $header =~ /^\s+\d+\s+\d+/ || $header =~ /Pileup/i || $header =~ /clustal/i ) { # phylip $type = 'A'; } # On some systems, having filenames with / in them (ie. a file in a # directory) causes t-coffee to completely fail. It warns on all systems. # The -no_warning option solves this, but there is still some strange # bug when doing certain profile-related things. This is magically solved # by copying the profile file to a temp file in the current directory, so # it its filename supplied to t-coffee contains no / # (It's messy here - I just do this to /all/ input files to most easily # catch all variants of providing a profile - it may only be the last # form (isa("Bio::PrimarySeqI")) that causes a problem?) my (undef, undef, $adjustedfilename) = File::Spec->splitpath($infilename); if ($adjustedfilename ne $infilename) { my ($fh, $tempfile) = $self->io->tempfile(-dir => cwd()); seek($IN, 0, 0); while (<$IN>) { print $fh $_; } close($fh); (undef, undef, $tempfile) = File::Spec->splitpath($tempfile); $infilename = $tempfile; $type = 'S'; } close($IN); return ($infilename,$type); } elsif (ref($input) =~ /ARRAY/i ) { # $input may be an array of BioSeq objects... # Open temporary file for both reading & writing of array ($tfh,$infilename) = $self->io->tempfile(-dir => cwd()); (undef, undef, $infilename) = File::Spec->splitpath($infilename); if( ! ref($input->[0]) ) { $self->warn("passed an array ref which did not contain objects to _setinput"); return undef; } elsif( $input->[0]->isa('Bio::PrimarySeqI') ) { $temp = Bio::SeqIO->new('-fh' => $tfh, '-format' => 'fasta'); my $ct = 1; foreach $seq (@$input) { return 0 unless ( ref($seq) && $seq->isa("Bio::PrimarySeqI") ); if( ! defined $seq->display_id || $seq->display_id =~ /^\s+$/) { $seq->display_id( "Seq".$ct++); } $temp->write_seq($seq); } $temp->close(); undef $temp; close($tfh); $tfh = undef; $type = 'S'; } elsif( $input->[0]->isa('Bio::Align::AlignI' ) ) { $temp = Bio::AlignIO->new('-fh' => $tfh, '-format' => $self->aformat); foreach my $aln (@$input) { next unless ( ref($aln) && $aln->isa("Bio::Align::AlignI") ); $temp->write_aln($aln); } $temp->close(); undef $temp; close($tfh); $tfh = undef; $type = 'A'; } else { $self->warn( "got an array ref with 1st entry ". $input->[0]. " and don't know what to do with it\n"); } return ($infilename,$type); # $input may be a SimpleAlign object. } elsif ( $input->isa("Bio::Align::AlignI") ) { # Open temporary file for both reading & writing of SimpleAlign object ($tfh, $infilename) = $self->io->tempfile(-dir => cwd()); (undef, undef, $infilename) = File::Spec->splitpath($infilename); $temp = Bio::AlignIO->new(-fh=>$tfh, '-format' => 'clustalw'); $temp->write_aln($input); close($tfh); undef $tfh; return ($infilename,'A'); } # or $input may be a single BioSeq object (to be added to # a previous alignment) elsif ( $input->isa("Bio::PrimarySeqI")) { # Open temporary file for both reading & writing of BioSeq object ($tfh,$infilename) = $self->io->tempfile(-dir => cwd()); (undef, undef, $infilename) = File::Spec->splitpath($infilename); $temp = Bio::SeqIO->new(-fh=> $tfh, '-format' =>'Fasta'); $temp->write_seq($input); $temp->close(); close($tfh); undef $tfh; return ($infilename,'S'); } else { $self->warn("Got $input and don't know what to do with it\n"); } return 0; } sub _setparams { my ($self) = @_; my ($attr, $value,$param_string); $param_string = ''; my $laststr; for $attr ( @TCOFFEE_PARAMS ) { $value = $self->$attr(); next unless (defined $value); my $attr_key = lc $attr; if( $attr_key =~ /matrix/ ) { $self->{'_in'} = [ "X".lc($value) ]; } else { $attr_key = ' -'.$attr_key; $param_string .= $attr_key .'='.$value; } } for $attr ( @TCOFFEE_SWITCHES) { $value = $self->$attr(); next unless ($value); my $attr_key = lc $attr; #put switches in format expected by tcoffee $attr_key = ' -'.$attr_key; $param_string .= $attr_key ; } # Set default output file if no explicit output file selected unless ($self->outfile ) { my ($tfh, $outfile) = $self->io->tempfile(-dir=>$self->tempdir()); close($tfh); undef $tfh; $self->outfile($outfile); $param_string .= " -outfile=$outfile" ; } if ($self->quiet() || $self->verbose < 0) { $param_string .= ' -quiet';} # -no_warning is required on some systems with certain versions or failure # is guaranteed if ($self->_major_minor_version >= 4 && $self->_major_minor_version < 4.7) { $param_string .= ' -no_warning'; } return $param_string; } sub aformat{ my $self = shift; $self->{'_aformat'} = shift if @_; return $self->{'_aformat'}; } sub methods{ my ($self) = shift; @{$self->{'_methods'}} = @{shift || []} if @_; return @{$self->{'_methods'} || []}; } 1; __END__ =pod =encoding UTF-8 =head1 NAME Bio::Tools::Run::Alignment::TCoffee - Object for the calculation of a multiple sequence alignment from a set of unaligned sequences or alignments using the TCoffee program =head1 VERSION version 1.7.4 =head1 SYNOPSIS # Build a tcoffee alignment factory @params = ('ktuple' => 2, 'matrix' => 'BLOSUM'); $factory = Bio::Tools::Run::Alignment::TCoffee->new(@params); # Pass the factory a list of sequences to be aligned. $inputfilename = 't/cysprot.fa'; # $aln is a SimpleAlign object. $aln = $factory->align($inputfilename); # or where @seq_array is an array of Bio::Seq objects $seq_array_ref = \@seq_array; $aln = $factory->align($seq_array_ref); # Or one can pass the factory a pair of (sub)alignments #to be aligned against each other, e.g.: # where $aln1 and $aln2 are Bio::SimpleAlign objects. $aln = $factory->profile_align($aln1,$aln2); # Or one can pass the factory an alignment and one or more # unaligned sequences to be added to the alignment. For example: # $seq is a Bio::Seq object. $aln = $factory->profile_align($aln1,$seq); #There are various additional options and input formats available. #See the DESCRIPTION section that follows for additional details. =head1 DESCRIPTION Note: this DESCRIPTION only documents the (Bio)perl interface to TCoffee. =head2 Helping the module find your executable You will need to enable TCoffee to find the t_coffee program. This can be done in (at least) three ways: 1. Make sure the t_coffee executable is in your path so that which t_coffee returns a t_coffee executable on your system. 2. Define an environmental variable TCOFFEEDIR which is a dir which contains the 't_coffee' app: In bash export TCOFFEEDIR=/home/username/progs/T-COFFEE_distribution_Version_1.37/bin In csh/tcsh setenv TCOFFEEDIR /home/username/progs/T-COFFEE_distribution_Version_1.37/bin 3. Include a definition of an environmental variable TCOFFEEDIR in every script that will use this TCoffee wrapper module. BEGIN { $ENV{TCOFFEDIR} = '/home/username/progs/T-COFFEE_distribution_Version_1.37/bin' } use Bio::Tools::Run::Alignment::TCoffee; If you are running an application on a webserver make sure the webserver environment has the proper PATH set or use the options 2 or 3 to set the variables. =head1 INTERNAL METHODS =head2 _numeric_version Version "numbers" are not numeric values. In the case of T-Coffee, they have an hash component at their end. This was not the case in older releases. We use the first two numeric parts to do different things though. See also issue #1. =head2 _run Title : _run Usage : Internal function, not to be called directly Function: makes actual system call to tcoffee program Example : Returns : nothing; tcoffee output is written to a temporary file OR specified output file Args : Name of a file containing a set of unaligned fasta sequences and hash of parameters to be passed to tcoffee =head2 _setinput Title : _setinput Usage : Internal function, not to be called directly Function: Create input file for tcoffee program Example : Returns : name of file containing tcoffee data input AND type of file (if known, S for sequence, L for sequence library, A for sequence alignment) Args : Seq or Align object reference or input file name =head2 _setparams Title : _setparams Usage : Internal function, not to be called directly Function: Create parameter inputs for tcoffee program Example : Returns : parameter string to be passed to tcoffee during align or profile_align Args : name of calling object =head1 PARAMETERS FOR ALIGNMENT COMPUTATION There are a number of possible parameters one can pass in TCoffee. One should really read the online manual for the best explanation of all the features. See http://igs-server.cnrs-mrs.fr/~cnotred/Documentation/t_coffee/t_coffee_doc.html These can be specified as parameters when instantiating a new TCoffee object, or through get/set methods of the same name (lowercase). =head2 IN Title : IN Description : (optional) input filename, this is specified when align so should not use this directly unless one understand TCoffee program very well. =head2 TYPE Title : TYPE Args : [string] DNA, PROTEIN Description : (optional) set the sequence type, guessed automatically so should not use this directly =head2 PARAMETERS Title : PARAMETERS Description : (optional) Indicates a file containing extra parameters =head2 EXTEND Title : EXTEND Args : 0, 1, or positive value Default : 1 Description : Flag indicating that library extension should be carried out when performing multiple alignments, if set to 0 then extension is not made, if set to 1 extension is made on all pairs in the library. If extension is set to another positive value, the extension is only carried out on pairs having a weigth value superior to the specified limit. =head2 DP_NORMALISE Title : DP_NORMALISE Args : 0 or positive value Default : 1000 Description : When using a value different from 0, this flag sets the score of the highest scoring pair to 1000. =head2 DP_MODE Title : DP_MODE Args : [string] gotoh_pair_wise, myers_miller_pair_wise, fasta_pair_wise cfasta_pair_wise Default : cfast_fair_wise Description : Indicates the type of dynamic programming used by the program gotoh_pair_wise : implementation of the gotoh algorithm (quadratic in memory and time) myers_miller_pair_wise : implementation of the Myers and Miller dynamic programming algorithm ( quadratic in time and linear in space). This algorithm is recommended for very long sequences. It is about 2 time slower than gotoh. It only accepts tg_mode=1. fasta_pair_wise: implementation of the fasta algorithm. The sequence is hashed, looking for ktuples words. Dynamic programming is only carried out on the ndiag best scoring diagonals. This is much faster but less accurate than the two previous. cfasta_pair_wise : c stands for checked. It is the same algorithm. The dynamic programming is made on the ndiag best diagonals, and then on the 2*ndiags, and so on until the scores converge. Complexity will depend on the level of divergence of the sequences, but will usually be L*log(L), with an accuracy comparable to the two first mode ( this was checked on BaliBase). =head2 KTUPLE Title : KTUPLE Args : numeric value Default : 1 or 2 (1 for protein, 2 for DNA ) Description : Indicates the ktuple size for cfasta_pair_wise dp_mode and fasta_pair_wise. It is set to 1 for proteins, and 2 for DNA. The alphabet used for protein is not the 20 letter code, but a mildly degenerated version, where some residues are grouped under one letter, based on physicochemical properties: rk, de, qh, vilm, fy (the other residues are not degenerated). =head2 NDIAGS Title : NDIAGS Args : numeric value Default : 0 Description : Indicates the number of diagonals used by the fasta_pair_wise algorithm. When set to 0, n_diag=Log (length of the smallest sequence) =head2 DIAG_MODE Title : DIAG_MODE Args : numeric value Default : 0 Description : Indicates the manner in which diagonals are scored during the fasta hashing. 0 indicates that the score of a diagonal is equal to the sum of the scores of the exact matches it contains. 1 indicates that this score is set equal to the score of the best uninterrupted segment 1 can be useful when dealing with fragments of sequences. =head2 SIM_MATRIX Title : SIM_MATRIX Args : string Default : vasiliky Description : Indicates the manner in which the amino acid is being degenerated when hashing. All the substitution matrix are acceptable. Categories will be defined as sub-group of residues all having a positive substitution score (they can overlap). If you wish to keep the non degenerated amino acid alphabet, use 'idmat' =head2 MATRIX Title : MATRIX Args : Default : Description : This flag is provided for compatibility with ClustalW. Setting matrix = 'blosum' is equivalent to -in=Xblosum62mt , -matrix=pam is equivalent to in=Xpam250mt . Apart from this, the rules are similar to those applying when declaring a matrix with the -in=X fl =head2 GAPOPEN Title : GAPOPEN Args : numeric Default : 0 Description : Indicates the penalty applied for opening a gap. The penalty must be negative. If you provide a positive value, it will automatically be turned into a negative number. We recommend a value of 10 with pam matrices, and a value of 0 when a library is used. =head2 GAPEXT Title : GAPEXT Args : numeric Default : 0 Description : Indicates the penalty applied for extending a gap. =head2 COSMETIC_PENALTY Title : COSMETIC_PENALTY Args : numeric Default : 100 Description : Indicates the penalty applied for opening a gap. This penalty is set to a very low value. It will only have an influence on the portions of the alignment that are unalignable. It will not make them more correct, but only more pleasing to the eye ( i.e. Avoid stretches of lonely residues). The cosmetic penalty is automatically turned off if a substitution matrix is used rather than a library. =head2 TG_MODE Title : TG_MODE Args : 0,1,2 Default : 1 Description : (Terminal Gaps) 0: indicates that terminal gaps must be panelized with a gapopen and a gapext penalty. 1: indicates that terminal gaps must be penalized only with a gapext penalty 2: indicates that terminal gaps must not be penalized. =head2 WEIGHT Title : WEIGHT Args : sim or sim_ or integer value Default : sim Description : Weight defines the way alignments are weighted when turned into a library. sim indicates that the weight equals the average identity within the match residues. sim_matrix_name indicates the average identity with two residues regarded as identical when their substitution value is positive. The valid matrices names are in matrices.h (pam250mt) . Matrices not found in this header are considered to be filenames. See the format section for matrices. For instance, -weight=sim_pam250mt indicates that the grouping used for similarity will be the set of classes with positive substitutions. Other groups include sim_clustalw_col ( categories of clustalw marked with :) sim_clustalw_dot ( categories of clustalw marked with .) Value indicates that all the pairs found in the alignments must be given the same weight equal to value. This is useful when the alignment one wishes to turn into a library must be given a pre-specified score (for instance if they come from a structure super-imposition program). Value is an integer: -weight=1000 Note : Weight only affects methods that return an alignment to T-Coffee, such as ClustalW. On the contrary, the version of Lalign we use here returns a library where weights have already been applied and are therefore insensitive to the -weight flag. =head2 SEQ_TO_ALIGN Title : SEQ_TO_ALIGN Args : filename Default : no file - align all the sequences Description : You may not wish to align all the sequences brought in by the -in flag. Supplying the seq_to_align flag allows for this, the file is simply a list of names in Fasta format. However, note that library extension will be carried out on all the sequences. =head1 PARAMETERS FOR TREE COMPUTATION AND OUTPUT =head2 NEWTREE Title : NEWTREE Args : treefile Default : no file Description : Indicates the name of the new tree to compute. The default will be .dnd, or . Format is Phylip/Newick tree format =head2 USETREE Title : USETREE Args : treefile Default : no file specified Description : This flag indicates that rather than computing a new dendrogram, t_coffee can use a pre-computed one. The tree files are in phylips format and compatible with ClustalW. In most cases, using a pre-computed tree will halve the computation time required by t_coffee. It is also possible to use trees output by ClustalW or Phylips. Format is Phylips tree format =head2 TREE_MODE Title : TREE_MODE Args : slow, fast, very_fast Default : very_fast Description : This flag indicates the method used for computing the dendrogram. slow : the chosen dp_mode using the extended library, fast : The fasta dp_mode using the extended library. very_fast: The fasta dp_mode using pam250mt. =head2 QUICKTREE Title : QUICKTREE Args : Default : Description : This flag is kept for compatibility with ClustalW. It indicates that: -tree_mode=very_fast =head1 PARAMETERS FOR ALIGNMENT OUTPUT =head2 OUTFILE Title : OUTFILE Args : out_aln file, default, no Default : default ( yourseqfile.aln) Description : indicates name of output alignment file =head2 OUTPUT Title : OUTPUT Args : format1, format2 Default : clustalw Description : Indicated format for outputting outputfile Supported formats are: clustalw_aln, clustalw: ClustalW format. gcg, msf_aln : Msf alignment. pir_aln : pir alignment. fasta_aln : fasta alignment. phylip : Phylip format. pir_seq : pir sequences (no gap). fasta_seq : fasta sequences (no gap). As well as: score_html : causes the output to be a reliability plot in HTML score_pdf : idem in PDF. score_ps : idem in postscript. More than one format can be indicated: -output=clustalw,gcg, score_html =head2 CASE Title : CASE Args : upper, lower Default : upper Description : triggers choice of the case for output =head2 CPU Title : CPU Args : value Default : 0 Description : Indicates the cpu time (micro seconds) that must be added to the t_coffee computation time. =head2 OUT_LIB Title : OUT_LIB Args : name of library, default, no Default : default Description : Sets the name of the library output. Default implies .tc_lib =head2 OUTORDER Title : OUTORDER Args : input or aligned Default : input Description : Sets the name of the library output. Default implies .tc_lib =head2 SEQNOS Title : SEQNOS Args : on or off Default : off Description : Causes the output alignment to contain residue numbers at the end of each line: =head1 PARAMETERS FOR GENERIC OUTPUT =head2 RUN_NAME Title : RUN_NAME Args : your run name Default : Description : This flag causes the prefix to be replaced by when renaming the default files. =head2 ALIGN Title : ALIGN Args : Default : Description : Indicates that the program must produce the alignment. This flag is here for compatibility with ClustalW =head2 QUIET Title : QUIET Args : stderr, stdout, or filename, or nothing Default : stderr Description : Redirects the standard output to either a file. -quiet on its own redirect the output to /dev/null. =head2 CONVERT Title : CONVERT Args : Default : Description : Indicates that the program must not compute the alignment but simply convert all the sequences, alignments and libraries into the format indicated with -output. This flag can also be used if you simply want to compute a library ( i.e. You have an alignment and you want to turn it into a library). =head2 program_name Title : program_name Usage : $factory->program_name() Function: holds the program name Returns: string Args : None =head2 program_dir Title : program_dir Usage : $factory->program_dir(@params) Function: returns the program directory, obtained from ENV variable. Returns: string Args : =head2 error_string Title : error_string Usage : $obj->error_string($newval) Function: Where the output from the last analysus run is stored. Returns : value of error_string Args : newvalue (optional) =head2 version Title : version Usage : $prog->version() Function: Determine the version number of the program Example : Returns : string Args : none =head2 run Title : run Usage : my $output = $application->run(-seq => $seq, -profile => $profile, -type => 'profile-aln'); Function: Generic run of an application Returns : Bio::SimpleAlign object Args : key-value parameters allowed for TCoffee runs AND -type => profile-aln or alignment for profile alignments or just multiple sequence alignment -seq => either Bio::PrimarySeqI object OR array ref of Bio::PrimarySeqI objects OR filename of sequences to run with -profile => profile to align to, if this is an array ref will specify the first two entries as the two profiles to align to each other =head2 align Title : align Usage : $inputfilename = 't/data/cysprot.fa'; $aln = $factory->align($inputfilename); or $seq_array_ref = \@seq_array; # @seq_array is array of Seq objs $aln = $factory->align($seq_array_ref); Function: Perform a multiple sequence alignment Returns : Reference to a SimpleAlign object containing the sequence alignment. Args : Name of a file containing a set of unaligned fasta sequences or else an array of references to Bio::Seq objects. Throws an exception if argument is not either a string (eg a filename) or a reference to an array of Bio::Seq objects. If argument is string, throws exception if file corresponding to string name can not be found. If argument is Bio::Seq array, throws exception if less than two sequence objects are in array. =head2 profile_align Title : profile_align Usage : Function: Perform an alignment of 2 (sub)alignments Example : Returns : Reference to a SimpleAlign object containing the (super)alignment. Args : Names of 2 files containing the subalignments or references to 2 Bio::SimpleAlign objects. Note : Needs to be updated to run with newer TCoffee code, which allows more than two profile alignments. Throws an exception if arguments are not either strings (eg filenames) or references to SimpleAlign objects. =head2 aformat Title : aformat Usage : my $alignmentformat = $self->aformat(); Function: Get/Set alignment format Returns : string Args : string =head2 methods Title : methods Usage : my @methods = $self->methods() Function: Get/Set Alignment methods - NOT VALIDATED Returns : array of strings Args : arrayref of strings =head1 Bio::Tools::Run::BaseWrapper methods =head2 no_param_checks Title : no_param_checks Usage : $obj->no_param_checks($newval) Function: Boolean flag as to whether or not we should trust the sanity checks for parameter values Returns : value of no_param_checks Args : newvalue (optional) =head2 save_tempfiles Title : save_tempfiles Usage : $obj->save_tempfiles($newval) Function: Returns : value of save_tempfiles Args : newvalue (optional) =head2 outfile_name Title : outfile_name Usage : my $outfile = $tcoffee->outfile_name(); Function: Get/Set the name of the output file for this run (if you wanted to do something special) Returns : string Args : [optional] string to set value to =head2 tempdir Title : tempdir Usage : my $tmpdir = $self->tempdir(); Function: Retrieve a temporary directory name (which is created) Returns : string which is the name of the temporary directory Args : none =head2 cleanup Title : cleanup Usage : $tcoffee->cleanup(); Function: Will cleanup the tempdir directory Returns : none Args : none =head2 io Title : io Usage : $obj->io($newval) Function: Gets a L object Returns : L Args : none =head1 FEEDBACK =head2 Mailing lists User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to the Bioperl mailing list. Your participation is much appreciated. bioperl-l@bioperl.org - General discussion http://bioperl.org/Support.html - About the mailing lists =head2 Support Please direct usage questions or support issues to the mailing list: I rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible. =head2 Reporting bugs Report bugs to the Bioperl bug tracking system to help us keep track of the bugs and their resolution. Bug reports can be submitted via the web: https://github.com/bioperl/bio-tools-run-alignment-tcoffee/issues =head1 AUTHORS Jason Stajich Peter Schattner =head1 COPYRIGHT This software is copyright (c) by Jason Stajich , and by Peter Schattner . This software is available under the same terms as the perl 5 programming language system itself. =cut Bio-Tools-Run-Alignment-TCoffee-1.7.4/Makefile.PL0000644000175000017500000000401713320724733022301 0ustar carandraugcarandraug# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.012. use strict; use warnings; # inserted by Dist::Zilla::Plugin::CheckBin 0.008 use Devel::CheckBin; check_bin('t_coffee'); use 5.006; use ExtUtils::MakeMaker; my %WriteMakefileArgs = ( "ABSTRACT" => "Object for the calculation of a multiple sequence alignment from a set of unaligned sequences or alignments using the TCoffee program", "AUTHOR" => "Jason Stajich , Peter Schattner ", "CONFIGURE_REQUIRES" => { "Devel::CheckBin" => 0, "ExtUtils::MakeMaker" => 0 }, "DISTNAME" => "Bio-Tools-Run-Alignment-TCoffee", "LICENSE" => "perl", "MIN_PERL_VERSION" => "5.006", "NAME" => "Bio::Tools::Run::Alignment::TCoffee", "PREREQ_PM" => { "Bio::AlignIO" => 0, "Bio::Factory::ApplicationFactoryI" => 0, "Bio::Root::IO" => 0, "Bio::Seq" => 0, "Bio::SeqIO" => 0, "Bio::SimpleAlign" => 0, "Bio::Tools::Run::WrapperBase" => 0, "Cwd" => 0, "strict" => 0, "utf8" => 0, "vars" => 0, "warnings" => 0 }, "TEST_REQUIRES" => { "File::Spec" => 0, "IO::Handle" => 0, "IPC::Open3" => 0, "Test::Exception" => 0, "Test::More" => 0 }, "VERSION" => "1.7.4", "test" => { "TESTS" => "t/*.t" } ); my %FallbackPrereqs = ( "Bio::AlignIO" => 0, "Bio::Factory::ApplicationFactoryI" => 0, "Bio::Root::IO" => 0, "Bio::Seq" => 0, "Bio::SeqIO" => 0, "Bio::SimpleAlign" => 0, "Bio::Tools::Run::WrapperBase" => 0, "Cwd" => 0, "File::Spec" => 0, "IO::Handle" => 0, "IPC::Open3" => 0, "Test::Exception" => 0, "Test::More" => 0, "strict" => 0, "utf8" => 0, "vars" => 0, "warnings" => 0 ); unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) { delete $WriteMakefileArgs{TEST_REQUIRES}; delete $WriteMakefileArgs{BUILD_REQUIRES}; $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs; } delete $WriteMakefileArgs{CONFIGURE_REQUIRES} unless eval { ExtUtils::MakeMaker->VERSION(6.52) }; WriteMakefile(%WriteMakefileArgs);