#!/usr/bin/perl -w use strict; my ( @PDBchain, @PDBcode, @pdbString, @SCOPclass ); open (IN, $ARGV[0] ); while () { chomp; if ( /^>d(\d\w{3})(\w[_\d])\s(\w)/ ) { push @PDBcode, $1; #SAVE PDB CODE push @PDBchain, $2; #SAVE PDB CHAIN push @SCOPclass, $3; #SAVE SCOP CLASS (A,B,C,D,E,F,G) push @pdbString, ""; } else { $pdbString[$#pdbString] .= $_; } } close IN; print "Total number of entries: ".scalar( @PDBcode ). "\n"; #COUNT TOTAL NUMBER OF PDBS REPRESENTED for ( 0 .. $#PDBcode ) { open (OUT, ">>$PDBcode[$_]_$PDBchain[$_].fa"); print OUT ">",$PDBcode[$_], "_", $PDBchain[$_], "\n"; print OUT $pdbString[$_], "\n"; close OUT; }