#!/usr/bin/perl -ws use vars qw($h $abbr $acpr $nosmart); # Переменные, определяемые опциями #use List::Util qw(sum); if ($h) { (my $program = $0) =~ s/.*\///; print " Вычисление молекулярного веса по брутто-формуле. Usage: $program [-option] formula Зависимости: Perl Программа консольная, поэтому имеет смысл в основном на *nix, где консоль всегда \"под рукой\", и гораздо быстрее сказать $program Et2O c2h5oh чем вызывать графическое приложение. И поскольку это perl-скрипт, его легко сделать CGI-приложением, вдруг кому понадобится. В программу зашито много стандартных аббревиатур (из J. Org. Chem.), поэтому ее можно использовать, в качестве \"напоминалки\": >$program DABCO DABCO is C6H12N2 1,4-diazabicyclo[2.2.2]octane C6 H12 N2 112.17 В конец скрипта легко добавить свои сокращения (можно с использованием уже имеющихся). Элементы можно набирать в нижнем регистре, в случае неоднозначностей типа sin будут выданы все варианты: >$program sin N Si 42.09 In S 146.88 I N S 172.98 Опции: -abbr напечатать список аббревиатур -abbr=THF аббревиатуры, в которых (или в их описании) встречается THF -acpr Ac и Pr - не ацил и пропил, а актиний и празеодим -nosmart не пытаться составить элементы из последовательности прописных букв "; exit; } my %elements = read_elements(); #foreach my $e (grep {!/Xx/} sort {$elements{$a}{number} <=> $elements{$b}{number}} keys %elements) { # my %h = %{$elements{$e}{isotope}}; # my $av = 0; # foreach (keys %h) { # $av += $h{$_}[0] * $h{$_}[1]; # } # printf "%-4s%.4f %.4f\n", $e, $elements{$e}{weigth}, $av; #} #exit; #my %AW = read_Atomic_Weigth(); ##print "$k => $v\n" while (($k,$v) = each %AW); my %subst = read_Abbreviations(); #print "$k => @$v\n" while (($k,$v) = each %subst); exit; if ($abbr) { my $regexp = ($abbr eq '1') ? '' : $abbr; foreach (sort {lc($a) cmp lc($b)} keys %subst) { if ("$_ @{$subst{$_}}" =~ /$regexp/i) { printf "%-9s%-18s%s\n", $_, $subst{$_}[0], $subst{$_}[1]; } } exit; } if ($acpr) { delete $subst{Ac}; delete $subst{Pr}; } # "Двойные" элементы # si sc co ni cu nb in sn sb cs ho yb hf os pb bi po np pu bk cf no bh hs # Si SC CO Ni Cu NB IN Sn Sb CS HO Yb HF OS Pb Bi PO NP Pu BK CF NO BH HS # Элементы, совпадающие с заместителями # Pr Ac # Если аргументов нет, то читаем поток @ARGV = <> unless @ARGV; NEW_FORMULA: foreach my $formula (@ARGV) { print "$formula:\n" if @ARGV > 1; # "Разворачиваем" заместители. while (1) { my $formula_before = $formula; foreach (sort {length($b)<=>length($a)} keys %subst) { $formula =~ s/\Q$_/($subst{$_}[0])/g && warn "$_ is @{$subst{$_}}\n"; #print "$formula_before $formula\n"; } last if $formula eq $formula_before; } # "Раскрываем" скобки. my %b = map {"\\$_"} qw/ ( ) [ ] { } /; foreach (keys %b) { 1 while $formula =~ s/$_$b{$_}\d*//g; # убираем () 1 while $formula =~ s/$_([^$_$b{$_}]*)$b{$_}(\d*)/$1 x ($2 eq '' ? 1 : $2)/eg; } # Не осталось ли лишних скобок? warn("odd bracket\n"), next NEW_FORMULA if join('', %b) =~ /[$formula]/; ################## Парсим формулу ######################## # Разбиваем формулу на части, # добавляя пробелы после чисел и перед заглавными буквами $formula =~ s/(\d+)/$1 /g; $formula =~ s/([A-Z])/ $1/g; #print "$formula\n"; # Парсим каждую часть my @formula = (''); # Комбинации допустимых вариантов формулы foreach my $part (split ' ', $formula) { #$part = ucfirst $part; my @variants; # Варианты написания части формулы my @combinations; # Комбинации вариантов if ($nosmart) { # С опцией -nosmart не делаем ничего такого push @variants, $part; } else { # пытаемся составить элементы из последовательности прописных букв my ($atoms, $num) = $part =~ /([A-Za-z]+)(\d*)/; # Находим варианты написания части формулы if ($atoms =~ /^[A-Z][a-z]?$/) { # Если эту часть формулы можно интерпретировать как элемент @variants = ($atoms.$num); } else { my @aa = split //, $atoms; #print "@aa\n"; # Варианты представляем двоичными числами for (grep {! /00/} map {sprintf "%b", $_} 2**$#aa..2**@aa) { my $bin = reverse $_; # 1 - заглавная буква, 0 - прописная my $A = join '', map {chop($bin) ? uc : $_} @aa; push @variants, $A.$num; } } } # Отбрасываем варианты, в которых есть "неэлементы" my @variants_test; foreach (@variants) { my $OK = 1; while (/([A-Z][a-z]*)\d*/g) { $OK = 0, last unless exists $elements{$1}; } push @variants_test, $_ if $OK; } @variants = @variants_test; warn("Bad part of formula: $part\n"), next NEW_FORMULA unless @variants; # Составляем комбинации вариантов foreach my $fff (@formula) { foreach (@variants) { push @combinations, $fff.$_; } } @formula = @combinations; } # Что-то выше неправильно, в массиве бывают дубли, избавимся от них пока так: my %seen = (); @formula = grep {! $seen{$_}++} @formula; #print "$_\n" foreach @formula; foreach (@formula) { my %hash; my $weigth = 0; while (/([A-Z][a-z]?)(\d*)/g) { my ($atom, $num) = ($1, $2 || 1); $hash{$atom} += $num; } foreach (sort by_hill keys %hash) { print $_ . ($hash{$_}==1 ? '' : $hash{$_}) . ' '; $weigth += $elements{$_}{weigth} * $hash{$_}; } printf "\t%.2f\n", $weigth; } } sub by_hill { return -1 if uc($a) eq 'C' and uc($b) ne 'C'; return 1 if uc($a) ne 'C' and uc($b) eq 'C'; return -1 if uc($a) eq 'H' and uc($b) ne 'H'; return 1 if uc($a) ne 'H' and uc($b) eq 'H'; uc($a) cmp uc($b); } sub read_Atomic_Weigth { my %AW; OUTER: while () { if (/Isotopes/i) { while () { last OUTER if /^\s*$/; # Пустая строка - выход из цикла next if /^\s*#/; # Пропускаем комментарии if (/^\d/) { my @arr = split; my $element = $arr[1]; my $weigth = $arr[5] || $arr[4]; $weigth =~ s/[()\[\]]//g; $AW{$element} = $weigth; } } } } $AW{'Xx'} = 0; return %AW; } sub read_Isotopes { my %AW; OUTER: while () { if (/Isotopes/i) { while () { last OUTER if /^\s*$/; # Пустая строка - выход из цикла next if /^\s*#/; # Пропускаем комментарии if (/^\d/) { my @arr = split; my $element = $arr[1]; my $weigth = $arr[5] || $arr[4]; $weigth =~ s/[()\[\]]//g; $AW{$element} = $weigth; } } } } $AW{'Xx'} = 0; return %AW; } sub read_elements { my (%elements,$element, $is_radio); OUTER: while () { if (/Isotopes/i) { while () { last OUTER if /^\s*$/; # Пустая строка - выход из цикла next if /^[-_#]/; # Пропускаем комментарии и разделители таблицы my @a = map {s/\(\d+\)//; s/#//; $_} unpack("A4 A4 A5 A19 A14 A13", $_); #print join('|', @a), "\n"; if ($a[0]) { $element = $a[1]; $elements{$element}{number} = $a[0]; # if ($a[5] =~ s/\[(\d+)\]/$1/ ) { # $is_radio = 1; # } $elements{$element}{weigth} = $a[5]; } $a[4] ||= 0; $elements{$element}{isotope}{$a[2]} = [$a[3],$a[4]/100]; } } } foreach $element (keys %elements) { if ($elements{$element}{weigth} =~ /\[(\d+)\]/) { $elements{$element}{isotope}{$1} = [$1, 0] unless $elements{$element}{isotope}{$1}[0]; $elements{$element}{weigth} = $elements{$element}{isotope}{$1}[0] || $1; } } $elements{'Xx'}{number} = 0; $elements{'Xx'}{weigth} = 0; return %elements; } sub read_Abbreviations { my %subst; OUTER: while () { if (/Abbreviations/i) { while () { chomp; last OUTER if /^\s*$/; # Пустая строка - выход из цикла next if /^\s*#/; # Пропускаем комментарии my ($abbr, $formula, $descr) = split ' ', $_, 3; $subst{$abbr} = [$formula,$descr]; } } } return %subst; } __DATA__ [Periodic_table] Xx H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr Rb Sr Y Zr Nb Mo Tc Ru Rh Pd Ag Cd In Sn Sb Te I Xe Cs Ba La Ce Pr Nd Pm Sm Eu Gd Tb Dy Ho Er Tm Yb Lu Hf Ta W Re Os Ir Pt Au Hg Tl Pb Bi Po At Rn Fr Ra Ac Th Pa U Np Pu Am Cm Bk Cf Es Fm Md No Lr Rf Db Sg Bh Hs Mt Ds Rg [Isotopes] #Atomic Weights and Isotopic Compositions for All Elements #http://physics.nist.gov/PhysRefData/Compositions/index.html # Relative Isotopic Standard #Isotope Atomic Mass Composition Atomic Weight ----------------------------------------------------------- 1 H 1 1.0078250321(4) 99.9885(70) 1.00794(7) D 2 2.0141017780(4) 0.0115(70) T 3 3.0160492675(11) ----------------------------------------------------------- 2 He 3 3.0160293097(9) 0.000137(3) 4.002602(2) 4 4.0026032497(10) 99.999863(3) ----------------------------------------------------------- 3 Li 6 6.0151223(5) 7.59(4) 6.941(2) 7 7.0160040(5) 92.41(4) ----------------------------------------------------------- 4 Be 9 9.0121821(4) 100 9.012182(3) ----------------------------------------------------------- 5 B 10 10.0129370(4) 19.9(7) 10.811(7) 11 11.0093055(5) 80.1(7) ----------------------------------------------------------- 6 C 12 12.0000000(0) 98.93(8) 12.0107(8) 13 13.0033548378(10) 1.07(8) 14 14.003241988(4) ----------------------------------------------------------- 7 N 14 14.0030740052(9) 99.632(7) 14.0067(2) 15 15.0001088984(9) 0.368(7) ----------------------------------------------------------- 8 O 16 15.9949146221(15) 99.757(16) 15.9994(3) 17 16.99913150(22) 0.038(1) 18 17.9991604(9) 0.205(14) ----------------------------------------------------------- 9 F 19 18.99840320(7) 100 18.9984032(5) ----------------------------------------------------------- 10 Ne 20 19.9924401759(20) 90.48(3) 20.1797(6) 21 20.99384674(4) 0.27(1) 22 21.99138551(23) 9.25(3) ----------------------------------------------------------- 11 Na 23 22.98976967(23) 100 22.989770(2) ----------------------------------------------------------- 12 Mg 24 23.98504190(20) 78.99(4) 24.3050(6) 25 24.98583702(20) 10.00(1) 26 25.98259304(21) 11.01(3) ----------------------------------------------------------- 13 Al 27 26.98153844(14) 100 26.981538(2) ----------------------------------------------------------- 14 Si 28 27.9769265327(20) 92.2297(7) 28.0855(3) 29 28.97649472(3) 4.6832(5) 30 29.97377022(5) 3.0872(5) ----------------------------------------------------------- 15 P 31 30.97376151(20) 100 30.973761(2) ----------------------------------------------------------- 16 S 32 31.97207069(12) 94.93(31) 32.065(5) 33 32.97145850(12) 0.76(2) 34 33.96786683(11) 4.29(28) 36 35.96708088(25) 0.02(1) ----------------------------------------------------------- 17 Cl 35 34.96885271(4) 75.78(4) 35.453(2) 37 36.96590260(5) 24.22(4) ----------------------------------------------------------- 18 Ar 36 35.96754628(27) 0.3365(30) 39.948(1) 38 37.9627322(5) 0.0632(5) 40 39.962383123(3) 99.6003(30) ----------------------------------------------------------- 19 K 39 38.9637069(3) 93.2581(44) 39.0983(1) 40 39.96399867(29) 0.0117(1) 41 40.96182597(28) 6.7302(44) ----------------------------------------------------------- 20 Ca 40 39.9625912(3) 96.941(156) 40.078(4) 42 41.9586183(4) 0.647(23) 43 42.9587668(5) 0.135(10) 44 43.9554811(9) 2.086(110) 46 45.9536928(25) 0.004(3) 48 47.952534(4) 0.187(21) ----------------------------------------------------------- 21 Sc 45 44.9559102(12) 100 44.955910(8) ----------------------------------------------------------- 22 Ti 46 45.9526295(12) 8.25(3) 47.867(1) 47 46.9517638(10) 7.44(2) 48 47.9479471(10) 73.72(3) 49 48.9478708(10) 5.41(2) 50 49.9447921(11) 5.18(2) ----------------------------------------------------------- 23 V 50 49.9471628(14) 0.250(4) 50.9415(1) 51 50.9439637(14) 99.750(4) ----------------------------------------------------------- 24 Cr 50 49.9460496(14) 4.345(13) 51.9961(6) 52 51.9405119(15) 83.789(18) 53 52.9406538(15) 9.501(17) 54 53.9388849(15) 2.365(7) ----------------------------------------------------------- 25 Mn 55 54.9380496(14) 100 54.938049(9) ----------------------------------------------------------- 26 Fe 54 53.9396148(14) 5.845(35) 55.845(2) 56 55.9349421(15) 91.754(36) 57 56.9353987(15) 2.119(10) 58 57.9332805(15) 0.282(4) ----------------------------------------------------------- 27 Co 59 58.9332002(15) 100 58.933200(9) ----------------------------------------------------------- 28 Ni 58 57.9353479(15) 68.0769(89) 58.6934(2) 60 59.9307906(15) 26.2231(77) 61 60.9310604(15) 1.1399(6) 62 61.9283488(15) 3.6345(17) 64 63.9279696(16) 0.9256(9) ----------------------------------------------------------- 29 Cu 63 62.9296011(15) 69.17(3) 63.546(3) 65 64.9277937(19) 30.83(3) ----------------------------------------------------------- 30 Zn 64 63.9291466(18) 48.63(60) 65.409(4) 66 65.9260368(16) 27.90(27) 67 66.9271309(17) 4.10(13) 68 67.9248476(17) 18.75(51) 70 69.925325(4) 0.62(3) ----------------------------------------------------------- 31 Ga 69 68.925581(3) 60.108(9) 69.723(1) 71 70.9247050(19) 39.892(9) ----------------------------------------------------------- 32 Ge 70 69.9242504(19) 20.84(87) 72.64(1) 72 71.9220762(16) 27.54(34) 73 72.9234594(16) 7.73(5) 74 73.9211782(16) 36.28(73) 76 75.9214027(16) 7.61(38) ----------------------------------------------------------- 33 As 75 74.9215964(18) 100 74.92160(2) ----------------------------------------------------------- 34 Se 74 73.9224766(16) 0.89(4) 78.96(3) 76 75.9192141(16) 9.37(29) 77 76.9199146(16) 7.63(16) 78 77.9173095(16) 23.77(28) 80 79.9165218(20) 49.61(41) 82 81.9167000(22) 8.73(22) ----------------------------------------------------------- 35 Br 79 78.9183376(20) 50.69(7) 79.904(1) 81 80.916291(3) 49.31(7) ----------------------------------------------------------- 36 Kr 78 77.920386(7) 0.35(1) 83.798(2) 80 79.916378(4) 2.28(6) 82 81.9134846(28) 11.58(14) 83 82.914136(3) 11.49(6) 84 83.911507(3) 57.00(4) 86 85.9106103(12) 17.30(22) ----------------------------------------------------------- 37 Rb 85 84.9117893(25) 72.17(2) 85.4678(3) 87 86.9091835(27) 27.83(2) ----------------------------------------------------------- 38 Sr 84 83.913425(4) 0.56(1) 87.62(1) 86 85.9092624(24) 9.86(1) 87 86.9088793(24) 7.00(1) 88 87.9056143(24) 82.58(1) ----------------------------------------------------------- 39 Y 89 88.9058479(25) 100 88.90585(2) ----------------------------------------------------------- 40 Zr 90 89.9047037(23) 51.45(40) 91.224(2) 91 90.9056450(23) 11.22(5) 92 91.9050401(23) 17.15(8) 94 93.9063158(25) 17.38(28) 96 95.908276(3) 2.80(9) ----------------------------------------------------------- 41 Nb 93 92.9063775(24) 100 92.90638(2) ----------------------------------------------------------- 42 Mo 92 91.906810(4) 14.84(35) 95.94(2) 94 93.9050876(20) 9.25(12) 95 94.9058415(20) 15.92(13) 96 95.9046789(20) 16.68(2) 97 96.9060210(20) 9.55(8) 98 97.9054078(20) 24.13(31) 100 99.907477(6) 9.63(23) ----------------------------------------------------------- 43 Tc 97 96.906365(5) [98] 98 97.907216(4) 99 98.9062546(21) ----------------------------------------------------------- 44 Ru 96 95.907598(8) 5.54(14) 101.07(2) 98 97.905287(7) 1.87(3) 99 98.9059393(21) 12.76(14) 100 99.9042197(22) 12.60(7) 101 100.9055822(22) 17.06(2) 102 101.9043495(22) 31.55(14) 104 103.905430(4) 18.62(27) ----------------------------------------------------------- 45 Rh 103 102.905504(3) 100 102.90550(2) ----------------------------------------------------------- 46 Pd 102 101.905608(3) 1.02(1) 106.42(1) 104 103.904035(5) 11.14(8) 105 104.905084(5) 22.33(8) 106 105.903483(5) 27.33(3) 108 107.903894(4) 26.46(9) 110 109.905152(12) 11.72(9) ----------------------------------------------------------- 47 Ag 107 106.905093(6) 51.839(8) 107.8682(2) 109 108.904756(3) 48.161(8) ----------------------------------------------------------- 48 Cd 106 105.906458(6) 1.25(6) 112.411(8) 108 107.904183(6) 0.89(3) 110 109.903006(3) 12.49(18) 111 110.904182(3) 12.80(12) 112 111.9027572(30) 24.13(21) 113 112.9044009(30) 12.22(12) 114 113.9033581(30) 28.73(42) 116 115.904755(3) 7.49(18) ----------------------------------------------------------- 49 In 113 112.904061(4) 4.29(5) 114.818(3) 115 114.903878(5) 95.71(5) ----------------------------------------------------------- 50 Sn 112 111.904821(5) 0.97(1) 118.710(7) 114 113.902782(3) 0.66(1) 115 114.903346(3) 0.34(1) 116 115.901744(3) 14.54(9) 117 116.902954(3) 7.68(7) 118 117.901606(3) 24.22(9) 119 118.903309(3) 8.59(4) 120 119.9021966(27) 32.58(9) 122 121.9034401(29) 4.63(3) 124 123.9052746(15) 5.79(5) ----------------------------------------------------------- 51 Sb 121 120.9038180(24) 57.21(5) 121.760(1) 123 122.9042157(22) 42.79(5) ----------------------------------------------------------- 52 Te 120 119.904020(11) 0.09(1) 127.60(3) 122 121.9030471(20) 2.55(12) 123 122.9042730(19) 0.89(3) 124 123.9028195(16) 4.74(14) 125 124.9044247(20) 7.07(15) 126 125.9033055(20) 18.84(25) 128 127.9044614(19) 31.74(8) 130 129.9062228(21) 34.08(62) ----------------------------------------------------------- 53 I 127 126.904468(4) 100 126.90447(3) ----------------------------------------------------------- 54 Xe 124 123.9058958(21) 0.09(1) 131.293(6) 126 125.904269(7) 0.09(1) 128 127.9035304(15) 1.92(3) 129 128.9047795(9) 26.44(24) 130 129.9035079(10) 4.08(2) 131 130.9050819(10) 21.18(3) 132 131.9041545(12) 26.89(6) 134 133.9053945(9) 10.44(10) 136 135.907220(8) 8.87(16) ----------------------------------------------------------- 55 Cs 133 132.905447(3) 100 132.90545(2) ----------------------------------------------------------- 56 Ba 130 129.906310(7) 0.106(1) 137.327(7) 132 131.905056(3) 0.101(1) 134 133.904503(3) 2.417(18) 135 134.905683(3) 6.592(12) 136 135.904570(3) 7.854(24) 137 136.905821(3) 11.232(24) 138 137.905241(3) 71.698(42) ----------------------------------------------------------- 57 La 138 137.907107(4) 0.090(1) 138.9055(2) 139 138.906348(3) 99.910(1) ----------------------------------------------------------- 58 Ce 136 135.907140(50) 0.185(2) 140.116(1) 138 137.905986(11) 0.251(2) 140 139.905434(3) 88.450(51) 142 141.909240(4) 11.114(51) ----------------------------------------------------------- 59 Pr 141 140.907648(3) 100 140.90765(2) ----------------------------------------------------------- 60 Nd 142 141.907719(3) 27.2(5) 144.24(3) 143 142.909810(3) 12.2(2) 144 143.910083(3) 23.8(3) 145 144.912569(3) 8.3(1) 146 145.913112(3) 17.2(3) 148 147.916889(3) 5.7(1) 150 149.920887(4) 5.6(2) ----------------------------------------------------------- 61 Pm 145 144.912744(4) [145] 147 146.915134(3) ----------------------------------------------------------- 62 Sm 144 143.911995(4) 3.07(7) 150.36(3) 147 146.914893(3) 14.99(18) 148 147.914818(3) 11.24(10) 149 148.917180(3) 13.82(7) 150 149.917271(3) 7.38(1) 152 151.919728(3) 26.75(16) 154 153.922205(3) 22.75(29) ----------------------------------------------------------- 63 Eu 151 150.919846(3) 47.81(3) 151.964(1) 153 152.921226(3) 52.19(3) ----------------------------------------------------------- 64 Gd 152 151.919788(3) 0.20(1) 157.25(3) 154 153.920862(3) 2.18(3) 155 154.922619(3) 14.80(12) 156 155.922120(3) 20.47(9) 157 156.923957(3) 15.65(2) 158 157.924101(3) 24.84(7) 160 159.927051(3) 21.86(19) ----------------------------------------------------------- 65 Tb 159 158.925343(3) 100 158.92534(2) ----------------------------------------------------------- 66 Dy 156 155.924278(7) 0.06(1) 162.500(1) 158 157.924405(4) 0.10(1) 160 159.925194(3) 2.34(8) 161 160.926930(3) 18.91(24) 162 161.926795(3) 25.51(26) 163 162.928728(3) 24.90(16) 164 163.929171(3) 28.18(37) ----------------------------------------------------------- 67 Ho 165 164.930319(3) 100 164.93032(2) ----------------------------------------------------------- 68 Er 162 161.928775(4) 0.14(1) 167.259(3) 164 163.929197(4) 1.61(3) 166 165.930290(3) 33.61(35) 167 166.932045(3) 22.93(17) 168 167.932368(3) 26.78(26) 170 169.935460(3) 14.93(27) ----------------------------------------------------------- 69 Tm 169 168.934211(3) 100 168.93421(2) ----------------------------------------------------------- 70 Yb 168 167.933894(5) 0.13(1) 173.04(3) 170 169.934759(3) 3.04(15) 171 170.936322(3) 14.28(57) 172 171.9363777(30) 21.83(67) 173 172.9382068(30) 16.13(27) 174 173.9388581(30) 31.83(92) 176 175.942568(3) 12.76(41) ----------------------------------------------------------- 71 Lu 175 174.9407679(28) 97.41(2) 174.967(1) 176 175.9426824(28) 2.59(2) ----------------------------------------------------------- 72 Hf 174 173.940040(3) 0.16(1) 178.49(2) 176 175.9414018(29) 5.26(7) 177 176.9432200(27) 18.60(9) 178 177.9436977(27) 27.28(7) 179 178.9458151(27) 13.62(2) 180 179.9465488(27) 35.08(16) ----------------------------------------------------------- 73 Ta 180 179.947466(3) 0.012(2) 180.9479(1) 181 180.947996(3) 99.988(2) ----------------------------------------------------------- 74 W 180 179.946706(5) 0.12(1) 183.84(1) 182 181.948206(3) 26.50(16) 183 182.9502245(29) 14.31(4) 184 183.9509326(29) 30.64(2) 186 185.954362(3) 28.43(19) ----------------------------------------------------------- 75 Re 185 184.9529557(30) 37.40(2) 186.207(1) 187 186.9557508(30) 62.60(2) ----------------------------------------------------------- 76 Os 184 183.952491(3) 0.02(1) 190.23(3) 186 185.953838(3) 1.59(3) 187 186.9557479(30) 1.96(2) 188 187.9558360(30) 13.24(8) 189 188.9581449(30) 16.15(5) 190 189.958445(3) 26.26(2) 192 191.961479(4) 40.78(19) ----------------------------------------------------------- 77 Ir 191 190.960591(3) 37.3(2) 192.217(3) 193 192.962924(3) 62.7(2) ----------------------------------------------------------- 78 Pt 190 189.959930(7) 0.014(1) 195.078(2) 192 191.961035(4) 0.782(7) 194 193.962664(3) 32.967(99) 195 194.964774(3) 33.832(10) 196 195.964935(3) 25.242(41) 198 197.967876(4) 7.163(55) ----------------------------------------------------------- 79 Au 197 196.966552(3) 100 196.96655(2) ----------------------------------------------------------- 80 Hg 196 195.965815(4) 0.15(1) 200.59(2) 198 197.966752(3) 9.97(20) 199 198.968262(3) 16.87(22) 200 199.968309(3) 23.10(19) 201 200.970285(3) 13.18(9) 202 201.970626(3) 29.86(26) 204 203.973476(3) 6.87(15) ----------------------------------------------------------- 81 Tl 203 202.972329(3) 29.524(14) 204.3833(2) 205 204.974412(3) 70.476(14) ----------------------------------------------------------- 82 Pb 204 203.973029(3) 1.4(1) 207.2(1) 206 205.974449(3) 24.1(1) 207 206.975881(3) 22.1(1) 208 207.976636(3) 52.4(1) ----------------------------------------------------------- 83 Bi 209 208.980383(3) 100 208.98038(2) ----------------------------------------------------------- 84 Po 209 208.982416(3) [209] 210 209.982857(3) ----------------------------------------------------------- 85 At 210 209.987131(9) [210] 211 210.987481(4) ----------------------------------------------------------- 86 Rn 211 210.990585(8) [222] 220 220.0113841(29) 222 222.0175705(27) ----------------------------------------------------------- 87 Fr 223 223.0197307(29) [223] ----------------------------------------------------------- 88 Ra 223 223.018497(3) [226] 224 224.0202020(29) 226 226.0254026(27) 228 228.0310641(27) ----------------------------------------------------------- 89 Ac 227 227.0277470(29) [227] ----------------------------------------------------------- 90 Th 230 230.0331266(22) 232.0381(1) 232 232.0380504(22) 100 ----------------------------------------------------------- 91 Pa 231 231.0358789(28) 100 231.03588(2) ----------------------------------------------------------- 92 U 233 233.039628(3) 238.02891(3) 234 234.0409456(21) 0.0055(2) 235 235.0439231(21) 0.7200(51) 236 236.0455619(21) 238 238.0507826(21) 99.2745(106) ----------------------------------------------------------- 93 Np 237 237.0481673(21) [237] 239 239.0529314(23) ----------------------------------------------------------- 94 Pu 238 238.0495534(21) [244] 239 239.0521565(21) 240 240.0538075(21) 241 241.0568453(21) 242 242.0587368(21) 244 244.064198(5) ----------------------------------------------------------- 95 Am 241 241.0568229(21) [243] 243 243.0613727(23) ----------------------------------------------------------- 96 Cm 243 243.0613822(24) [247] 244 244.0627463(21) 245 245.0654856(29) 246 246.0672176(24) 247 247.070347(5) 248 248.072342(5) ----------------------------------------------------------- 97 Bk 247 247.070299(6) [247] 249 249.074980(3) ----------------------------------------------------------- 98 Cf 249 249.074847(3) [251] 250 250.0764000(24) 251 251.079580(5) 252 252.081620(5) ----------------------------------------------------------- 99 Es 252 252.082970(50) [252] ----------------------------------------------------------- 100 Fm 257 257.095099(7) [257] ----------------------------------------------------------- 101 Md 256 256.094050(60) [258] 258 258.098425(5) ----------------------------------------------------------- 102 No 259 259.10102(11)# [259] ----------------------------------------------------------- 103 Lr 262 262.10969(32)# [262] ----------------------------------------------------------- 104 Rf 261 261.10875(11)# [261] ----------------------------------------------------------- 105 Db 262 262.11415(20)# [262] ----------------------------------------------------------- 106 Sg 266 266.12193(31)# [266] ----------------------------------------------------------- 107 Bh 264 264.12473(30)# [264] ----------------------------------------------------------- 108 Hs 277 [277] ----------------------------------------------------------- 109 Mt 268 268.13882(34)# [268] ----------------------------------------------------------- [Abbreviations] # From J. Org. Chem. Ac CH3CO acetyl acac CH3COCHCH3CO acetylacetonate ADP C10H15N5O10P2 adenosine 5-diphosphate AIBN C8H12N4 2,2-azobisisobutyronitrile AMP C10H12N5O6P adenosine 5-monophosphate ATP C10H16N5O13P3 adenosine 5-triphosphate 9-BBN C8H14B 9-borabicyclo[3.3.1]nonyl 9-BBN-H C8H15B 9-borabicyclo[3.3.1]nonane Bn C6H5CH2 benzyl Bzl C6H5CH2 benzyl bpy C5H4NC5H4N 2,2-bipyridyl BOC C4H9OCO tert-butoxycarbonyl Boc C4H9OCO tert-butoxycarbonyl Bu C4H9 butyl n-Bu C4H9 normal (primary) butyl s-Bu C4H9 sec-butyl t-Bu C4H9 tert-butyl Bz C6H5CO benzoyl (not benzyl) cAMP C10H12N5O6P adenosine cyclic 3,5-phosphate CAN (NH4)2Ce(NO3)6 ceric ammonium nitrate CBZ C6H5CH20CO benzyloxycarbonyl Cbz C6H5CH20CO benzyloxycarbonyl c-Hex C6H11 cyclohexyl cod C8H12 1,5-cyclooctadiene cot C8H8 1,3,5,7-cyclooctatetraene Cp C5H5 cyclopentadienyl m-CPBA C6H4CO3H meta-chloroperoxybenzoic acid DABCO C6H12N2 1,4-diazabicyclo[2.2.2]octane dansyl (CH3)2NC10H6SO2 5-(dimethylamino)-1-naphthalenesulfonyl DBN C7H12N2 1,5-diazabicyclo[4.3.0]non-5-ene DBU C9H16N2 1,8-diazabicyclo[5.4.0]undec-7-ene DCC C6H11NCNC6H11 N,N-dicyclohexylcarbodiimide DCE CH2ClCH2Cl 1,2-dichloroethane DDQ C6O2Cl2(CN)2 2,3-dichloro-5,6-dicyano-1,4-benzoquinone DEAD (C2H5OCON)2 diethyl azodicarboxylate DIBALH (C4H9)2AlH diisobutylaluminum hydride DIBAH Bu2AlH diisobutylaluminum hydride DMA CH3CON(CH3)2 dimethylacetamide DMAP NC5H4N(CH3)2 4-(N,N-dimethylamino)pyridine DMDO Me2COO dimethyldioxirane DMD Me2COO dimethyldioxirane DME MeOCH2CH2OMe 1,2-dimethoxyethane DMF HCONMe2 dimethylformamide DMPU C6H12N2O 1,3-dimethyl-3,4,5,6-tetrahydro-2(1H)-pyrimidinone DMSO Me2SO dimethyl sulfoxide DMTrCl (MeOC6H4)2PhCCl 4,4-dimethoxytrityl chloride DMTr (MeOC6H4)2PhC 4,4-dimethoxytrityl DPS BuPh2Si tert-butyldiphenylsilyl DTT (HSCH2CHOH)2 dithiothreitol EDTA ((HO2CCH2)2NCH2)2 ethylenediaminetetraacetic acid Et C2H5 ethyl Fmoc C13H8CH2OCO 9-fluorenylmethoxycarbonyl GTP C10H16N5O14P3 guanosine 5-triphosphate HMPA OP(NMe2)3 hexamethylphosphoric triamide (hexamethylphosphoramide) LAH LiAlH4 lithium aluminum hydride LDA LiN(C3H7)2 lithium diisopropylamide LHMDS LiN(SiMe3)2 lithium hexamethyldisilazane, lithium bis(trimethylsilyl)amide LTMP LiNCMe2(CH2)3CMe2 lithium 2,2,6,6-tetramethylpiperidide Me CH3 methyl MEM MeOCH2CH2OCH2 (2-methoxyethoxy)methyl Mes C6Me3H2 2,4,6-trimethylphenyl (mesityl) [not methylsulfonyl mesyl] MOM MeOCH2 methoxymethyl Ms MeSO2 methylsulfonyl (mesyl) MTBE MeOBu methyl tert-butyl ether NAD+ C21H27N7O14P2 nicotinamide adenine dinucleotide DPN+ C21H27N7O14P2 nicotinamide adenine dinucleotide NADH C21H28N7O14P2 reduced NAD NBS C4H4BrNO2 N-bromosuccinimide NCS C4H4ClNO2 N-chlorosuccinimide NMO C5H11NO2 N-methylmorpholine-N-oxide NMP C5H9NO N-methylpyrrolidone PCC C5H5NHClCrO3 pyridinium chlorochromate PDC C10H10N2H2Cr2O7 pyridinium dichromate Ph C6H5 phenyl piv (CH3)3CCO pivaloyl PPTS C5H5NHO3SC6H4Me pyridinium para-toluenesulfonate Pr C3H7 propyl i-Pr C3H7 isopropyl py C5H5N pyridine TBAB Bu4NBr tetrabutylammonium bromide TBAC Bu4NCl tetrabutylammonium chloride TBS BuMe2Si tert-butyldimethylsilyl TBHP BuOOH tert-butyl hydroperoxide TCA CCl3CO2H trichloroacetic acid TCNE C2(CN)4 tetracyanoethylene TEAB Et4NBr tetraethylammonium bromide Tf CF3SO2 trifluoromethanesulfonyl (triflyl) TFA CF3CO2H trifluoroacetic acid TFAA (CF3CO)2 trifluoroacetic anhydride THF C4H8O tetrahydrofuran THP C5H9O tetrahydropyran-2-yl TIPS (C3H7)3Si triisopropylsilyl TMAI Me4NI tetramethylammonium iodide TMEDA (Me2NCH2)2 N,N,N,N-tetramethyl-1,2-ethylenediamine TMS Me3Si trimethylsilyl Tr Ph3C triphenylmethyl (trityl) Ts MeC6H4SO2 para-toluenesulfonyl (tosyl) # User's abbreviations Nf C10H7 naphthyl Phf C6F5 pentafluorophenyl Acf CF3CO trifluoroacetyl Cp* C5Me5 pentamethylcyclopentadienyl TBA Bu4N tetrabutylammonium TEA Et4N tetraethylammonium TMA Me4N tetramethylammonium hfac CF3COCHCF3CO hexafluoroacetylacetonate dba PhCHCHCOCHCHPh dibenzylideneacetone DMph (C6H4CMe)2 dimethylphenanthrene DMac C10H6CMeCMe dimethylacenaphthylene