#!usr/bin/perl -w
#	
#	By Jennifer Deegan, July 2008.
#
#   Converts file of tab-delimited format:
#
#   GO:0001744    optic lobe placode formation    only_in_taxon   NCBITaxon:33392   Endopterygota
#
# to OBO format:
#
#   [Term]
#   id: GO:0001744
#   name: optic lobe placode formation
#   relationship: only_in_taxon NCBITaxon:33392 ! Endopterygota
#
#    [Term]

 

use strict;
my $line;
my $GOTerm; 
my $GOid;
my $SpeciesID; 
my $SpeciesName; 
my $Rel;

 


open (FILE, "TaxonGOLinksTabDelimited.txt") || die "Can’t open TaxonGOLinksFile.obo.\n";
open (OUTPUT, ">RegeneratedTaxonGOLinks.obo") || die "Can’t open RegeneratedTaxonGOLinks.obo.\n";


while (my $line=<FILE>){
        
        if ( $line =~ m/(.*)\t(.*)\t(.*)\t(.*)\t(.*)\t/) {

            $GOid = $1;
            $GOTerm = $2;
            $Rel = $3;
            $SpeciesID = $4;
            $SpeciesName = $5;


            print OUTPUT "[Term]";
            print OUTPUT "\n";
            print OUTPUT "id: ";
            print OUTPUT $GOid;
            print OUTPUT "\n";
            print OUTPUT "name: ";
            print OUTPUT $GOTerm;
            print OUTPUT "\n";
            print OUTPUT "relationship: ";
            print OUTPUT $Rel;
            print OUTPUT " ";
            print OUTPUT $SpeciesID;
            print OUTPUT " ! ";
            print OUTPUT $SpeciesName;
            print OUTPUT "\n";
            print OUTPUT "\n";
             }
  }
  
  
print OUTPUT "[Typedef]\n";
print OUTPUT "id: never_in_taxon\n";
print OUTPUT "name: 	never_in_taxon\n";
print OUTPUT "is_transitive: true\n";
print OUTPUT "\n";
print OUTPUT "[Typedef]\n";
print OUTPUT "id: 	only_in_taxon\n";
print OUTPUT "name: 	only_in_taxon\n";
print OUTPUT "is_transitive: true\n";



close FILE;
close OUTPUT;


