!# 23 ! 3 1 ! 9 10 37 ! 11 assign ( (resid 2 and name HB1) or (resid 2 and name HG) or (resid 7 and name HG11) ) ( (resid 2 and name HN) ) 0.0 1.8 3.00 ! 24 !# 25 ! 3 2 ! 9 10 37 ! 7 30 assign ( (resid 2 and name HB1) or (resid 2 and name HG) or (resid 7 and name HG11) ) ( (resid 2 and name HA) or (resid 6 and name HA) ) 0.0 1.8 4.07 ! 26 #### #!/usr/bin/perl $katfile = "/remote/belgarath/tpukala/pegasus/xplor/signif/25jun2.kat2" ; $outfile = "temp.kat"; open(OUTFILE, ">$outfile") or die "Can't open $outfile"; open(KATFILE, "$katfile") or die "Can't open $katfile"; @array = ; chomp @array; $numelements = @array; @arraylist=(0 .. $numelements); foreach $el (@arraylist) { if ($array[$el] =~ /^\)$/ && $array[$el+1] =~ /^\($/) { print(OUTFILE ")\n*\n*\n*\n*\n*\n*\n*\n") } elsif ($array[$el] =~ /assign/ && $array[$el+1] =~ /^\($/) { print(OUTFILE "assign\n*\n*\n*\n*\n*\n*\n*\n*\n*\n*\n") } else { print(OUTFILE "$array[$el]\n"); } } close(KATFILE); close(OUTFILE); $distfile = "/remote/belgarath/tpukala/pegasus/xplor/signif/25jun/rnk_2 5jun_signif_.dst"; $katfile = "/remote/belgarath/tpukala/pegasus/xplor/signif/temp.kat"; $outfile = "temp2.kat"; open(OUTFILE, ">$outfile") or die "Can't open $outfile"; open(KATFILE, "$katfile") or die "Can't open $katfile"; @array2 = ; chomp @array2; $numelements2 = @array2; @arraylist2=(0 .. $numelements2); #************************** #************************** foreach $el (@arraylist2) { #************************** if ($array2[$el+10] =~ /resid (\d+) and name (H\w+\d*).?\)/ && $array2[$el] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $resid = $1; $atomid = $2; if ($array2[$el+10] =~ /resid (\d+) and name (H\w+\d*). ?\)/) { $residmatch = $1; $atomidmatch = $2; } open(DISTFILE, "$distfile") or die "Can't open $distfil e"; while () { $line=$_; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } elsif($array2[$el+11] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+12] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+13] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+14] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+15] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } }} } #************************* elsif ($array2[$el+11] =~ /resid (\d+) and name (H\w+\d*).?\)/ && $array2[$el] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $resid = $1; $atomid = $2; if ($array2[$el+11] =~ /resid (\d+) and name (H\w+\d*). ?\)/) { $residmatch = $1; $atomidmatch = $2; } open(DISTFILE, "$distfile") or die "Can't open $distfil e"; while () { $line=$_; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } elsif($array2[$el+12] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+13] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+14] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+15] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+16] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } }} } #************************* elsif ($array2[$el+12] =~ /resid (\d+) and name (H\w+\d*).?\)/ && $array2[$el] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $resid = $1; $atomid = $2; if ($array2[$el+12] =~ /resid (\d+) and name (H\w+\d*). ?\)/) { $residmatch = $1; $atomidmatch = $2; } open(DISTFILE, "$distfile") or die "Can't open $distfil e"; while () { $line=$_; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } elsif($array2[$el+13] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+14] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+15] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+16] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+17] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } }} } #************************* elsif ($array2[$el+13] =~ /resid (\d+) and name (H\w+\d*).?\)/ && $array2[$el] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $resid = $1; $atomid = $2; if ($array2[$el+13] =~ /resid (\d+) and name (H\w+\d*). ?\)/) { $residmatch = $1; $atomidmatch = $2; } open(DISTFILE, "$distfile") or die "Can't open $distfil e"; while () { $line=$_; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+\s+$residmatch\s+$atomid.* \w+\s+$re sid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } elsif($array2[$el+14] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+\s+$residmatch\s+$atomid.* \w+\s+$re sid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+15] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+\s+$residmatch\s+$atomid.* \w+\s+$re sid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+16] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+17] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+18] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } }} } #************************* elsif ($array2[$el+14] =~ /resid (\d+) and name (H\w+\d*).?\)/ && $array2[$el] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $resid = $1; $atomid = $2; if ($array2[$el+14] =~ /resid (\d+) and name (H\w+\d*). ?\)/) { $residmatch = $1; $atomidmatch = $2; } open(DISTFILE, "$distfile") or die "Can't open $distfil e"; while () { $line=$_; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+\s+$residmatch\s+$atomid.* \w+\s+$re sid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } elsif($array2[$el+15] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+\s+$residmatch\s+$atomid.* \w+\s+$re sid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+16] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+\s+$residmatch\s+$atomid.* \w+\s+$re sid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+17] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+18] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+19] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } }} } #************************* elsif ($array2[$el+15] =~ /resid (\d+) and name (H\w+\d*).?\)/ && $array2[$el] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $resid = $1; $atomid = $2; if ($array2[$el+15] =~ /resid (\d+) and name (H\w+\d*). ?\)/) { $residmatch = $1; $atomidmatch = $2; } open(DISTFILE, "$distfile") or die "Can't open $distfil e"; while () { $line=$_; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+\s+$residmatch\s+$atomid.* \w+\s+$re sid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } elsif($array2[$el+16] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+\s+$residmatch\s+$atomid.* \w+\s+$re sid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+17] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+\s+$residmatch\s+$atomid.* \w+\s+$re sid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+18] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+19] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } } elsif($array2[$el+20] =~ /resid (\d+) and name (H\w+\d*).?\)/) { $residmatch = $1; $atomidmatch = $2; if (($line =~ /$atomid.*\s*\w+\s+$resid\s+$atom idmatch.* \w+\s+$residmatch\s+\d\./) || ($line =~ /$atomidmatch.*\s*\w+ \s+$residmatch\s+$atomid.* \w+\s+$resid\s+\d\./)) { print(OUTFILE "$array2[$el]\n"); last; } }} } #************************* else { print(OUTFILE "$array2[$el]\n"); } } close(KATFILE); close(OUTFILE); #*************************** #*************************** $katfile = "/remote/belgarath/tpukala/pegasus/xplor/signif/temp2.kat"; $outfile = "half.kat"; open(OUTFILE, ">$outfile") or die "Can't open $outfile"; open(KATFILE, "$katfile") or die "Can't open $katfile"; @array3 = ; chomp @array3; $numelements3 = @array3; @arraylist3=(0 .. $numelements3); foreach $el (@arraylist3) { if($array3[$el] =~ /^\*$/) { } elsif($array3[$el] eq $array3[$el+1]) { } else { print(OUTFILE "$array3[$el]\n"); } } #end