#!/usr/bin/perl # # Converts mdls output to valid .smi SMILES file format to use in obgrep # v1.1 # Corrected a problem with whitespace in net_sourceforge_openbabel_SMILES # Created by Fredrik Wallner # For more information, see www.wallner.nu/fredrik/?postid=4 # @lines = (<>); $text = join "", @lines; while($text =~ m/(.+?)\s-+?\n.*?\(\"*(.*?)\"*\)\n/gs) { $i++; $filename = $1; $smiles = $2; $smiles =~ s/\s//g; if($smiles =~ /,/) # multiple smiles { @smiles = split(',', $smiles); foreach(@smiles) { if(/\"?([^\"\s]+)\"?/) { print "$1\t$filename\n"; } } } else { if($smiles =~ m/\"?([^\"\s]+)\"?/) { print "$1\t$filename\n"; } } }