#!/usr/bin/perl # Randal R. Ketchem, Ph.D. 619.784.9879 (voice1) # Department of Molecular Biology, MB-9 619.784.8754 (voice2) # The Scripps Research Institute 619.784.9985 (FAX) # 10550 N. Torrey Pines Road ketchemr@scripps.edu (email) # La Jolla, CA 92037-1027 http://www.scripps.edu/~ketchemr #Modified by Melanie Nelson to read 3D genxpk results-- #just changed the split line in the ReadGenxpk subroutine # Make 7 column NOE files from felix and genxpk ambiguous peak files. # felix file # Peak # 1 Intensity = 0.9773519e+06 # Dimension Position (ppm) Width (Hz) Multiple Peak Assignment # D1 7.712077 83.3832 #1 1:ARG+_62:HN # D2 7.909034 62.85505 #1 1:ASN_63:HN # D3 126.0308 48.79808 #1 1:ARG+_62:N # D1 #2 1:ARG+_62:HN # D2 #2 1:ASP-_59:HN # D3 #2 1:ARG+_62:N # Dimension Frequency Assignment Distance(ppm) Pattern id # D1 1:ASP-_6:HN 0.92268e-03 pa71 # D1 1:HISD_17:HN 0.0319228 pa8 # D1 1:GLY_21:HN 0.0319228 pa13 # genxpk file ## 0 NULL NULL 0 NULL NULL 0.000000 3 0.884457 9.71784 10.6234 17.1897 # 1 # 42 LEU MD- 43 THR HN 0.000000 3 0.8836 9.70758 0 0 0.0103 # 9 ILE MG2 43 THR HN 0.000000 3 0.88449 9.70758 0 0 0.0103 ## 0 NULL NULL 0 NULL NULL 0.000000 4 1.23074 9.70571 11.5142 26.0144 # 1 # 43 THR MG 43 THR HN 0.000000 4 1.23006 9.70758 0 0 0.0020 require "ctime.pl"; require "getopt.pl"; if($#ARGV < 3 || $#ARGV > 5) { $prgName = `basename $0`; chop($prgName); die <) { next if(/^\s*#/); next if(/^\s*$/); chop; ($resNum, $resName, $atomName, $stereoName) = split(' '); $stereo{"$resNum $resName $atomName"} = $stereoName; } close(STEREOFILE); } open(PEAKFILE, $peakFile) || die("Cannot open $peakFile: $!\n"); while() { next if(/^\s*#/); next if(/^\s*$/); #speeds things up to skip assigned lines next if(/UNDEF/); #prevents catastrophic error if a pound sign is missing.... next if(/pat/); if($fileType eq "felix") { &ReadFelix; } else { &ReadGenxpk; } } close(PEAKFILE); foreach (@lines) { print; } sub ReadFelix { # Peak # 1 Intensity = 0.9773519e+06 # Dimension Position (ppm) Width (Hz) Multiple Peak Assignment # D1 7.712077 83.3832 #1 1:ARG+_62:HN # D2 7.909034 62.85505 #1 1:ASN_63:HN # D3 126.0308 48.79808 #1 1:ARG+_62:N # D1 #2 1:ARG+_62:HN # D2 #2 1:ASP-_59:HN # D3 #2 1:ARG+_62:N if(/Peak # /) { chop; @words = split(' '); $peakNum = $words[2]; $count = 0; $line = ; $line = ; while(($line !~ /Dimension/) and ($line =~ /:/)) { chop($line); @words = split(':', $line); $atomName[$count] = $words[2]; @resSplit = split('_', $words[1]); $resName[$count] = substr($resSplit[0], 0, 3); $resNum[$count] = $resSplit[1]; $atomNameOrig[$count] = $atomName[$count]; $atomName[$count] = &ConvertFelixName($resNum[$count], $resName[$count], $atomName[$count]); if($count < 2) { ++$count; } else { $line = sprintf("%4d %-3s %-4s %4d %-3s %-4s 0.01 # %s:%d\n", $resNum[0], $resName[0], $atomName[0], $resNum[1], $resName[1], $atomName[1], $commentPeakFile, $peakNum); push(@lines, $line); $count = 0; } $line = ; } } } #MN: changed the first split to allow correct parsing of 3D genxpk output sub ReadGenxpk { #need to fix problem with long peak numbers! s/\.000000/\.000000 /g; ($resNum[0], $resName[0], $atomName[0], $resNum[1], $resName[1], $atomName[1], $resNum[2], $resName[2], $atomName[2], $nullField, $peakNum) = split(' '); $atomNameOrig[0] = $atomName[0]; $atomName[0] = &ConvertGenxpkName($resNum[0], $resName[0], $atomName[0]); $atomNameOrig[1] = $atomName[1]; $atomName[1] = &ConvertGenxpkName($resNum[1], $resName[1], $atomName[1]); $line = sprintf("%4d %-3s %-4s %4d %-3s %-4s 0.01 # %s:%d\n", $resNum[0], $resName[0], $atomName[0], $resNum[1], $resName[1], $atomName[1], $commentPeakFile, $peakNum); push(@lines, $line); } sub ConvertFelixName { local($resNum, $resName, $oldName) = @_; # Convert to upper case. $oldName = "\U${oldName}\E"; # If no conversion is done, the atom will be surrounded by 'xxx'. Convert # everything! local($newName) = "xxx${oldName}xxx"; if($resName eq "ALA") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB1") { $newName = "MB" }; if($oldName eq "HB2") { $newName = "MB" }; if($oldName eq "HB3") { $newName = "MB" }; } if($resName eq "ARG") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB1") { $newName = "QPB" }; if($oldName eq "HB2") { $newName = "QPB" }; if($oldName eq "HG1") { $newName = "QPG" }; if($oldName eq "HG2") { $newName = "QPG" }; if($oldName eq "HD1") { $newName = "QPD" }; if($oldName eq "HD2") { $newName = "QPD" }; # Missing all past delta } if($resName eq "ASN") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB1") { $newName = "QPB" }; if($oldName eq "HB2") { $newName = "QPB" }; if($oldName eq "HD21") { $newName = "ND2" }; if($oldName eq "HD22") { $newName = "ND2" }; } if($resName eq "ASP") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB1") { $newName = "QPB" }; if($oldName eq "HB2") { $newName = "QPB" }; } if($resName eq "CYS") { } if($resName eq "GLN") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB1") { $newName = "QPB" }; if($oldName eq "HB2") { $newName = "QPB" }; if($oldName eq "HG1") { $newName = "QPG" }; if($oldName eq "HG2") { $newName = "QPG" }; if($oldName eq "HE21") { $newName = "NE2" }; if($oldName eq "HE22") { $newName = "NE2" }; } if($resName eq "GLU") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB1") { $newName = "QPB" }; if($oldName eq "HB2") { $newName = "QPB" }; if($oldName eq "HG1") { $newName = "QPG" }; if($oldName eq "HG2") { $newName = "QPG" }; } if($resName eq "GLY") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA1") { $newName = "QPA" }; if($oldName eq "HA2") { $newName = "QPA" }; } if($resName eq "HIS") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB1") { $newName = "QPB" }; if($oldName eq "HB2") { $newName = "QPB" }; if($oldName eq "HD2") { $newName = "HD" }; if($oldName eq "HE1") { $newName = "HE" }; # Missing all past delta } if($resName eq "ILE") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB") { $newName = "HB" }; if($oldName eq "HG11") { $newName = "QPG" }; if($oldName eq "HG12") { $newName = "QPG" }; if($oldName eq "HG21") { $newName = "MG" }; if($oldName eq "HG22") { $newName = "MG" }; if($oldName eq "HG23") { $newName = "MG" }; if($oldName eq "HD11") { $newName = "MD" }; if($oldName eq "HD12") { $newName = "MD" }; if($oldName eq "HD13") { $newName = "MD" }; } if($resName eq "LEU") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB1") { $newName = "QPB" }; if($oldName eq "HB2") { $newName = "QPB" }; if($oldName eq "HG") { $newName = "HG" }; if($oldName eq "HD11") { $newName = "QQD" }; if($oldName eq "HD12") { $newName = "QQD" }; if($oldName eq "HD13") { $newName = "QQD" }; if($oldName eq "HD21") { $newName = "QQD" }; if($oldName eq "HD22") { $newName = "QQD" }; if($oldName eq "HD23") { $newName = "QQD" }; } if($resName eq "LYS") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB1") { $newName = "QPB" }; if($oldName eq "HB2") { $newName = "QPB" }; if($oldName eq "HG1") { $newName = "QPG" }; if($oldName eq "HG2") { $newName = "QPG" }; if($oldName eq "HD1") { $newName = "QPD" }; if($oldName eq "HD2") { $newName = "QPD" }; if($oldName eq "HE1") { $newName = "QPE" }; if($oldName eq "HE2") { $newName = "QPE" }; # Missing NH3 } if($resName eq "MET") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB1") { $newName = "QPB" }; if($oldName eq "HB2") { $newName = "QPB" }; if($oldName eq "HG1") { $newName = "QPG" }; if($oldName eq "HG2") { $newName = "QPG" }; if($oldName eq "HE1") { $newName = "ME" }; if($oldName eq "HE2") { $newName = "ME" }; if($oldName eq "HE3") { $newName = "ME" }; } if($resName eq "PHE") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB1") { $newName = "QPB" }; if($oldName eq "HB2") { $newName = "QPB" }; if($oldName eq "HD1") { $newName = "CG" }; if($oldName eq "HD2") { $newName = "CG" }; if($oldName eq "HE1") { $newName = "CZ" }; if($oldName eq "HE2") { $newName = "CZ" }; if($oldName eq "HZ") { $newName = "HZ" }; } if($resName eq "PRO") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB1") { $newName = "QPB" }; if($oldName eq "HB2") { $newName = "QPB" }; if($oldName eq "HG1") { $newName = "QPG" }; if($oldName eq "HG2") { $newName = "QPG" }; if($oldName eq "HD1") { $newName = "QPD" }; if($oldName eq "HD2") { $newName = "QPD" }; } if($resName eq "SER") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB1") { $newName = "QPB" }; if($oldName eq "HB2") { $newName = "QPB" }; # Missing HO } if($resName eq "THR") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB") { $newName = "HB" }; if($oldName eq "HG1") { $newName = "MG" }; if($oldName eq "HG2") { $newName = "MG" }; if($oldName eq "HG3") { $newName = "MG" }; if($oldName eq "HG11") { $newName = "MG" }; if($oldName eq "HG21") { $newName = "MG" }; # Missing HO } if($resName eq "TRP") { } if($resName eq "TYR") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB1") { $newName = "QPB" }; if($oldName eq "HB2") { $newName = "QPB" }; if($oldName eq "HD1") { $newName = "CG" }; if($oldName eq "HD2") { $newName = "CG" }; if($oldName eq "HE1") { $newName = "CZ" }; if($oldName eq "HE2") { $newName = "CZ" }; # Missing HO } if($resName eq "VAL") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB") { $newName = "HB" }; if($oldName eq "HG11") { $newName = "QQG" }; if($oldName eq "HG12") { $newName = "QQG" }; if($oldName eq "HG13") { $newName = "QQG" }; if($oldName eq "HG21") { $newName = "QQG" }; if($oldName eq "HG22") { $newName = "QQG" }; if($oldName eq "HG23") { $newName = "QQG" }; } # Stereo's if($stereo{"$resNum $resName $oldName"}) { $newName = $stereo{"$resNum $resName $oldName"} }; # Return the new atom name. $newName; } sub ConvertGenxpkName { local($resNum, $resName, $oldName) = @_; # Convert to upper case. $oldName = "\U${oldName}\E"; # If no conversion is done, the atom will be surrounded by 'xxx'. Convert # everything! local($newName) = "xxx${oldName}xxx"; if($resName eq "ALA") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "MB") { $newName = "QB" }; if($oldName eq "HB1") { $newName = "QB" }; } if($resName eq "ARG") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB+") { $newName = "QB" }; if($oldName eq "HB-") { $newName = "QB" }; if($oldName eq "HB1") { $newName = "QB" }; if($oldName eq "HB2") { $newName = "QB" }; if($oldName eq "HG+") { $newName = "QG" }; if($oldName eq "HG-") { $newName = "QG" }; if($oldName eq "HG1") { $newName = "QG" }; if($oldName eq "HG2") { $newName = "QG" }; if($oldName eq "HD+") { $newName = "QD" }; if($oldName eq "HD-") { $newName = "QD" }; if($oldName eq "HD1") { $newName = "QD" }; if($oldName eq "HD2") { $newName = "QD" }; # Missing all past delta } if($resName eq "ASN") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB+") { $newName = "QB" }; if($oldName eq "HB-") { $newName = "QB" }; if($oldName eq "HB1") { $newName = "QB" }; if($oldName eq "HB2") { $newName = "QB" }; if($oldName eq "HB") { $newName = "QB" }; if($oldName eq "HD2+") { $newName = "QD2" }; if($oldName eq "HD2-") { $newName = "QD2" }; if($oldName eq "HD2") { $newName = "QD2" }; if($oldName eq "HD1") { $newName = "QD2" }; if($oldName eq "HD") { $newName = "QD2" }; } if($resName eq "ASP") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB+") { $newName = "QB" }; if($oldName eq "HB-") { $newName = "QB" }; if($oldName eq "HB1") { $newName = "QB" }; if($oldName eq "HB2") { $newName = "QB" }; if($oldName eq "HB*") { $newName = "QB" }; if($oldName eq "HB") { $newName = "QB" }; } if($resName eq "CYS") { } if($resName eq "GLN") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB+") { $newName = "QB" }; if($oldName eq "HB-") { $newName = "QB" }; if($oldName eq "HB1") { $newName = "QB" }; if($oldName eq "HB2") { $newName = "QB" }; if($oldName eq "HB") { $newName = "QB" }; if($oldName eq "HB*") { $newName = "QB" }; if($oldName eq "HG+") { $newName = "QG" }; if($oldName eq "HG-") { $newName = "QG" }; if($oldName eq "HG1") { $newName = "QG" }; if($oldName eq "HG2") { $newName = "QG" }; if($oldName eq "HG*") { $newName = "QG" }; if($oldName eq "HG") { $newName = "QG" }; if($oldName eq "HE2+") { $newName = "QE2" }; if($oldName eq "HE2-") { $newName = "QE2" }; if($oldName eq "HE2") { $newName = "QE2" }; if($oldName eq "HE1") { $newName = "QE2" }; if($oldName eq "HE*") { $newName = "QE2" }; if($oldName eq "HE") { $newName = "QE2" }; } if($resName eq "GLU") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB+") { $newName = "QB" }; if($oldName eq "HB-") { $newName = "QB" }; if($oldName eq "HB1") { $newName = "QB" }; if($oldName eq "HB2") { $newName = "QB" }; if($oldName eq "HB*") { $newName = "QB" }; if($oldName eq "HB") { $newName = "QB" }; if($oldName eq "HG+") { $newName = "QG" }; if($oldName eq "HG-") { $newName = "QG" }; if($oldName eq "HG1") { $newName = "QG" }; if($oldName eq "HG2") { $newName = "QG" }; if($oldName eq "HG*") { $newName = "QG" }; if($oldName eq "HG") { $newName = "QG" }; } if($resName eq "GLY") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA+") { $newName = "QA" }; if($oldName eq "HA-") { $newName = "QA" }; if($oldName eq "HA1") { $newName = "QA" }; if($oldName eq "HA2") { $newName = "QA" }; if($oldName eq "HA") { $newName = "QA" }; } if($resName eq "HIS") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB+") { $newName = "QB" }; if($oldName eq "HB-") { $newName = "QB" }; if($oldName eq "HB1") { $newName = "QB" }; if($oldName eq "HB2") { $newName = "QB" }; if($oldName eq "HB*") { $newName = "QB" }; if($oldName eq "HB") { $newName = "QB" }; if($oldName eq "HD+") { $newName = "HD" }; if($oldName eq "HD-") { $newName = "HD" }; if($oldName eq "HD1") { $newName = "HD" }; if($oldName eq "HD2") { $newName = "HD" }; if($oldName eq "HD*") { $newName = "HD" }; if($oldName eq "HD") { $newName = "HD" }; if($oldName eq "HE+") { $newName = "HE" }; if($oldName eq "HE-") { $newName = "HE" }; if($oldName eq "HE1") { $newName = "HE" }; if($oldName eq "HE2") { $newName = "HE" }; # Missing all past delta } if($resName eq "ILE") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB") { $newName = "HB" }; if($oldName eq "HG1+") { $newName = "QG1" }; if($oldName eq "HG1-") { $newName = "QG1" }; if($oldName eq "HG12") { $newName = "QG1" }; if($oldName eq "HG11") { $newName = "QG1" }; if($oldName eq "MG2") { $newName = "QG2" }; if($oldName eq "HG21") { $newName = "QG2" }; if($oldName eq "HG22") { $newName = "QG2" }; if($oldName eq "MD1") { $newName = "QD1" }; if($oldName eq "HD11") { $newName = "QD1" }; if($oldName eq "HD21") { $newName = "QD1" }; } if($resName eq "LEU") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB+") { $newName = "QB" }; if($oldName eq "HB-") { $newName = "QB" }; if($oldName eq "HB1") { $newName = "QB" }; if($oldName eq "HB2") { $newName = "QB" }; if($oldName eq "HB") { $newName = "QB" }; if($oldName eq "HB*") { $newName = "QB" }; if($oldName eq "HG") { $newName = "HG" }; if($oldName eq "MD+") { $newName = "QQD" }; if($oldName eq "MD-") { $newName = "QQD" }; if($oldName eq "HD11") { $newName = "QQD" }; if($oldName eq "HD21") { $newName = "QQD" }; if($oldName eq "HD*") { $newName = "QQD" }; } if($resName eq "LYS") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB+") { $newName = "QB" }; if($oldName eq "HB-") { $newName = "QB" }; if($oldName eq "HB1") { $newName = "QB" }; if($oldName eq "HB2") { $newName = "QB" }; if($oldName eq "HB*") { $newName = "QB" }; if($oldName eq "HB") { $newName = "QB" }; if($oldName eq "HG+") { $newName = "QG" }; if($oldName eq "HG-") { $newName = "QG" }; if($oldName eq "HG1") { $newName = "QG" }; if($oldName eq "HG2") { $newName = "QG" }; if($oldName eq "HG*") { $newName = "QG" }; if($oldName eq "HG") { $newName = "QG" }; if($oldName eq "HD+") { $newName = "QD" }; if($oldName eq "HD-") { $newName = "QD" }; if($oldName eq "HD1") { $newName = "QD" }; if($oldName eq "HD2") { $newName = "QD" }; if($oldName eq "HD*") { $newName = "QD" }; if($oldName eq "HD") { $newName = "QD" }; if($oldName eq "HE+") { $newName = "QE" }; if($oldName eq "HE-") { $newName = "QE" }; if($oldName eq "HE1") { $newName = "QE" }; if($oldName eq "HE2") { $newName = "QE" }; if($oldName eq "HE*") { $newName = "QE" }; if($oldName eq "HE") { $newName = "QE" }; # Missing NH3 } if($resName eq "MET") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB+") { $newName = "QB" }; if($oldName eq "HB-") { $newName = "QB" }; if($oldName eq "HB1") { $newName = "QB" }; if($oldName eq "HB2") { $newName = "QB" }; if($oldName eq "HB*") { $newName = "QB" }; if($oldName eq "HB") { $newName = "QB" }; if($oldName eq "HG+") { $newName = "QG" }; if($oldName eq "HG-") { $newName = "QG" }; if($oldName eq "HG1") { $newName = "QG" }; if($oldName eq "HG2") { $newName = "QG" }; if($oldName eq "HG*") { $newName = "QG" }; if($oldName eq "HG") { $newName = "QG" }; if($oldName eq "ME") { $newName = "ME" }; } if($resName eq "PHE") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB+") { $newName = "QB" }; if($oldName eq "HB-") { $newName = "QB" }; if($oldName eq "HB1") { $newName = "QB" }; if($oldName eq "HB2") { $newName = "QB" }; if($oldName eq "HB*") { $newName = "QB" }; if($oldName eq "HB") { $newName = "QB" }; if($oldName eq "HD") { $newName = "CG" }; if($oldName eq "HE") { $newName = "CZ" }; if($oldName eq "HZ") { $newName = "HZ" }; } if($resName eq "PRO") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB+") { $newName = "QB" }; if($oldName eq "HB-") { $newName = "QB" }; if($oldName eq "HB1") { $newName = "QB" }; if($oldName eq "HB2") { $newName = "QB" }; if($oldName eq "HB*") { $newName = "QB" }; if($oldName eq "HB") { $newName = "QB" }; if($oldName eq "HG+") { $newName = "QG" }; if($oldName eq "HG-") { $newName = "QG" }; if($oldName eq "HG1") { $newName = "QG" }; if($oldName eq "HG2") { $newName = "QG" }; if($oldName eq "HG*") { $newName = "QG" }; if($oldName eq "HG") { $newName = "QG" }; if($oldName eq "HD+") { $newName = "QD" }; if($oldName eq "HD-") { $newName = "QD" }; if($oldName eq "HD1") { $newName = "QD" }; if($oldName eq "HD2") { $newName = "QD" }; if($oldName eq "HD*") { $newName = "QD" }; if($oldName eq "HD") { $newName = "QD" }; } if($resName eq "SER") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB+") { $newName = "QB" }; if($oldName eq "HB-") { $newName = "QB" }; if($oldName eq "HB1") { $newName = "QB" }; if($oldName eq "HB2") { $newName = "QB" }; if($oldName eq "HB*") { $newName = "QB" }; if($oldName eq "HB") { $newName = "QB" }; # Missing HO } if($resName eq "THR") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB") { $newName = "HB" }; if($oldName eq "MG") { $newName = "QG2" }; # Missing HO } if($resName eq "TRP") { } if($resName eq "TYR") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB+") { $newName = "QB" }; if($oldName eq "HB-") { $newName = "QB" }; if($oldName eq "HB1") { $newName = "QB" }; if($oldName eq "HB2") { $newName = "QB" }; if($oldName eq "HB*") { $newName = "QB" }; if($oldName eq "HB") { $newName = "QB" }; if($oldName eq "HD") { $newName = "CG" }; if($oldName eq "HE") { $newName = "CZ" }; # Missing HO } if($resName eq "VAL") { if($oldName eq "HN") { $newName = "HN" }; if($oldName eq "HA") { $newName = "HA" }; if($oldName eq "HB") { $newName = "HB" }; if($oldName eq "MG+") { $newName = "QQG" }; if($oldName eq "MG-") { $newName = "QQG" }; if($oldName eq "HG11") { $newName = "QQG" }; if($oldName eq "HG21") { $newName = "QQG" }; if($oldName eq "MG2") { $newName = "QQG" }; } # Stereo's if($stereo{"$resNum $resName $oldName"}) { $newName = $stereo{"$resNum $resName $oldName"} }; # Return the new atom name. $newName; }