5 test_begin(-tests => 88,
6 -requires_modules => [qw(IPC::Run Bio::Tools::Run::TigrAssembler)]);
11 ok($assembler = Bio::Tools::Run::TigrAssembler->new());
12 isa_ok($assembler, 'Bio::Tools::Run::TigrAssembler');
14 ok($assembler->program_name('aaa'));
15 is($assembler->program_name, 'aaa');
17 ok($assembler->program_dir('/dir'));
18 is($assembler->program_dir, '/dir');
20 my @params = @Bio::Tools::Run::TigrAssembler::program_params;
21 for my $param (@params) {
22 ok($assembler->$param(321));
23 is($assembler->$param(), 321);
26 my @switches = @Bio::Tools::Run::TigrAssembler::program_switches;
27 for my $switch (@switches) {
28 ok($assembler->$switch(1));
29 is($assembler->$switch(), 1);
32 # Test the TIGR Assembler program itself
33 my $program_name = $Bio::Tools::Run::TigrAssembler::program_name;
34 ok($assembler->program_name($program_name));
36 test_skip(-requires_executable => $assembler,
40 my $result_file = 'results.tigr';
41 my $fasta_file = test_input_file('sample_dataset_1.fa');
42 my $qual_file = test_input_file('sample_dataset_1.qual');
43 my $io = Bio::SeqIO->new( -file => $fasta_file, -format => 'fasta' );
45 while (my $seq = $io->next_seq) {
48 $io = Bio::SeqIO->new( -file => $qual_file, -format => 'qual' );
50 while (my $qual = $io->next_seq) {
51 push @qual_arr, $qual;
55 ok($assembler = Bio::Tools::Run::TigrAssembler->new());
57 # Try FASTA or sequence object input
58 ok($asm = $assembler->run($fasta_file));
59 isa_ok($asm, 'Bio::Assembly::ScaffoldI');
60 is($asm->get_nof_singlets, 0);
61 is($asm->get_nof_contigs, 3);
63 ok($asm = $assembler->run(\@seq_arr));
64 isa_ok($asm, 'Bio::Assembly::ScaffoldI');
65 is($asm->get_nof_singlets, 0);
66 is($asm->get_nof_contigs, 3);
68 # Try optional quality score input as a QUAL file or bioperl objects
69 ok($asm = $assembler->run($fasta_file, $qual_file));
70 isa_ok($asm, 'Bio::Assembly::ScaffoldI');
71 is($asm->get_nof_singlets, 0);
72 is($asm->get_nof_contigs, 3);
74 ok($asm = $assembler->run(\@seq_arr, \@qual_arr));
75 isa_ok($asm, 'Bio::Assembly::ScaffoldI');
76 is($asm->get_nof_singlets, 0);
77 is($asm->get_nof_contigs, 3);
79 # Try the different output types
80 ok($assembler->out_type($result_file));
81 ok($asm = $assembler->run(\@seq_arr));
82 ok($asm eq $result_file);
86 ok($assembler->out_type('Bio::Assembly::IO'));
87 ok($asm = $assembler->run(\@seq_arr));
88 isa_ok($asm, 'Bio::Assembly::IO');
89 ok($asm->next_assembly);
91 ok($assembler->out_type('Bio::Assembly::ScaffoldI'));
92 ok($asm = $assembler->run(\@seq_arr));
93 isa_ok($asm, 'Bio::Assembly::ScaffoldI');
94 is($asm->get_nof_singlets, 0);
95 is($asm->get_nof_contigs, 3);
97 # Try some TIGR_assembler specific parameters
98 ok($assembler->include_singlets(1));
99 ok($asm = $assembler->run(\@seq_arr));
100 is($asm->get_nof_singlets, 191);
101 is($asm->get_nof_contigs, 3);
103 ok($assembler->minimum_length(1000));
104 ok($asm = $assembler->run(\@seq_arr));
105 is($asm->get_nof_singlets, 198);
106 is($asm->get_nof_contigs, 0);
108 ok($assembler->minimum_length(1));
109 ok($assembler->minimum_percent(100));
110 ok($asm = $assembler->run(\@seq_arr));
111 is($asm->get_nof_singlets, 198);
112 is($asm->get_nof_contigs, 0);
115 ok($assembler->minimum_overlap_similarity(100));
116 ok($assembler->minimum_overlap_length(20));
119 # Test the LIGR Assembler program itself
120 ok($assembler = Bio::Tools::Run::TigrAssembler->new( -program_name => 'LIGR_Assembler' ));
122 test_skip(-requires_executable => $assembler,
125 my $fasta_file = test_input_file('sample_dataset_1.fa');
126 my $result_file = 'results.tigr';
128 ok($assembler->out_type($result_file));
129 ok($assembler->incl_bad_seq(1));
130 ok($assembler->trimmed_seq(1));
131 ok($asm = $assembler->run($fasta_file));
132 ok($asm eq $result_file);