#!/usr/bin/perl -w # Released under the terms of the BiO Licence. # http://biolicense.org/ use strict; my $RASMOL = '~/bin/rasmol'; my $SCOP_HIGHLIGHT = '~/bin/scopHighlight_using_flat_file.plx'; my $CAT = '/bin/zcat'; my $TMP_DIR = '/tmp'; my $PDB_DIR = '/project/StruPPi/BiO/DBd/PDB/data/structures/all/pdb'; my $PDB_PREFIX = 'pdb'; my $PDB_SUFFIX = '.ent.Z'; my $PDB = $ARGV[0] || exit( &usage ); $PDB = lc( $PDB ); my $PDB_FILE = $PDB_DIR. '/'. $PDB_PREFIX. $PDB. $PDB_SUFFIX; die "$PDB_FILE:$!\n" unless -s $PDB_FILE; my $TEMP_FILE = $TMP_DIR. '/'. $PDB. '.ras.tmp'; &run( "touch $TEMP_FILE" ); die "$TEMP_FILE:$!\n" unless -w $TEMP_FILE; # Ready? Lets go... &run( "$SCOP_HIGHLIGHT -pdb $PDB > $TEMP_FILE" ); &run( "$CAT $PDB_FILE >> $TEMP_FILE" ); exec( "$RASMOL -script $TEMP_FILE" ) and die "$RASMOL failed:$?\n"; &run( "rm $TEMP_FILE" ); # All done. print "OK\n"; sub run { my $cmd = shift; print "$cmd\n"; system("$cmd") and die "\nFAILED ($?) :\n$cmd\n\n"; }