#use perl add_links_to_refs_in_svg.pl INFILE > OUTFILE

use XML::Twig;  

my $IN_FILE=$ARGV[0] || die "usage perl add_links_to_zoomed_svg.pl IN_FILE > OUTFILE"; 

my $pmid_file="../data_for_Edu/Tables_source_data/interactios_figure_pathway.txt";
my $pmids;
my $refs;
open(PMID,"$pmid_file")|| die $!;
while(<PMID>){
	chomp;
	my($id,$pmid,$ref)=split(/\t/);
	$pmids->{$id}=$pmid;
	$refs->{$id}=$ref;
}
close PMID; 

my $twig=XML::Twig->new(   
    twig_handlers => 
      { 'text'=>\&add_link,
		
      },
    pretty_print => 'indented',                # output will be nicely formatted
    empty_tags   => 'html',                    # outputs <empty_tag />
                         );
  $twig->parsefile( $IN_FILE);
  $twig->print;
	
  sub add_link
    { my( $twig, $path)= @_;
	 print STDERR  "here we go!\n"; 
	
	  my $text=$path->trimmed_text('no_recurse'); 
	  if ($text=~/\((\d+\w*?)\)/){ 
		$path->set_att('class','ref');
		my $id=$1;
		print STDERR  "found ref $idn";  
		my $parent=$path->parent;
		unless ($parent->tag() eq "a"){
	    	my $link=$path->wrap_in("a"); 
        	$href="http://www.ncbi.nlm.nih.gov/pubmed/".$pmids->{$id};  
        	$link->set_att('xlink:href',$href);
        	$link->set_att('target',"_blank");  
			$link->set_att('xlink:title',$refs->{$id});
		}
         #$twig->flush;;
      } else {
			say STDERR "thist does not look like a reference\n";
	}
   }
    
  