~ubuntu-branches/ubuntu/trusty/bioperl/trusty-proposed

« back to all changes in this revision

Viewing changes to t/Tree/TreeIO/phyloxml.t

  • Committer: Bazaar Package Importer
  • Author(s): Charles Plessy
  • Date: 2011-06-17 13:51:18 UTC
  • mfrom: (1.2.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20110617135118-xgpxhaanue57cwqs
Tags: 1.6.901-1
* New upstream release.
* Point debian/watch to search.cpan.org.
* Build using dh and overrides:
  - Use Debhelper 8 (debian/rules, debian/control).
  - Simplified debian/rules.
* Split into libbio-perl-perl, as discussed with the Debian Perl team.
  (debian/control, debian/bioperl.install, debian libbio-perl-perl.install)
* debian/control:
  - Incremented Standards-Version to reflect conformance with Policy 3.9.2.
    No other changes needed.
  - Vcs-Browser URL made redirectable to viewvc.
  - Removed useless ‘svn’ in the Vcs-Svn URL.

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
        use lib '.';
8
8
        use Bio::Root::Test;
9
9
  
10
 
        test_begin(-tests => 97,
 
10
        test_begin(-tests => 98,
11
11
                           -requires_modules => [qw(XML::LibXML XML::LibXML::Reader)]);
12
12
        
13
13
        use_ok('Bio::TreeIO');
68
68
          diag("\ntest write_tree");
69
69
        }
70
70
        my $FILE1 = test_output_file();
71
 
        my $treeio = Bio::TreeIO->new(-verbose => $verbose,
 
71
        my $treeout = Bio::TreeIO->new(-verbose => $verbose,
72
72
                -format => 'phyloxml',
73
73
                -file   => ">$FILE1");
74
 
        $treeio->write_tree($tree);
 
74
        $treeout->write_tree($tree);
75
75
        ok -s $FILE1;
76
76
        if ($verbose > 0) {
77
77
          diag(`cat $FILE1`);
110
110
          diag("\ntest write_tree");
111
111
        }
112
112
        my $FILE1 = test_output_file();
113
 
        my $treeio = Bio::TreeIO->new(-verbose => $verbose,
 
113
        my $treeout = Bio::TreeIO->new(-verbose => $verbose,
114
114
                -format => 'phyloxml',
115
115
                -file   => ">$FILE1");
116
 
        $treeio->write_tree($tree);
 
116
        $treeout->write_tree($tree);
117
117
        ok -s $FILE1;
118
118
        if ($verbose > 0) {
119
119
          diag(`cat $FILE1`);
148
148
          diag("\ntest write_tree");
149
149
        }
150
150
        my $FILE1 = test_output_file();
151
 
        my $treeio = Bio::TreeIO->new(-verbose => $verbose,
 
151
        my $treeout = Bio::TreeIO->new(-verbose => $verbose,
152
152
                -format => 'phyloxml',
153
153
                -file   => ">$FILE1");
154
 
        $treeio->write_tree($tree);
 
154
        $treeout->write_tree($tree);
155
155
        ok -s $FILE1;
156
156
        if ($verbose > 0) {
157
157
          diag(`cat $FILE1`);
203
203
          diag("\ntest write_tree");
204
204
        }
205
205
        my $FILE1 = test_output_file();
206
 
        my $treeio = Bio::TreeIO->new(-verbose => $verbose,
 
206
        my $treeout = Bio::TreeIO->new(-verbose => $verbose,
207
207
                -format => 'phyloxml',
208
208
                -file   => ">$FILE1");
209
 
        $treeio->write_tree($tree);
 
209
        $treeout->write_tree($tree);
210
210
        ok -s $FILE1;
211
211
        if ($verbose > 0) {
212
212
          diag(`cat $FILE1`);
265
265
          diag("\ntest write_tree");
266
266
        }
267
267
        my $FILE1 = test_output_file();
268
 
        my $treeio = Bio::TreeIO->new(-verbose => $verbose,
 
268
        my $treeout = Bio::TreeIO->new(-verbose => $verbose,
269
269
                -format => 'phyloxml',
270
270
                -file   => ">$FILE1");
271
 
        $treeio->write_tree($tree);
 
271
        $treeout->write_tree($tree);
272
272
        ok -s $FILE1;
273
273
        if ($verbose > 0) {
274
274
          diag(`cat $FILE1`);
307
307
        }
308
308
        my ($z_seqname_text2) = $treeio->read_annotation('-obj'=>$z_seq, '-path'=>'name');
309
309
        is ($z_seqname_text->value, $z_seqname_text2);
310
 
  
 
310
        my ($y) = $leaves[1];
 
311
        my $y_seq = $y->sequence->[0];
 
312
        isa_ok ($y_seq, 'Bio::SeqI');
 
313
 
 
314
  # add attribute id_source
 
315
  $treeio->add_attribute(
 
316
        '-obj' => $z_seq,
 
317
        '-attr' => "id_source = \"A\""
 
318
        );
 
319
  $treeio->add_attribute(
 
320
        '-obj' => $y_seq,
 
321
        '-attr' => "id_source = \"B\""
 
322
        );
 
323
 
 
324
  # add sequence relation
 
325
  $treeio->add_phyloXML_annotation(
 
326
          '-obj'=>$tree,
 
327
          '-xml'=>'<sequence_relation id_ref_0="A" id_ref_1="B" type="orthology"/>'
 
328
          );      
 
329
 
311
330
  # write_tree
312
331
        if ($verbose > 0) {
313
332
          diag("\ntest write_tree");
314
333
        }
315
334
        my $FILE1 = test_output_file();
316
 
        my $treeio = Bio::TreeIO->new(-verbose => $verbose,
 
335
        my $treeout = Bio::TreeIO->new(-verbose => $verbose,
317
336
                -format => 'phyloxml',
318
337
                -file   => ">$FILE1");
319
 
        $treeio->write_tree($tree);
 
338
        $treeout->write_tree($tree);
320
339
        ok -s $FILE1;
321
340
        if ($verbose > 0) {
322
341
          diag(`cat $FILE1`);
364
383
          diag("\ntest write_tree");
365
384
        }
366
385
        my $FILE1 = test_output_file();
367
 
        my $treeio = Bio::TreeIO->new(-verbose => $verbose,
 
386
        my $treeout = Bio::TreeIO->new(-verbose => $verbose,
368
387
                -format => 'phyloxml',
369
388
                -file   => ">$FILE1");
370
 
        $treeio->write_tree($tree);
 
389
        $treeout->write_tree($tree);
371
390
        ok -s $FILE1;
372
391
        if ($verbose > 0) {
373
392
          diag(`cat $FILE1`);
410
429
          diag("\ntest write_tree");
411
430
        }
412
431
        my $FILE1 = test_output_file();
413
 
        my $treeio = Bio::TreeIO->new(-verbose => $verbose,
 
432
        my $treeout = Bio::TreeIO->new(-verbose => $verbose,
414
433
                -format => 'phyloxml',
415
434
                -file   => ">$FILE1");
416
 
        $treeio->write_tree($tree);
 
435
        $treeout->write_tree($tree);
417
436
        ok -s $FILE1;
418
437
        if ($verbose > 0) {
419
438
          diag(`cat $FILE1`);
453
472
          diag("\ntest write_tree");
454
473
        }
455
474
        my $FILE1 = test_output_file();
456
 
        my $treeio = Bio::TreeIO->new(-verbose => $verbose,
 
475
        my $treeout = Bio::TreeIO->new(-verbose => $verbose,
457
476
                -format => 'phyloxml',
458
477
                -file   => ">$FILE1");
459
 
        $treeio->write_tree($tree);
 
478
        $treeout->write_tree($tree);
460
479
        ok -s $FILE1;
461
480
        if ($verbose > 0) {
462
481
          diag(`cat $FILE1`);
507
526
          diag("\ntest write_tree");
508
527
        }
509
528
        my $FILE1 = test_output_file();
510
 
        my $treeio = Bio::TreeIO->new(-verbose => $verbose,
 
529
        my $treeout = Bio::TreeIO->new(-verbose => $verbose,
511
530
                -format => 'phyloxml',
512
531
                -file   => ">$FILE1");
513
 
        $treeio->write_tree($tree);
 
532
        $treeout->write_tree($tree);
514
533
        ok -s $FILE1;
515
534
        if ($verbose > 0) {
516
535
          diag(`cat $FILE1`);
556
575
          diag("\ntest write_tree");
557
576
        }
558
577
        my $FILE1 = test_output_file();
559
 
        my $treeio = Bio::TreeIO->new(-verbose => $verbose,
 
578
        my $treeout = Bio::TreeIO->new(-verbose => $verbose,
560
579
                -format => 'phyloxml',
561
580
                -file   => ">$FILE1");
562
 
        $treeio->write_tree($tree);
 
581
        $treeout->write_tree($tree);
563
582
        ok -s $FILE1;
564
583
        if ($verbose > 0) {
565
584
          diag(`cat $FILE1`);
586
605
        for (@children) {
587
606
          push @leaves, $_ if $_->is_Leaf;
588
607
        }
589
 
        my ($D) = $leaves[0];
 
608
  my ($D) = $tree->find_node(-id => 'A');
590
609
        my ($dateunit) =  $treeio->read_annotation('-obj'=>$D, '-path'=>'date/unit', '-attr'=>1);
591
 
        my ($daterange) =  $treeio->read_annotation('-obj'=>$D, '-path'=>'date/range', '-attr'=>1);
 
610
        my ($datemin) =  $treeio->read_annotation('-obj'=>$D, '-path'=>'date/minimum' );
 
611
        my ($datemax) =  $treeio->read_annotation('-obj'=>$D, '-path'=>'date/maximum' );
592
612
        my ($datevalue) =  $treeio->read_annotation('-obj'=>$D, '-path'=>'date/value');
593
613
        is ($dateunit, 'mya');
594
 
        is ($daterange, '30');
595
 
        is ($datevalue, '600');
 
614
        is ($datemin, '416.0');
 
615
        is ($datemax, '443.7');
 
616
        is ($datevalue, '425');
596
617
        if ($verbose > 0) {
597
 
          diag("node date unit: $dateunit range $daterange value $datevalue");
 
618
          diag("node date unit: $dateunit min $datemin max $datemax value $datevalue");
598
619
        }
599
620
  
600
621
  # write_tree
602
623
          diag("\ntest write_tree");
603
624
        }
604
625
        my $FILE1 = test_output_file();
605
 
        my $treeio = Bio::TreeIO->new(-verbose => $verbose,
 
626
        my $treeout = Bio::TreeIO->new(-verbose => $verbose,
606
627
                -format => 'phyloxml',
607
628
                -file   => ">$FILE1");
608
 
        $treeio->write_tree($tree);
 
629
        $treeout->write_tree($tree);
609
630
        ok -s $FILE1;
610
631
        if ($verbose > 0) {
611
632
          diag(`cat $FILE1`);
647
668
        $treeio->add_phyloXML_annotation(
648
669
                          -obj => $D, 
649
670
                          -xml => "            <name>D</name>
650
 
                          <date unit=\"mya\" range=\"30\">
 
671
                          <date unit=\"mya\">
651
672
                                 <desc>my date</desc>
652
 
                                 <value>veryveryold</value>
 
673
                                 <value>manymany million years</value>
653
674
                          </date>
654
675
  "
655
676
                          );
656
677
        my ($dateunit) =  $treeio->read_annotation('-obj'=>$D, '-path'=>'date/unit', '-attr'=>1);
657
 
        my ($daterange) =  $treeio->read_annotation('-obj'=>$D, '-path'=>'date/range', '-attr'=>1);
658
678
        my ($datevalue) =  $treeio->read_annotation('-obj'=>$D, '-path'=>'date/value');
659
679
        is ($dateunit, 'mya');
660
 
        is ($daterange, '30');
661
 
        is ($datevalue, 'veryveryold');
 
680
        is ($datevalue, 'manymany million years');
662
681
  
663
682
  # write_tree
664
683
        if ($verbose > 0) {
665
684
          diag("\ntest write_tree");
666
685
        }
667
686
        my $FILE1 = test_output_file();
668
 
        my $treeio = Bio::TreeIO->new(-verbose => $verbose,
 
687
        my $treeout = Bio::TreeIO->new(-verbose => $verbose,
669
688
                -format => 'phyloxml',
670
689
                -file   => ">$FILE1");
671
 
        $treeio->write_tree($tree);
 
690
        $treeout->write_tree($tree);
672
691
        ok -s $FILE1;
673
692
        if ($verbose > 0) {
674
693
          diag(`cat $FILE1`);
676
695
  }
677
696
  
678
697
  
 
698
  # tree14: convert between nhx and phyloxml
679
699
  # convert between nhx-phyloxml
680
700
  {
681
701
        if ($verbose > 0) {
697
717
          diag(`cat $FILE1`);
698
718
        }
699
719
  }
 
720
 
 
721
  # to-do 1. validation
 
722
TODO: {
 
723
  local $TODO = 'validation not implemented yet';
 
724
 
 
725
  my $xsd = "http://www.phyloxml.org/1.10/phyloxml.xsd";
 
726
#  for my $XSD ($xsd, XML::LibXML::Schema->new(location => $xsd)) {
 
727
#    {
 
728
#      my $reader = new XML::LibXML::Reader(
 
729
#  location => "test/schema/demo.xml",
 
730
#  Schema => $XSD,
 
731
#       );
 
732
#      ok($reader->finish, "validate using ".(ref($XSD) ? 'XML::LibXML::Schema' : 'Schema file'));
 
733
#    }
 
734
#    {
 
735
#      my $reader = new XML::LibXML::Reader(
 
736
#  location => "test/schema/invaliddemo.xml",
 
737
#  Schema => $XSD,
 
738
#       );
 
739
#      eval { $reader->finish };
 
740
#      ok($@, "catch validation error for ".(ref($XSD) ? 'XML::LibXML::Schema' : 'Schema file'));
 
741
#    }
 
742
#
 
743
#  }
 
744
 
 
745
700
746
  
701
 
}
 
 
b'\\ No newline at end of file'
 
747
}