From 0f1676e7f6786cd1d02b6ef46e8e3f94cba09a52 Mon Sep 17 00:00:00 2001 From: marco <marco@5a81b35b-ba03-0410-adc8-b2c5c5119f08> Date: Mon, 10 May 2010 05:38:55 +0000 Subject: [PATCH] always use uppercase element name when assigning mass and radius to atoms git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2213 5a81b35b-ba03-0410-adc8-b2c5c5119f08 --- modules/conop/src/conop.cc | 245 +++++++++++++++++++------------------ 1 file changed, 125 insertions(+), 120 deletions(-) diff --git a/modules/conop/src/conop.cc b/modules/conop/src/conop.cc index e634b6a73..3267e83e0 100644 --- a/modules/conop/src/conop.cc +++ b/modules/conop/src/conop.cc @@ -41,28 +41,28 @@ Conopology::Conopology(): builder_map_["DEFAULT"]=builder_map_["HEURISTIC"]; ele_rad_map_["H"] = 1.09; - + ele_rad_map_["C"] = 1.75; ele_rad_map_["N"] = 1.55; ele_rad_map_["O"] = 1.52; ele_rad_map_["F"] = 1.47; - - ele_rad_map_["Na"] = 2.27; - ele_rad_map_["Mg"] = 1.73; - ele_rad_map_["Si"] = 2.10; + + ele_rad_map_["NA"] = 2.27; + ele_rad_map_["MG"] = 1.73; + ele_rad_map_["SI"] = 2.10; ele_rad_map_["P"] = 1.80; ele_rad_map_["S"] = 1.80; - ele_rad_map_["Cl"] = 1.75; - + ele_rad_map_["CL"] = 1.75; + ele_rad_map_["K"] = 2.75; - ele_rad_map_["Ca"] = 2.00; - ele_rad_map_["Mn"] = 2.00; - ele_rad_map_["Fe"] = 2.00; - ele_rad_map_["Co"] = 2.00; - ele_rad_map_["Ni"] = 1.63; - ele_rad_map_["Cu"] = 1.40; - ele_rad_map_["Zn"] = 1.39; - ele_rad_map_["Br"] = 1.85; + ele_rad_map_["CA"] = 2.00; + ele_rad_map_["MN"] = 2.00; + ele_rad_map_["FE"] = 2.00; + ele_rad_map_["CO"] = 2.00; + ele_rad_map_["NI"] = 1.63; + ele_rad_map_["CU"] = 1.40; + ele_rad_map_["ZN"] = 1.39; + ele_rad_map_["BR"] = 1.85; ele_rad_map_["I"] = 1.98; @@ -70,122 +70,122 @@ Conopology::Conopology(): // Element masses according to IUPAC standards // see http://www.chem.qmul.ac.uk/iupac/AtWt/ ele_mass_map_["H"] = 1.00794; - ele_mass_map_["He"] = 4.002602; - ele_mass_map_["Li"] = 6.941; - ele_mass_map_["Be"] = 9.012182; + ele_mass_map_["HE"] = 4.002602; + ele_mass_map_["LI"] = 6.941; + ele_mass_map_["BE"] = 9.012182; ele_mass_map_["B"] = 10.811; ele_mass_map_["C"] = 12.0107; ele_mass_map_["N"] = 14.0067; ele_mass_map_["O"] = 15.9994; ele_mass_map_["F"] = 18.9984032; - ele_mass_map_["Ne"] = 20.1797; - ele_mass_map_["Na"] = 22.98976928; - ele_mass_map_["Mg"] = 24.3050; - ele_mass_map_["Al"] = 26.9815386; - ele_mass_map_["Si"] = 28.0855; + ele_mass_map_["NE"] = 20.1797; + ele_mass_map_["NA"] = 22.98976928; + ele_mass_map_["MG"] = 24.3050; + ele_mass_map_["AL"] = 26.9815386; + ele_mass_map_["SI"] = 28.0855; ele_mass_map_["P"] = 30.973762; ele_mass_map_["S"] = 32.065; - ele_mass_map_["Cl"] = 35.453; - ele_mass_map_["Ar"] = 39.948; + ele_mass_map_["CL"] = 35.453; + ele_mass_map_["AR"] = 39.948; ele_mass_map_["K"] = 39.0983; - ele_mass_map_["Ca"] = 40.078; - ele_mass_map_["Sc"] = 44.955912; - ele_mass_map_["Ti"] = 47.867; + ele_mass_map_["CA"] = 40.078; + ele_mass_map_["SC"] = 44.955912; + ele_mass_map_["TI"] = 47.867; ele_mass_map_["V"] = 50.9415; - ele_mass_map_["Cr"] = 51.9961; - ele_mass_map_["Mn"] = 54.938045; - ele_mass_map_["Fe"] = 55.845; - ele_mass_map_["Co"] = 58.933195; - ele_mass_map_["Ni"] = 58.6934; - ele_mass_map_["Cu"] = 63.546; - ele_mass_map_["Zn"] = 65.38; - ele_mass_map_["Ga"] = 69.723; - ele_mass_map_["Ge"] = 72.64; - ele_mass_map_["As"] = 74.92160; - ele_mass_map_["Se"] = 78.96; - ele_mass_map_["Br"] = 79.904; - ele_mass_map_["Kr"] = 83.798; - ele_mass_map_["Rb"] = 85.4678; - ele_mass_map_["Sr"] = 87.62; + ele_mass_map_["CR"] = 51.9961; + ele_mass_map_["MN"] = 54.938045; + ele_mass_map_["FE"] = 55.845; + ele_mass_map_["CO"] = 58.933195; + ele_mass_map_["NI"] = 58.6934; + ele_mass_map_["CU"] = 63.546; + ele_mass_map_["ZN"] = 65.38; + ele_mass_map_["GA"] = 69.723; + ele_mass_map_["GE"] = 72.64; + ele_mass_map_["AS"] = 74.92160; + ele_mass_map_["SE"] = 78.96; + ele_mass_map_["BR"] = 79.904; + ele_mass_map_["KR"] = 83.798; + ele_mass_map_["RB"] = 85.4678; + ele_mass_map_["SR"] = 87.62; ele_mass_map_["Y"] = 88.90585; - ele_mass_map_["Zr"] = 91.224; - ele_mass_map_["Nb"] = 92.90638; - ele_mass_map_["Mo"] = 95.96; - ele_mass_map_["Tc"] = 98.0; - ele_mass_map_["Ru"] = 101.07; - ele_mass_map_["Rh"] = 102.90550; - ele_mass_map_["Pd"] = 106.42; - ele_mass_map_["Ag"] = 107.8682; - ele_mass_map_["Cd"] = 112.411; - ele_mass_map_["In"] = 114.818; - ele_mass_map_["Sn"] = 118.710; - ele_mass_map_["Sb"] = 121.760; - ele_mass_map_["Te"] = 127.60; + ele_mass_map_["ZR"] = 91.224; + ele_mass_map_["NB"] = 92.90638; + ele_mass_map_["MO"] = 95.96; + ele_mass_map_["TC"] = 98.0; + ele_mass_map_["RU"] = 101.07; + ele_mass_map_["RH"] = 102.90550; + ele_mass_map_["PD"] = 106.42; + ele_mass_map_["AG"] = 107.8682; + ele_mass_map_["CD"] = 112.411; + ele_mass_map_["IN"] = 114.818; + ele_mass_map_["SN"] = 118.710; + ele_mass_map_["SB"] = 121.760; + ele_mass_map_["TE"] = 127.60; ele_mass_map_["I"] = 126.90447; - ele_mass_map_["Xe"] = 131.293; - ele_mass_map_["Cs"] = 132.9054519; - ele_mass_map_["Ba"] = 137.327; - ele_mass_map_["La"] = 138.90547; - ele_mass_map_["Ce"] = 140.116; - ele_mass_map_["Pr"] = 140.90765; - ele_mass_map_["Nd"] = 144.242; - ele_mass_map_["Pm"] = 145.0; - ele_mass_map_["Sm"] = 150.36; - ele_mass_map_["Eu"] = 151.964; - ele_mass_map_["Gd"] = 157.25; - ele_mass_map_["Tb"] = 158.92535; - ele_mass_map_["Dy"] = 162.500; - ele_mass_map_["Ho"] = 164.93032; - ele_mass_map_["Er"] = 167.259; - ele_mass_map_["Tm"] = 168.93421; - ele_mass_map_["Yb"] = 173.054; - ele_mass_map_["Lu"] = 174.9668; - ele_mass_map_["Hf"] = 178.49; - ele_mass_map_["Ta"] = 180.94788; + ele_mass_map_["XE"] = 131.293; + ele_mass_map_["CS"] = 132.9054519; + ele_mass_map_["BA"] = 137.327; + ele_mass_map_["LA"] = 138.90547; + ele_mass_map_["CE"] = 140.116; + ele_mass_map_["PR"] = 140.90765; + ele_mass_map_["ND"] = 144.242; + ele_mass_map_["PM"] = 145.0; + ele_mass_map_["SM"] = 150.36; + ele_mass_map_["EU"] = 151.964; + ele_mass_map_["GD"] = 157.25; + ele_mass_map_["TB"] = 158.92535; + ele_mass_map_["DY"] = 162.500; + ele_mass_map_["HO"] = 164.93032; + ele_mass_map_["ER"] = 167.259; + ele_mass_map_["TM"] = 168.93421; + ele_mass_map_["YB"] = 173.054; + ele_mass_map_["LU"] = 174.9668; + ele_mass_map_["HF"] = 178.49; + ele_mass_map_["TA"] = 180.94788; ele_mass_map_["W"] = 183.84; - ele_mass_map_["Re"] = 186.207; - ele_mass_map_["Os"] = 190.23; - ele_mass_map_["Ir"] = 192.217; - ele_mass_map_["Pt"] = 195.084; - ele_mass_map_["Au"] = 196.966569; - ele_mass_map_["Hg"] = 200.59; - ele_mass_map_["Tl"] = 204.3833; - ele_mass_map_["Pb"] = 207.2; - ele_mass_map_["Bi"] = 208.98040; - ele_mass_map_["Po"] = 209.0; - ele_mass_map_["At"] = 210.0; - ele_mass_map_["Rn"] = 222.0; - ele_mass_map_["Fr"] = 223.0; - ele_mass_map_["Ra"] = 226.0; - ele_mass_map_["Ac"] = 227.0; - ele_mass_map_["Th"] = 232.03806; - ele_mass_map_["Pa"] = 231.03588; + ele_mass_map_["RE"] = 186.207; + ele_mass_map_["OS"] = 190.23; + ele_mass_map_["IR"] = 192.217; + ele_mass_map_["PT"] = 195.084; + ele_mass_map_["AU"] = 196.966569; + ele_mass_map_["HG"] = 200.59; + ele_mass_map_["TL"] = 204.3833; + ele_mass_map_["PB"] = 207.2; + ele_mass_map_["BI"] = 208.98040; + ele_mass_map_["PO"] = 209.0; + ele_mass_map_["AT"] = 210.0; + ele_mass_map_["RN"] = 222.0; + ele_mass_map_["FR"] = 223.0; + ele_mass_map_["RA"] = 226.0; + ele_mass_map_["AC"] = 227.0; + ele_mass_map_["TH"] = 232.03806; + ele_mass_map_["PA"] = 231.03588; ele_mass_map_["U"] = 238.02891; - ele_mass_map_["Np"] = 237.0; - ele_mass_map_["Pu"] = 244.0; - ele_mass_map_["Am"] = 243.0; - ele_mass_map_["Cm"] = 247.0; - ele_mass_map_["Bk"] = 247.0; - ele_mass_map_["Cf"] = 251.0; - ele_mass_map_["Es"] = 252.0; - ele_mass_map_["Fm"] = 257.0; - ele_mass_map_["Md"] = 258.0; - ele_mass_map_["No"] = 259.0; - ele_mass_map_["Lr"] = 262.0; - ele_mass_map_["Rf"] = 267.0; - ele_mass_map_["Db"] = 268.0; - ele_mass_map_["Sg"] = 271.0; - ele_mass_map_["Bh"] = 272.0; - ele_mass_map_["Hs"] = 270.0; - ele_mass_map_["Mt"] = 276.0; - ele_mass_map_["Ds"] = 281.0; - ele_mass_map_["Rg"] = 280.0; - ele_mass_map_["Cn"] = 285.0; - ele_mass_map_["Uut"]= 284.0; - ele_mass_map_["Uuq"]= 289.0; - ele_mass_map_["Uup"]= 288.0; - ele_mass_map_["Uuh"]= 293.0; - ele_mass_map_["Uuo"]= 294.0; + ele_mass_map_["NP"] = 237.0; + ele_mass_map_["PU"] = 244.0; + ele_mass_map_["AM"] = 243.0; + ele_mass_map_["CM"] = 247.0; + ele_mass_map_["BK"] = 247.0; + ele_mass_map_["CF"] = 251.0; + ele_mass_map_["ES"] = 252.0; + ele_mass_map_["FM"] = 257.0; + ele_mass_map_["MD"] = 258.0; + ele_mass_map_["NO"] = 259.0; + ele_mass_map_["LR"] = 262.0; + ele_mass_map_["RF"] = 267.0; + ele_mass_map_["DB"] = 268.0; + ele_mass_map_["SG"] = 271.0; + ele_mass_map_["BH"] = 272.0; + ele_mass_map_["HS"] = 270.0; + ele_mass_map_["MT"] = 276.0; + ele_mass_map_["DS"] = 281.0; + ele_mass_map_["RG"] = 280.0; + ele_mass_map_["CN"] = 285.0; + ele_mass_map_["UUT"]= 284.0; + ele_mass_map_["UUQ"]= 289.0; + ele_mass_map_["UUP"]= 288.0; + ele_mass_map_["UUH"]= 293.0; + ele_mass_map_["UUO"]= 294.0; } void Conopology::RegisterBuilder(const BuilderP& b, const String& name) { @@ -294,13 +294,18 @@ void Conopology::ConnectAll(const BuilderP& b, mol::EntityHandle eh, int flag) Real Conopology::GetDefaultAtomRadius(const String& element) const { - std::map<String,Real>::const_iterator it = ele_rad_map_.find(element); + String upper_ele=element; + std::transform(upper_ele.begin(),upper_ele.end(),upper_ele.begin(),toupper); + std::map<String,Real>::const_iterator it = ele_rad_map_.find(upper_ele); return it==ele_rad_map_.end() ? 1.5 : it->second; } Real Conopology::GetDefaultAtomMass(const String& element) const { - std::map<String,Real>::const_iterator it = ele_mass_map_.find(element); + String upper_ele=element; + std::transform(upper_ele.begin(),upper_ele.end(),upper_ele.begin(),toupper); + + std::map<String,Real>::const_iterator it = ele_mass_map_.find(upper_ele); return it==ele_mass_map_.end() ? 1.0 : it->second; } -- GitLab