#! /usr/bin/env perl

use strict;
use warnings;
use File::Basename;
use File::Path;
use Cwd 'getcwd';

my $cif = $ARGV[0];
use Cwd 'abs_path';
$cif = abs_path($cif);

my $CWD=dirname(${0});
my $DB=basename(${0}, '.pl');
chdir $CWD;
$CWD=getcwd;
my $PWD=dirname($CWD);
my $ESROOT=$PWD;

my $id = "";
my $name = "";
my $InChI = "";
my @d = ();

open(FD, $cif);
while( my $line = <FD> ){
  chomp($line);
  if( $line =~ /^data/ ){
     if( $id && $InChI ){
       printf("%s\t%s\n", $id, $InChI);
     }
     $id = "";
     $name = "";
     $InChI = "";
     @d = ();
     next;
  }
  if( $line =~ /^_chem_comp.id/ ){
    $id = (split(/\s+/, $line))[1];
    next;
  }
  if( $line =~ /^_chem_comp.name/ ){
    $name = (split(/\s+/, $line))[1];
    next;
  }
  if( $line =~ /InChI/ && $line !~ /InChIKey/ ){
    @d = split(/\s+/, $line);
    if( $line !~ /InChI=/ ){
#print "$line\n";
      $d[4] = readline(FD);;
#print "$d[4]\n";
      chomp($d[4]);
    }
    $InChI = $d[4];
    $InChI =~ s/^\;// if( $InChI );
    $InChI =~ s/"//g if( $InChI );
    next;
  }
}
close(FD);

if( $id ){
  printf("%s\t%s\n", $id, $InChI);
}

exit;
