1 2 3 4 5 6
ATOM 1 CA PRO A 889 84.370 72.820 26.830 1.00 0.00
ATOM 2 CA THR A 890 87.370 73.900 28.080 1.00 0.00
ATOM 3 CA VAL A 891 90.920 72.490 27.750 1.00 0.00
ATOM 4 CA PHE A 892 93.640 74.890 28.970 1.00 0.00
ATOM 5 CA HIS B 893 97.060 74.200 27.360 1.00 0.00
ATOM 6 CA LYS B 894 99.880 73.920 29.990 1.00 0.00
####
1 2 3 4 5 6
ATOM 1 N PRO A 889 16.220 12.185 1.804 1.00 71.54 N
ATOM 2 CA PRO A 889 16.101 12.990 3.034 1.00 70.89 C
ATOM 3 C PRO A 889 15.432 14.346 2.803 1.00 72.31 C
ATOM 4 O PRO A 889 14.743 14.852 3.703 1.00 72.20 O
ATOM 5 CB PRO A 889 17.553 13.151 3.502 1.00 72.96 C
ATOM 6 CG PRO A 889 18.315 12.067 2.782 1.00 78.00 C
ATOM 7 CD PRO A 889 17.626 11.907 1.465 1.00 73.35 C
####
print "\nEnter the network pdb file file: ";
$inputFile = ;
chomp $inputFile;
unless (open(INPUTFILE, $inputFile)) {
print "Cannot read from '$inputFile'";
;
exit;
}
# load the file into an array
chomp(@networkpdb = );
# close the file
close(INPUTFILE);
print "\nEnter the pdb output file: ";
$inputFile2 = ;
chomp $inputFile2;
unless (open(INPUTFILE, $inputFile2)) {
print "Cannot read from '$inputFile2'";
;
exit;
}
chomp(@pdb = );
close(INPUTFILE);
for ($line1 = 0; $line1 < scalar @networkpdb; $line1++) {
if ($networkpdb[$line1] =~ m/ATOM\s+\d+\s+\w+\s+\w{3}\s*(\w+)\s*(\d*)\s+\S+\.\S+\s+\S+\.\S+\s+\S+\.\S+\s+.+\..+\..*/ig) {
my $resnum=$2;
my $chain=$1;
for ($line = 0; $line < scalar @pdb; $line++) {
if ($pdb[$line]=~ m/(ATOM\s+\d+\s+\w+\s+\w{3}\s*)(\w+)\s*(\d*)(\s+\S+\.\S+\s+\S+\.\S+\s+\S+\.\S+\s+.+\..+\..*)/ig) {
my $begining=$1;
my $resnum1=$3;
my $chain1=$2;
my $end=$4;
if ($resnum1=$resnum)
{$chain1=$chain;
$parsedData{$line} = $begining.$chain1."\s".$resnum1.$end;
}}}}}
# create the output file name
$outputFile = "WithNetwork_".$inputFile;
# open the output file
open (OUTFILE, ">$outputFile");
# print the data lines
foreach $line (sort {$a <=> $b} keys %parsedData) {
print OUTFILE $parsedData{$line}."\n";
}
# close the output file
close (OUTFILE);