21
22
unlink(Bio::Root::IO->catfile("t","data","testout2.pfam"),
22
Bio::Root::IO->catfile("t","data","testout.selex"),
23
Bio::Root::IO->catfile("t","data","testout.pfam"),
24
Bio::Root::IO->catfile("t","data","testout.msf"),
25
Bio::Root::IO->catfile("t","data","testout.fasta"),
26
Bio::Root::IO->catfile("t","data","testout.clustal"),
27
Bio::Root::IO->catfile("t","data","testout.phylip"),
28
Bio::Root::IO->catfile("t","data","testout.nexus"),
29
Bio::Root::IO->catfile("t","data","testout.mega"),
23
Bio::Root::IO->catfile("t","data","testout.selex"),
24
Bio::Root::IO->catfile("t","data","testout.pfam"),
25
Bio::Root::IO->catfile("t","data","testout.msf"),
26
Bio::Root::IO->catfile("t","data","testout.fasta"),
27
Bio::Root::IO->catfile("t","data","testout.clustal"),
28
Bio::Root::IO->catfile("t","data","testout.phylip"),
29
Bio::Root::IO->catfile("t","data","testout.nexus"),
30
Bio::Root::IO->catfile("t","data","testout.mega"),
34
33
my ($str,$aln,$strout,$status);
37
$str = Bio::AlignIO->new('-file' => Bio::Root::IO->catfile("t","data","testaln.stockholm"),
38
'-format' => 'stockholm');
35
# STOCKHOLM (multiple concatenated files, as Pfam flatfile)
36
ok $str = new Bio::AlignIO (
37
'-file' => Bio::Root::IO->catfile("t","data","testaln.stockholm"),
38
'-format' => 'stockholm');
39
39
ok defined($str) && ref($str) && $str->isa('Bio::AlignIO');
40
40
$aln = $str->next_aln();
41
41
ok $aln->get_seq_by_pos(1)->get_nse, '1433_LYCES/9-246';
42
$aln = $str->next_aln();
43
ok $aln->get_seq_by_pos(1)->get_nse, '1433_LYCES/9-246';
44
$aln = $str->next_aln();
45
ok $aln->get_seq_by_pos(1)->get_nse, '1433_LYCES/9-246';
44
48
$str = Bio::AlignIO->new('-file' => Bio::Root::IO->catfile("t","data","testaln.pfam"));
51
55
$status = $strout->write_aln($aln);
52
56
ok $status, 1, " failed pfam output test";
59
$str = Bio::AlignIO->new('-file' => Bio::Root::IO->catfile("t","data","humor.maf"));
60
$aln = $str->next_aln();
61
ok $aln->get_seq_by_pos(1)->get_nse,
62
'NM_006987/0-5000', " failed maf input test";
55
65
$str = Bio::AlignIO->new('-file' => Bio::Root::IO->catfile("t","data","testaln.msf"));
56
66
$aln = $str->next_aln();
67
77
'-format' => 'fasta');
68
78
$aln = $str->next_aln();
69
79
ok $aln->get_seq_by_pos(1)->get_nse, 'AK1H_ECOLI/114-431', " failed fasta input test ";
80
ok ($aln->get_seq_by_pos(1)->description, 'DESCRIPTION HERE',
81
" failed fasta input test for description");
82
ok ($aln->get_seq_by_pos(11)->display_id, 'AK_YEAST',
83
" failed fasta input test for id");
85
ok ($aln->get_seq_by_pos(11)->description, 'A COMMENT FOR YEAST',
86
" failed fasta input test for description");
70
88
$strout = Bio::AlignIO->new('-file' => ">".Bio::Root::IO->catfile("t","data","testout.fasta"),
71
89
'-format' => 'fasta');
72
90
$status = $strout->write_aln($aln);
105
123
'-format' => 'clustalw');
106
124
$aln = $str->next_aln($aln);
107
125
ok $aln->get_seq_by_pos(1)->get_nse, 'P04777/1-33', " failed clustalw (.aln) input test";
126
my $io = Bio::AlignIO->new(-file => Bio::Root::IO->catfile("t","data","testaln.aln") );
127
$aln = $io->next_aln();
128
ok $aln->consensus_string, 'MNEGEHQIKLDELFEKLLRARKIFKNKDVLRHSWEPKDLPHRHEQIEALAQILVPVLRGETMKIIFCGHHACELGEDRGTKGFVIDELKDVDEDRNGKVDVIEINCEHMDTHYRVLPNIAKLFDDCTGIGVPMHGGPTDEVTAKLKQVIDMKERFVIIVLDEIDKLVKKSGDEVLYSLTRINTELKRAKVSVIGISNDLKFKEYLDPRVLSSLSEEEVVFPPYDANQLRDILTQRAEEAFYPGVLDEGVIPLCAALAAREHGDARKALDLLRVAGEIAEREGASKVTEKHVWKAQEKIEQDMMEEVIKTLPLQSKVLLYAIVLLDENGDLPANTGDVYAVYRELCEYIDLEPLTQRRISDLINELDMLGIINAKVVSKGRYGRTKEIRLMVTSYKIRNVLRYDYSIQPLLTISLKSEQRRLI', " failed clustalw consensus_string test";
110
131
my $in = Bio::AlignIO->newFh('-file' => Bio::Root::IO->catfile("t","data","testaln.fasta"),
137
159
$status = $strout->write_aln($aln);
138
160
ok $status, 1, " failed phylip output test";
164
$io = Bio::AlignIO->new(-file => Bio::Root::IO->catfile("t","data","testaln.metafasta"));
165
$aln = $io->next_aln;
166
ok $aln->consensus_string,'CDEFHIJKLMNOPQRSTUVWXYZhydrophobicIOIOIJOIIOOIOOOOUIIXstructuralABAEEIEIJEIIEOAEEAAUIAX', " failed consensus_string on metafasta";
167
ok $aln->percentage_identity,'100', " failed percentage_identity using metafasta";
168
ok $aln->symbol_chars,'39'," failed symbol_chars() using metafasta";
141
171
$str = Bio::AlignIO->new('-file' => Bio::Root::IO->catfile("t","data","testaln.nexus"),
142
172
'-format' => 'nexus');
190
220
# EMBOSS water 2.2.x sparse needle
192
$str = new Bio::AlignIO(-verbose => 1,
222
$str = new Bio::AlignIO(-verbose => $DEBUG,
193
223
'-format' => 'emboss',
194
224
'-file' => Bio::Root::IO->catfile("t", "data", 'sparsealn.needle'));
195
225
$aln = $str->next_aln();
197
227
ok(sprintf("%.1f",$aln->overall_percentage_identity), 2.1);
198
ok(sprintf("%.1f",$aln->average_percentage_identity), 4.6);
228
ok(sprintf("%.1f",$aln->average_percentage_identity), 38.5);
199
229
ok($aln->get_seq_by_pos(1)->length, 238);
200
230
ok($aln->length,238);
201
231
ok($aln->get_seq_by_pos(1)->get_nse,'KV1K_HUMAN/1-108');
202
232
ok($aln->get_seq_by_pos(2)->get_nse,'IF1Y_HUMAN/1-143');
233
ok($aln->get_seq_by_pos(1)->seq(), 'DIQMTQSPSTLSVSVGDRVTITCEASQTVLSYLNWYQQKPGKAPKLLIYAASSLETGVPSRFSGQGSGTBFTFTISSVZPZBFATYYCQZYLDLPRTFGQGTKVDLKR'.'-'x130);
234
ok($aln->get_seq_by_pos(2)->seq(), ('-'x94).'PKNKGKGGK-NRRRGKNENESEKRELVFKEDGQEYAQVIKMLGNGRLEALCFDGVKRLCHIRGKLRKKVWINTSDIILVGLRDYQDNKADVILKYNADEARSLKAYGGLPEHAKINETDTFGPGDDDEIQFDDIGDDDEDIDDI');
206
238
$str = new Bio::AlignIO('-format' => 'mega',
219
251
$status = $strout->write_aln($aln);
220
252
ok $status, 1, " failed mega output test";
257
$str = new Bio::AlignIO('-format' => 'emboss',
258
'-file' => Bio::Root::IO->catfile('t','data','gf-s71.needle'));
259
$aln = $str->next_aln();
261
ok($aln->get_seq_by_pos(2)->seq(), 'MEDVTLFQFTWRKPI-RLQGEIVYKTSETQTIETNKKDVECVANFQENKEVQTDS-VDNGVGENVKKDITISKEVLNLLYDFVRDDSKVNYDRLLEFHKFDKVALETVQKYHVETRNENIILMISSSSRKTLILFGGISHETFCSHQARALLCSSSTSFSIPLPVCAISAVFYSSTQFILGDVSGNISMCSKDKIIFEKKITDGAVTCLEMCRHGLLSGSDDGNIILWQIGTSGLEKLGGTKLTVSDLSRKIRRSSTSNKPVAIVSMQVYVWPSGEEACVATETGGLYLLTLPTLDYKPLSHQTATSINKILFENQFVAVIYHTSNAAVFNSEGLVDEIPFVATLAVR----------PKLVLF--YTSVCVQDITLNCTSPFREFNNEYNPVIKFSKIRFSADLSVING-FRTSSPNSNN-----------------------------------------------');
262
ok($aln->get_seq_by_pos(1)->seq(), 'MEDVTLHHFRWRKPVENKNGEIVYKTSETQTAEISRKDVECVANFQKSQESQTDDFMQNGVGDGIKKEIRISKEVLGHIYDFLRDDSKVNYDRLLEFHKFDKVSLETVQKYHVETRNENIILMISNSSRKTLILFGGLSHETFCSHQARAVLCSSSTTSSLPLPVCAISAVFYSSTQFLLGDISGNISMWTKEKMIFENKVTDGSVTSLELCRYGLLSGSDDGNVILWKVEESKIEKIEGIKLTVSDLSRKIRRSSTSNKPVAIVSMQV----SGDEVCVATETGGLYLLTLPTLESKPLT-QSATSIFKILYEHPYIAVVYHTSNSAIFNSEGLVDEIPFVATLAVRCGAYFIFSNQSRLIIWSMNTRSTVIDENLNCHS-ICSLSND--------------TLQVLDGDFNLNSQSENSATSESENLRISDLQNLRMLKLQNLRTSEFQNFRTSESQYFKKDNGEL');
263
ok($aln->is_flush());
264
ok($aln->get_seq_by_pos(1)->get_nse,'gf.s71.44/1-448');
265
ok($aln->get_seq_by_pos(2)->get_nse,'Y50C1A.2/1-406');
268
# Let's parse Phylip non-interleaved
269
$strout = Bio::AlignIO->new('-file' =>
270
Bio::Root::IO->catfile("t","data",
271
"noninterleaved.phy"),
272
'-format' => 'phylip');
273
$aln = $strout->next_aln($aln);
275
ok($aln->get_seq_by_pos(2)->seq(), 'CCTCAGATCACTCTTTGGCAACGACCCCTCGTCACAATAAAGGTAGGGGGGCAACTAAAGGAAGCTCTATTAGATACAGGAGCAGATGATACAGTATTAGAAGACATGAATTTGCCAGGAAGATGGAAACCAAAAATGATAGGGGGAATTGGAGGGTTTATCAAAGTAAGACAGTATGATCAGATACCCATAGAGATCTGTGGACATAAAGCTATAGGTACAGTATTAGTAGGACCCACACCTGTCAATATAATTGGAAGAAATCTGTTGACTCAGATTGGTTGCACTTTAAATTTT' );