コード例 #1
0
ファイル: systems.py プロジェクト: berhane/berhane.github.io
def restoreCoreModels():
	from SimpleSession.versions.v65 import init, restoreViewer, \
	     restoreMolecules, restoreColors, restoreSurfaces, \
	     restoreVRML, restorePseudoBondGroups, restoreModelAssociations
	molInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwZOfYdVCWJhbGxTY2FsZXEDSwZHP8mZmaAAAAB9h1UJcG9pbnRTaXplcQRLBkc/8AAAAAAAAH2HVQVjb2xvcnEFSwZLAH1xBihLAV1xB0sBYUsCXXEISwJhSwNdcQlLA2FLBF1xCksEYUsFXXELSwVhdYdVCnJpYmJvblR5cGVxDEsGSwB9h1UKc3RpY2tTY2FsZXENSwZHP+AAAAAAAAB9h1UMbW1DSUZIZWFkZXJzcQ5dcQ8oTk5OTk5OZVUMYXJvbWF0aWNNb2RlcRBLBksBfYdVCnZkd0RlbnNpdHlxEUsGR0AUAAAAAAAAfYdVBmhpZGRlbnESSwaJfYdVDWFyb21hdGljQ29sb3JxE0sGTn2HVQ9yaWJib25TbW9vdGhpbmdxFEsGSwB9h1UJYXV0b2NoYWlucRVLBoh9h1UKcGRiVmVyc2lvbnEWSwZLAH2HVQhvcHRpb25hbHEXfXEYVQhvcGVuZWRBc3EZiIlLBihVMS9Vc2Vycy90ZW1lbHNvYi9Eb3dubG9hZHMvY29vcmRzL1MyLUExLURNQTEtMS54eXpxGk5OSwF0cRt9cRwoKFUqL1VzZXJzL3RlbWVsc29iL0Rvd25sb2Fkcy9jb29yZHMvMy1JLWQueHl6cR1OTksBdHEeXXEfSwJhKFUrL1VzZXJzL3RlbWVsc29iL0Rvd25sb2Fkcy9jb29yZHMvQTFXMy0xLnh5enEgTk5LAXRxIV1xIksEYShVMS9Vc2Vycy90ZW1lbHNvYi9Eb3dubG9hZHMvY29vcmRzL3dhdGVyLTYtQkstMS54eXpxI05OSwF0cSRdcSVLAGEoVTovVXNlcnMvdGVtZWxzb2IvRG93bmxvYWRzL2Nvb3Jkcy9jb3JhbnV1bGVuZV93YXRlci1vdXQueHl6cSZOTksBdHEnXXEoSwVhKFUrL1VzZXJzL3RlbWVsc29iL0Rvd25sb2Fkcy9jb29yZHMvMV8yLUExLnh5enEpTk5LAXRxKl1xK0sBYXWHh3NVD2xvd2VyQ2FzZUNoYWluc3EsSwaJfYdVCWxpbmVXaWR0aHEtSwZHP/AAAAAAAAB9h1UPcmVzaWR1ZUxhYmVsUG9zcS5LBksAfYdVBG5hbWVxL0sGWEsAAABTMlczLUlfZCBFW1JJLU1QMi9hVltEVFFdWi8vTVAyLzYtMzErRypdIC0xNjI3LjAwMTMgLTEsNjI3LjkxNjEgLTEsNjI4LjIxNzZ9cTAoWAYAAAA2LUJLLTFdcTFLAGFYIAAAAEFjZW5hcGh0aGVuZS0oSDJPKTMgSXNvbWVyIGVmcC0zXXEySwRhWDcAAAAxXzItQTEgRVtSSS1NUDIvYVZbRFRRXVpdCS04NTEuNjI3NAktODUyLjExMzUJLTg1Mi4yNzQ3XXEzSwFhWCEAAABwcmluY2lwYWwgbW9tZW50IGFsaWduZWQgZ2VvbWV0cnldcTRLBWFYSwAAAFMyLUExLURNQTFfRUZQLUQtMzAtcHc5MSAGBkVlPTAuMzEga2MvbSAGBkUwPTAuMjcga2MvbSAGBkcoMjk4Syk9IDAuMTkga2MvbV1xNUsDYXWHVQ9hcm9tYXRpY0Rpc3BsYXlxNksGiX2HVQ9yaWJib25TdGlmZm5lc3NxN0sGRz/pmZmZmZmafYdVCnBkYkhlYWRlcnNxOF1xOSh9cTp9cTt9cTx9cT19cT59cT9lVQNpZHNxQEsGSwBLAIZ9cUEoSwNLAIZdcUJLA2FLAksAhl1xQ0sCYUsFSwCGXXFESwVhSwFLAIZdcUVLAWFLBEsAhl1xRksEYXWHVQ5zdXJmYWNlT3BhY2l0eXFHSwZHv/AAAAAAAAB9h1UQYXJvbWF0aWNMaW5lVHlwZXFISwZLAn2HVRRyaWJib25IaWRlc01haW5jaGFpbnFJSwaIfYdVB2Rpc3BsYXlxSksGiH2HdS4='))
	resInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQZpbnNlcnRxAksGVQEgfYdVC2ZpbGxEaXNwbGF5cQNLBol9h1UEbmFtZXEESwZYAwAAAFVOS32HVQVjaGFpbnEFSwZYAQAAACB9h1UOcmliYm9uRHJhd01vZGVxBksGSwJ9h1UCc3NxB0sGiYmGfYdVCG1vbGVjdWxlcQhLBksAfXEJKEsBTl1xCksBSwGGcQthhksCTl1xDEsCSwGGcQ1hhksDTl1xDksDSwGGcQ9hhksETl1xEEsESwGGcRFhhksFTl1xEksFSwGGcRNhhnWHVQtyaWJib25Db2xvcnEUSwZOfYdVBWxhYmVscRVLBlgAAAAAfYdVCmxhYmVsQ29sb3JxFksGTn2HVQhmaWxsTW9kZXEXSwZLAX2HVQVpc0hldHEYSwaJfYdVC2xhYmVsT2Zmc2V0cRlLBk59h1UIcG9zaXRpb25xGl1xGyhLAUsBhnEcSwFLAYZxHUsBSwGGcR5LAUsBhnEfSwFLAYZxIEsBSwGGcSFlVQ1yaWJib25EaXNwbGF5cSJLBol9h1UIb3B0aW9uYWxxI31VBHNzSWRxJEsGSv////99h3Uu'))
	atomInfo = cPickle.loads(base64.b64decode('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'))
	bondInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQVjb2xvcnECS4NOfYdVBWF0b21zcQNdcQQoXXEFKEsMSw1lXXEGKEsMSw5lXXEHKEsPSxBlXXEIKEsPSxFlXXEJKEsSSxNlXXEKKEsSSxRlXXELKEsVSxZlXXEMKEsVSxdlXXENKEsYSxllXXEOKEsYSxplXXEPKEsbSxxlXXEQKEsbSx1lXXERKEseSx9lXXESKEseSyBlXXETKEseSyFlXXEUKEseSyJlXXEVKEshSyNlXXEWKEsiSyRlXXEXKEslSyZlXXEYKEslSydlXXEZKEsoSyllXXEaKEsoSyplXXEbKEsrSyxlXXEcKEsrSy1lXXEdKEsrSy5lXXEeKEsrSy9lXXEfKEssSzBlXXEgKEsuSzFlXXEhKEsySzNlXXEiKEsySzRlXXEjKEsySzVlXXEkKEsySzZlXXElKEszSzdlXXEmKEs1SzhlXXEnKEs5SzplXXEoKEs5SztlXXEpKEs8Sz1lXXEqKEs8Sz5lXXErKEs/S0BlXXEsKEs/S0FlXXEtKEtCS0NlXXEuKEtCS0RlXXEvKEtES0VlXXEwKEtES0ZlXXExKEtES0dlXXEyKEtIS0llXXEzKEtIS0plXXE0KEtKS0tlXXE1KEtKS0xlXXE2KEtKS01lXXE3KEtOS09lXXE4KEtOS1BlXXE5KEtOS1FlXXE6KEtOS1hlXXE7KEtPS1JlXXE8KEtPS1NlXXE9KEtPS1RlXXE+KEtQS1VlXXE/KEtQS1ZlXXFAKEtQS1dlXXFBKEtZS1plXXFCKEtZS1tlXXFDKEtZS1xlXXFEKEtZS11lXXFFKEteS19lXXFGKEteS2ZlXXFHKEteS2dlXXFIKEtfS2BlXXFJKEtfS2FlXXFKKEtgS2JlXXFLKEtgS3JlXXFMKEthS2NlXXFNKEthS3NlXXFOKEtiS2RlXXFPKEtiS3BlXXFQKEtjS2VlXXFRKEtjS3FlXXFSKEtkS2ZlXXFTKEtkS25lXXFUKEtlS2dlXXFVKEtlS29lXXFWKEtmS2hlXXFXKEtnS2llXXFYKEtoS2llXXFZKEtoS2plXXFaKEtoS2xlXXFbKEtpS2tlXXFcKEtpS21lXXFdKEt0S3VlXXFeKEt0S3ZlXXFfKEt3S3hlXXFgKEt3S3llXXFhKEt6S3tlXXFiKEt6S3xlXXFjKEt9S35lXXFkKEt9S4FlXXFlKEt9S4ZlXXFmKEt+S39lXXFnKEt+S4llXXFoKEt/S4BlXXFpKEt/S4JlXXFqKEuAS4FlXXFrKEuAS4VlXXFsKEuBS4plXXFtKEuCS4NlXXFuKEuCS5BlXXFvKEuDS4RlXXFwKEuDS5FlXXFxKEuES4VlXXFyKEuES5JlXXFzKEuFS4xlXXF0KEuGS4dlXXF1KEuGS45lXXF2KEuHS4hlXXF3KEuHS5NlXXF4KEuIS4llXXF5KEuIS5RlXXF6KEuJS49lXXF7KEuKS4tlXXF8KEuKS41lXXF9KEuLS4xlXXF+KEuLS5VlXXF/KEuMS5ZlXXGAKEuNS45lXXGBKEuNS5dlXXGCKEuOS5hlXXGDKEuPS5BlXXGEKEuPS5llXXGFKEuQS5plXXGGKEubS5xlXXGHKEubS51lZVUFbGFiZWxxiEuDWAAAAAB9h1UIaGFsZmJvbmRxiUuDiH2HVQZyYWRpdXNxikuDRz/JmZmgAAAAfYdVC2xhYmVsT2Zmc2V0cYtLg059h1UIZHJhd01vZGVxjEuDSwF9h1UIb3B0aW9uYWxxjX1VB2Rpc3BsYXlxjkuDSwJ9h3Uu'))
	crdInfo = cPickle.loads(base64.b64decode('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'))
	surfInfo = {'category': (6, u'main', {}), 'probeRadius': (6, 1.4, {}), 'pointSize': (6, 1, {}), 'name': [u'MSMS main surface of 6-BK-1', u'MSMS main surface of 1_2-A1 E[RI-MP2/aV[DTQ]Z]\t-851.6274\t-852.1135\t-852.2747', u'MSMS main surface of S2W3-I_d E[RI-MP2/aV[DTQ]Z//MP2/6-31+G*] -1627.0013 -1,627.9161 -1,628.2176', u'MSMS main surface of S2-A1-DMA1_EFP-D-30-pw91 \x06\x06Ee=0.31 kc/m \x06\x06E0=0.27 kc/m \x06\x06G(298K)= 0.19 kc/m', u'MSMS main surface of Acenaphthene-(H2O)3 Isomer efp-3', u'MSMS main surface of principal moment aligned geometry'], 'density': (6, 2, {}), 'colorMode': (6, 1, {}), 'useLighting': (6, True, {}), 'transparencyBlendMode': (6, 1, {}), 'molecule': [0, 1, 2, 3, 4, 5], 'smoothLines': (6, False, {}), 'lineWidth': (6, 1, {}), 'allComponents': (6, True, {}), 'twoSidedLighting': (6, True, {}), 'customVisibility': [None, None, None, None, None, None], 'drawMode': (6, 1, {}), 'display': (6, True, {}), 'customColors': [(0, None, {}), (0, None, {}), (0, None, {}), (0, None, {}), (0, None, {}), (0, None, {})]}
	vrmlInfo = {'subid': (0, None, {}), 'display': (0, None, {}), 'id': (0, None, {}), 'vrmlString': [], 'name': (0, None, {})}
	colors = {u'Ru': ((0.141176, 0.560784, 0.560784), 1, u'default'), u'Re': ((0.14902, 0.490196, 0.670588), 1, u'default'), u'Rf': ((0.8, 0, 0.34902), 1, u'default'), u'Ra': ((0, 0.490196, 0), 1, u'default'), u'Rb': ((0.439216, 0.180392, 0.690196), 1, u'default'), u'Rn': ((0.258824, 0.509804, 0.588235), 1, u'default'), u'Rh': ((0.0392157, 0.490196, 0.54902), 1, u'default'), u'Be': ((0.760784, 1, 0), 1, u'default'), u'Ba': ((0, 0.788235, 0), 1, u'default'), u'Bh': ((0.878431, 0, 0.219608), 1, u'default'), u'Bi': ((0.619608, 0.309804, 0.709804), 1, u'default'), u'Bk': ((0.541176, 0.309804, 0.890196), 1, u'default'), u'Br': ((0.65098, 0.160784, 0.160784), 1, u'default'), u'H': ((1, 1, 1), 1, u'default'), u'P': ((1, 0.501961, 0), 1, u'default'), u'Os': ((0.14902, 0.4, 0.588235), 1, u'default'), u'Es': ((0.701961, 0.121569, 0.831373), 1, u'default'), u'Hg': ((0.721569, 0.721569, 0.815686), 1, u'default'), u'Ge': ((0.4, 0.560784, 0.560784), 1, u'default'), u'Gd': ((0.270588, 1, 0.780392), 1, u'default'), u'Ga': ((0.760784, 0.560784, 0.560784), 1, u'default'), u'Pr': ((0.85098, 1, 0.780392), 1, u'default'),
u'Pt': ((0.815686, 0.815686, 0.878431), 1, u'default'), u'Pu': ((0, 0.419608, 1), 1, u'default'), u'C': ((0.564706, 0.564706, 0.564706), 1, u'default'), u'Pb': ((0.341176, 0.34902, 0.380392), 1, u'default'), u'Pa': ((0, 0.631373, 1), 1, u'default'), u'Pd': ((0, 0.411765, 0.521569), 1, u'default'), u'Xe': ((0.258824, 0.619608, 0.690196), 1, u'default'), u'Po': ((0.670588, 0.360784, 0), 1, u'default'), u'Pm': ((0.639216, 1, 0.780392), 1, u'default'), u'Hs': ((0.901961, 0, 0.180392), 1, u'default'), u'Ho': ((0, 1, 0.611765), 1, u'default'), u'Hf': ((0.301961, 0.760784, 1), 1, u'default'), u'Mo': ((0.329412, 0.709804, 0.709804), 1, u'default'), u'He': ((0.85098, 1, 1), 1, u'default'), u'Md': ((0.701961, 0.0509804, 0.65098), 1, u'default'), u'Mg': ((0.541176, 1, 0), 1, u'default'), u'K': ((0.560784, 0.25098, 0.831373), 1, u'default'), u'Mn': ((0.611765, 0.478431, 0.780392), 1, u'default'), u'O': ((1, 0.0509804, 0.0509804), 1, u'default'), u'Mt': ((0.921569, 0, 0.14902), 1, u'default'), u'S': ((1, 1, 0.188235), 1, u'default'), u'W': ((0.129412, 0.580392, 0.839216), 1, u'default'),
u'sky blue': ((0.529412, 0.807843, 0.921569), 1, u'default'), u'Zn': ((0.490196, 0.501961, 0.690196), 1, u'default'), u'plum': ((0.866667, 0.627451, 0.866667), 1, u'default'), u'Eu': ((0.380392, 1, 0.780392), 1, u'default'), u'Zr': ((0.580392, 0.878431, 0.878431), 1, u'default'), u'Er': ((0, 0.901961, 0.458824), 1, u'default'), u'Ni': ((0.313725, 0.815686, 0.313725), 1, u'default'), u'No': ((0.741176, 0.0509804, 0.529412), 1, u'default'), u'Na': ((0.670588, 0.360784, 0.94902), 1, u'default'), u'Nb': ((0.45098, 0.760784, 0.788235), 1, u'default'), u'Nd': ((0.780392, 1, 0.780392), 1, u'default'), u'Ne': ((0.701961, 0.890196, 0.960784), 1, u'default'), u'Np': ((0, 0.501961, 1), 1, u'default'), u'Fr': ((0.258824, 0, 0.4), 1, u'default'), u'Fe': ((0.878431, 0.4, 0.2), 1, u'default'), u'Fm': ((0.701961, 0.121569, 0.729412), 1, u'default'), u'B': ((1, 0.709804, 0.709804), 1, u'default'), u'F': ((0.564706, 0.878431, 0.313725), 1, u'default'), u'Sr': ((0, 1, 0), 1, u'default'), u'N': ((0.188235, 0.313725, 0.972549), 1, u'default'), u'Kr': ((0.360784, 0.721569, 0.819608), 1, u'default'),
u'Si': ((0.941176, 0.784314, 0.627451), 1, u'default'), u'Sn': ((0.4, 0.501961, 0.501961), 1, u'default'), u'Sm': ((0.560784, 1, 0.780392), 1, u'default'), u'V': ((0.65098, 0.65098, 0.670588), 1, u'default'), u'Sc': ((0.901961, 0.901961, 0.901961), 1, u'default'), u'Sb': ((0.619608, 0.388235, 0.709804), 1, u'default'), u'Sg': ((0.85098, 0, 0.270588), 1, u'default'), u'Se': ((1, 0.631373, 0), 1, u'default'), u'Co': ((0.941176, 0.564706, 0.627451), 1, u'default'), u'Cm': ((0.470588, 0.360784, 0.890196), 1, u'default'), u'Cl': ((0.121569, 0.941176, 0.121569), 1, u'default'), u'Ca': ((0.239216, 1, 0), 1, u'default'), u'Cf': ((0.631373, 0.211765, 0.831373), 1, u'default'), u'Ce': ((1, 1, 0.780392), 1, u'default'), u'Cd': ((1, 0.85098, 0.560784), 1, u'default'), u'Lu': ((0, 0.670588, 0.141176), 1, u'default'), u'light green': ((0.564706, 0.933333, 0.564706), 1, u'default'), u'Cs': ((0.341176, 0.0901961, 0.560784), 1, u'default'), u'Cr': ((0.541176, 0.6, 0.780392), 1, u'default'), u'Cu': ((0.784314, 0.501961, 0.2), 1, u'default'), u'La': ((0.439216, 0.831373, 1), 1, u'default'),
u'Li': ((0.8, 0.501961, 1), 1, u'default'), u'Tl': ((0.65098, 0.329412, 0.301961), 1, u'default'), u'Tm': ((0, 0.831373, 0.321569), 1, u'default'), u'Lr': ((0.780392, 0, 0.4), 1, u'default'), u'Th': ((0, 0.729412, 1), 1, u'default'), u'Ti': ((0.74902, 0.760784, 0.780392), 1, u'default'), u'tan': ((0.823529, 0.705882, 0.54902), 1, u'default'), u'Te': ((0.831373, 0.478431, 0), 1, u'default'), u'Tb': ((0.188235, 1, 0.780392), 1, u'default'), u'Tc': ((0.231373, 0.619608, 0.619608), 1, u'default'), u'Ta': ((0.301961, 0.65098, 1), 1, u'default'), u'Yb': ((0, 0.74902, 0.219608), 1, u'default'), u'Db': ((0.819608, 0, 0.309804), 1, u'default'), u'Dy': ((0.121569, 1, 0.780392), 1, u'default'), u'I': ((0.580392, 0, 0.580392), 1, u'default'), u'salmon': ((0.980392, 0.501961, 0.447059), 1, u'default'), u'U': ((0, 0.560784, 1), 1, u'default'), u'Y': ((0.580392, 1, 1), 1, u'default'), u'Ac': ((0.439216, 0.670588, 0.980392), 1, u'default'), u'Ag': ((0.752941, 0.752941, 0.752941), 1, u'default'), u'Ir': ((0.0901961, 0.329412, 0.529412), 1, u'default'), u'Am': ((0.329412, 0.360784, 0.94902), 1, u'default'),
u'Al': ((0.74902, 0.65098, 0.65098), 1, u'default'), u'As': ((0.741176, 0.501961, 0.890196), 1, u'default'), u'Ar': ((0.501961, 0.819608, 0.890196), 1, u'default'), u'Au': ((1, 0.819608, 0.137255), 1, u'default'), u'At': ((0.458824, 0.309804, 0.270588), 1, u'default'), u'In': ((0.65098, 0.458824, 0.45098), 1, u'default'), u'light gray': ((0.827451, 0.827451, 0.827451), 1, u'default')}
	materials = {u'default': ((0.85, 0.85, 0.85), 30)}
	pbInfo = {'category': [u'distance monitor', u'hydrogen bonds'], 'bondInfo': [{'color': (0, None, {}), 'atoms': [], 'label': (0, None, {}), 'halfbond': (0, None, {}), 'labelColor': (0, None, {}), 'labelOffset': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {})}, {'color': (27, 13, {}), 'atoms': [[14, 15], [16, 18], [17, 27], [20, 21], [22, 27], [25, 12], [29, 24], [35, 37], [36, 40], [39, 31], [42, 32], [48, 53], [49, 52], [55, 57], [56, 60], [59, 47], [62, 63], [65, 54], [73, 70], [88, 77], [88, 75], [81, 71], [90, 75], [93, 69], [118, 119], [120, 122], [123, 116]], 'label': (27, u'', {}), 'halfbond': (27, False, {}), 'labelColor': (27, None, {}), 'labelOffset': (27, chimera.Vector(-1e+99, 0.0, 0.0), {chimera.Vector(-1e+99, 0.0, 0.0): [7], chimera.Vector(-1e+99, 0.0, 0.0): [21], chimera.Vector(-1e+99, 0.0, 0.0): [22], chimera.Vector(-1e+99, 0.0, 0.0): [23], chimera.Vector(-1e+99, 0.0, 0.0): [24], chimera.Vector(-1e+99, 0.0, 0.0): [2], chimera.Vector(-1e+99, 0.0, 0.0): [4], chimera.Vector(-1e+99, 0.0, 0.0): [26], chimera.Vector(-1e+99, 0.0, 0.0): [9], chimera.Vector(-1e+99, 0.0, 0.0): [1], chimera.Vector(-1e+99, 0.0, 0.0): [25], chimera.Vector(-1e+99, 0.0, 0.0): [13], chimera.Vector(-1e+99, 0.0, 0.0): [0], chimera.Vector(-1e+99, 0.0, 0.0): [10], chimera.Vector(-1e+99, 0.0, 0.0): [11], chimera.Vector(-1e+99, 0.0, 0.0): [12], chimera.Vector(-1e+99, 0.0, 0.0): [3], chimera.Vector(-1e+99, 0.0, 0.0): [14], chimera.Vector(-1e+99, 0.0, 0.0): [15], chimera.Vector(-1e+99, 0.0, 0.0): [16], chimera.Vector(-1e+99, 0.0, 0.0): [17], chimera.Vector(-1e+99, 0.0, 0.0): [18], chimera.Vector(-1e+99, 0.0, 0.0): [19], chimera.Vector(-1e+99, 0.0, 0.0): [6], chimera.Vector(-1e+99, 0.0, 0.0): [20], chimera.Vector(-1e+99, 0.0, 0.0): [8]}),
'drawMode': (27, 0, {}), 'display': (27, 2, {})}], 'lineType': (2, 1, {2: [0]}), 'color': (2, 11, {12: [1]}), 'optional': {'fixedLabels': (True, False, (2, False, {None: [1]}))}, 'display': (2, True, {}), 'showStubBonds': (2, False, {}), 'lineWidth': (2, 1, {}), 'stickScale': (2, 1, {}), 'id': [-2, -1]}
	modelAssociations = {}
	colorInfo = (16, (u'', (0, 0, 1, 1)), {(u'H', (1, 1, 1, 1)): [7], (u'S', (1, 1, 0.188235, 1)): [8], (u'light green', (0.564706, 0.933333, 0.564706, 1)): [3], (u'N', (0.188235, 0.313725, 0.972549, 1)): [9], (u'green', (0, 1, 0, 1)): [15], (u'O', (1, 0.0509804, 0.0509804, 1)): [6], (u'sky blue', (0.529412, 0.807843, 0.921569, 1)): [1], (u'tan', (0.823529, 0.705882, 0.54902, 1)): [0], (u'plum', (0.866667, 0.627451, 0.866667, 1)): [2], (u'light gray', (0.827451, 0.827451, 0.827451, 1)): [5], (u'salmon', (0.980392, 0.501961, 0.447059, 1)): [4], (u'white', (1, 1, 1, 1)): [14], (u'C', (0.564706, 0.564706, 0.564706, 1)): [10], (u'gray', (0.745, 0.745, 0.745, 1)): [12]})
	viewerInfo = {'cameraAttrs': {'center': (9.3963327286629, -5.2188747823001, -0.095359999999999), 'fieldOfView': 25.50160439021, 'nearFar': (16.239534862196, -16.430254862196), 'ortho': False, 'eyeSeparation': 50.8, 'focal': -0.095359999999999}, 'viewerAttrs': {'silhouetteColor': None, 'clipping': False, 'showSilhouette': True, 'showShadows': False, 'viewSize': 17.330834895913, 'labelsOnTop': True, 'depthCueRange': (0.5, 1), 'silhouetteWidth': 2, 'singleLayerTransparency': True, 'shadowTextureSize': 2048, 'backgroundImage': [None, 1, 2, 1, 0, 0], 'backgroundGradient': [(None, [(0.941176, 0.941176, 0.941176, 1), (0.741176, 0.741176, 0.741176, 1), (0.388235, 0.388235, 0.388235, 1)], 1), 1, 0, 0], 'depthCue': False, 'highlight': 0, 'scaleFactor': 1.2070993261352, 'angleDependentTransparency': True, 'backgroundMethod': 0}, 'viewerHL': 15, 'cameraMode': 'mono', 'detail': 5, 'viewerFog': None, 'viewerBG': 14}

	replyobj.status("Initializing session restore...", blankAfter=0,
		secondary=True)
	from SimpleSession.versions.v65 import expandSummary
	init(dict(enumerate(expandSummary(colorInfo))))
	replyobj.status("Restoring colors...", blankAfter=0,
		secondary=True)
	restoreColors(colors, materials)
	replyobj.status("Restoring molecules...", blankAfter=0,
		secondary=True)
	restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
	replyobj.status("Restoring surfaces...", blankAfter=0,
		secondary=True)
	restoreSurfaces(surfInfo)
	replyobj.status("Restoring VRML models...", blankAfter=0,
		secondary=True)
	restoreVRML(vrmlInfo)
	replyobj.status("Restoring pseudobond groups...", blankAfter=0,
		secondary=True)
	restorePseudoBondGroups(pbInfo)
	replyobj.status("Restoring model associations...", blankAfter=0,
		secondary=True)
	restoreModelAssociations(modelAssociations)
	replyobj.status("Restoring camera...", blankAfter=0,
		secondary=True)
	restoreViewer(viewerInfo)
コード例 #2
0
def restoreCoreModels():
	from SimpleSession.versions.v65 import init, restoreViewer, \
	     restoreMolecules, restoreColors, restoreSurfaces, \
	     restoreVRML, restorePseudoBondGroups, restoreModelAssociations
	molInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwJOfYdVCWJhbGxTY2FsZXEDSwJHP9AAAAAAAAB9h1UJcG9pbnRTaXplcQRLAkc/8AAAAAAAAH2HVQVjb2xvcnEFSwJLAH1xBksBXXEHSwFhc4dVCnJpYmJvblR5cGVxCEsCSwB9h1UKc3RpY2tTY2FsZXEJSwJHP/AAAAAAAAB9h1UMbW1DSUZIZWFkZXJzcQpdcQsoTk5lVQxhcm9tYXRpY01vZGVxDEsCSwF9h1UKdmR3RGVuc2l0eXENSwJHQBQAAAAAAAB9h1UGaGlkZGVucQ5LAol9h1UNYXJvbWF0aWNDb2xvcnEPSwJOfYdVD3JpYmJvblNtb290aGluZ3EQSwJLAH2HVQlhdXRvY2hhaW5xEUsCiH2HVQpwZGJWZXJzaW9ucRJLAksAfYdVCG9wdGlvbmFscRN9VQ9sb3dlckNhc2VDaGFpbnNxFEsCiX2HVQlsaW5lV2lkdGhxFUsCRz/wAAAAAAAAfYdVD3Jlc2lkdWVMYWJlbFBvc3EWSwJLAH2HVQRuYW1lcRdLAlgIAAAAdmFjLmNyZHN9h1UPYXJvbWF0aWNEaXNwbGF5cRhLAol9h1UPcmliYm9uU3RpZmZuZXNzcRlLAkc/6ZmZmZmZmn2HVQpwZGJIZWFkZXJzcRpdcRsofXEcfXEdZVUDaWRzcR5LAksBSwCGfXEfSwBLAIZdcSBLAGFzh1UOc3VyZmFjZU9wYWNpdHlxIUsCR7/wAAAAAAAAfYdVEGFyb21hdGljTGluZVR5cGVxIksCSwJ9h1UUcmliYm9uSGlkZXNNYWluY2hhaW5xI0sCiH2HVQdkaXNwbGF5cSRLAoh9h3Uu'))
	resInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQZpbnNlcnRxAksOVQEgfYdVC2ZpbGxEaXNwbGF5cQNLDol9h1UEbmFtZXEESw5YAwAAAE1HT32HVQVjaGFpbnEFSw5YAQAAAEF9h1UOcmliYm9uRHJhd01vZGVxBksOSwJ9h1UCc3NxB0sOiYmGfYdVCG1vbGVjdWxlcQhLDksAfXEJSwFOXXEKSwdLB4ZxC2GGc4dVC3JpYmJvbkNvbG9ycQxLDk59h1UFbGFiZWxxDUsOWAAAAAB9h1UKbGFiZWxDb2xvcnEOSw5OfYdVCGZpbGxNb2RlcQ9LDksBfYdVBWlzSGV0cRBLDol9h1ULbGFiZWxPZmZzZXRxEUsOTn2HVQhwb3NpdGlvbnESXXETKEsESweGcRRLBEsHhnEVZVUNcmliYm9uRGlzcGxheXEWSw6JfYdVCG9wdGlvbmFscRd9VQRzc0lkcRhLDkr/////fYd1Lg=='))
	atomInfo = cPickle.loads(base64.b64decode('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'))
	bondInfo = cPickle.loads(base64.b64decode('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'))
	crdInfo = cPickle.loads(base64.b64decode('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'))
	surfInfo = {'category': (1, u'main', {}), 'probeRadius': (1, 1.4, {}), 'pointSize': (1, 1, {}), 'name': [u'MSMS main surface of vac.crds'], 'density': (1, 20, {}), 'colorMode': (1, 1, {}), 'useLighting': (1, True, {}), 'transparencyBlendMode': (1, 1, {}), 'molecule': [0], 'smoothLines': (1, False, {}), 'lineWidth': (1, 1, {}), 'allComponents': (1, True, {}), 'twoSidedLighting': (1, True, {}), 'customVisibility': [None], 'drawMode': (1, 0, {}), 'display': (1, True, {}), 'customColors': [(0, None, {})]}
	vrmlInfo = {'subid': (0, None, {}), 'display': (0, None, {}), 'id': (0, None, {}), 'vrmlString': [], 'name': (0, None, {})}
	colors = {'Ru': ((0.141176, 0.560784, 0.560784), 1, u'default'), 'Re': ((0.14902, 0.490196, 0.670588), 1, u'default'), 'Rf': ((0.8, 0, 0.34902), 1, u'default'), 'Ra': ((0, 0.490196, 0), 1, u'default'), 'Rb': ((0.439216, 0.180392, 0.690196), 1, u'default'), 'Rn': ((0.258824, 0.509804, 0.588235), 1, u'default'), 'Rh': ((0.0392157, 0.490196, 0.54902), 1, u'default'), 'Be': ((0.760784, 1, 0), 1, u'default'), 'Ba': ((0, 0.788235, 0), 1, u'default'), 'Bh': ((0.878431, 0, 0.219608), 1, u'default'), 'Bi': ((0.619608, 0.309804, 0.709804), 1, u'default'), 'Bk': ((0.541176, 0.309804, 0.890196), 1, u'default'), 'Br': ((0.65098, 0.160784, 0.160784), 1, u'default'), 'H': ((1, 1, 1), 1, u'default'), 'P': ((1, 0.501961, 0), 1, u'default'), 'Os': ((0.14902, 0.4, 0.588235), 1, u'default'), 'Ge': ((0.4, 0.560784, 0.560784), 1, u'default'), 'Gd': ((0.270588, 1, 0.780392), 1, u'default'), 'Ga': ((0.760784, 0.560784, 0.560784), 1, u'default'), 'Pr': ((0.85098, 1, 0.780392), 1, u'default'), 'Pt': ((0.815686, 0.815686, 0.878431), 1, u'default'), 'Pu': ((0, 0.419608, 1), 1, u'default'),
'C': ((0.564706, 0.564706, 0.564706), 1, u'default'), 'Pb': ((0.341176, 0.34902, 0.380392), 1, u'default'), 'Pa': ((0, 0.631373, 1), 1, u'default'), 'Pd': ((0, 0.411765, 0.521569), 1, u'default'), 'Cd': ((1, 0.85098, 0.560784), 1, u'default'), 'Po': ((0.670588, 0.360784, 0), 1, u'default'), 'Pm': ((0.639216, 1, 0.780392), 1, u'default'), 'Hs': ((0.901961, 0, 0.180392), 1, u'default'), 'Ho': ((0, 1, 0.611765), 1, u'default'), 'Hf': ((0.301961, 0.760784, 1), 1, u'default'), 'Hg': ((0.721569, 0.721569, 0.815686), 1, u'default'), 'He': ((0.85098, 1, 1), 1, u'default'), 'Md': ((0.701961, 0.0509804, 0.65098), 1, u'default'), 'Mg': ((0.541176, 1, 0), 1, u'default'), 'dim gray': ((0.411765, 0.411765, 0.411765), 1, u'default'), 'K': ((0.560784, 0.25098, 0.831373), 1, u'default'), 'Mn': ((0.611765, 0.478431, 0.780392), 1, u'default'), 'O': ((1, 0.0509804, 0.0509804), 1, u'default'), 'dark gray': ((0.662745, 0.662745, 0.662745), 1, u'default'), 'Mt': ((0.921569, 0, 0.14902), 1, u'default'), 'S': ((1, 1, 0.188235), 1, u'default'), 'W': ((0.129412, 0.580392, 0.839216), 1, u'default'),
'Zn': ((0.490196, 0.501961, 0.690196), 1, u'default'), 'Eu': ((0.380392, 1, 0.780392), 1, u'default'), 'Zr': ((0.580392, 0.878431, 0.878431), 1, u'default'), 'Er': ((0, 0.901961, 0.458824), 1, u'default'), 'Ni': ((0.313725, 0.815686, 0.313725), 1, u'default'), 'No': ((0.741176, 0.0509804, 0.529412), 1, u'default'), 'Na': ((0.670588, 0.360784, 0.94902), 1, u'default'), 'Nb': ((0.45098, 0.760784, 0.788235), 1, u'default'), 'Nd': ((0.780392, 1, 0.780392), 1, u'default'), 'Ne': ((0.701961, 0.890196, 0.960784), 1, u'default'), 'Np': ((0, 0.501961, 1), 1, u'default'), 'Fr': ((0.258824, 0, 0.4), 1, u'default'), 'Fe': ((0.878431, 0.4, 0.2), 1, u'default'), 'Fm': ((0.701961, 0.121569, 0.729412), 1, u'default'), 'B': ((1, 0.709804, 0.709804), 1, u'default'), 'F': ((0.564706, 0.878431, 0.313725), 1, u'default'), 'Sr': ((0, 1, 0), 1, u'default'), 'N': ((0.188235, 0.313725, 0.972549), 1, u'default'), 'Kr': ((0.360784, 0.721569, 0.819608), 1, u'default'), 'Si': ((0.941176, 0.784314, 0.627451), 1, u'default'), 'Sn': ((0.4, 0.501961, 0.501961), 1, u'default'), 'Sm': ((0.560784, 1, 0.780392), 1, u'default'),
'V': ((0.65098, 0.65098, 0.670588), 1, u'default'), 'Sc': ((0.901961, 0.901961, 0.901961), 1, u'default'), 'Sb': ((0.619608, 0.388235, 0.709804), 1, u'default'), 'Sg': ((0.85098, 0, 0.270588), 1, u'default'), 'Se': ((1, 0.631373, 0), 1, u'default'), 'Co': ((0.941176, 0.564706, 0.627451), 1, u'default'), 'Cm': ((0.470588, 0.360784, 0.890196), 1, u'default'), 'Cl': ((0.121569, 0.941176, 0.121569), 1, u'default'), 'Ca': ((0.239216, 1, 0), 1, u'default'), 'Cf': ((0.631373, 0.211765, 0.831373), 1, u'default'), 'Ce': ((1, 1, 0.780392), 1, u'default'), 'Xe': ((0.258824, 0.619608, 0.690196), 1, u'default'), 'Tm': ((0, 0.831373, 0.321569), 1, u'default'), 'Cs': ((0.341176, 0.0901961, 0.560784), 1, u'default'), 'Cr': ((0.541176, 0.6, 0.780392), 1, u'default'), 'Cu': ((0.784314, 0.501961, 0.2), 1, u'default'), 'La': ((0.439216, 0.831373, 1), 1, u'default'), 'Li': ((0.8, 0.501961, 1), 1, u'default'), 'Tl': ((0.65098, 0.329412, 0.301961), 1, u'default'), 'Lu': ((0, 0.670588, 0.141176), 1, u'default'), 'Lr': ((0.780392, 0, 0.4), 1, u'default'), 'Th': ((0, 0.729412, 1), 1, u'default'),
'Ti': ((0.74902, 0.760784, 0.780392), 1, u'default'), 'Te': ((0.831373, 0.478431, 0), 1, u'default'), 'Tb': ((0.188235, 1, 0.780392), 1, u'default'), 'Tc': ((0.231373, 0.619608, 0.619608), 1, u'default'), 'Ta': ((0.301961, 0.65098, 1), 1, u'default'), 'Yb': ((0, 0.74902, 0.219608), 1, u'default'), 'Db': ((0.819608, 0, 0.309804), 1, u'default'), 'Dy': ((0.121569, 1, 0.780392), 1, u'default'), 'At': ((0.458824, 0.309804, 0.270588), 1, u'default'), 'I': ((0.580392, 0, 0.580392), 1, u'default'), 'medium purple': ((0.576471, 0.439216, 0.858824), 1, u'default'), 'U': ((0, 0.560784, 1), 1, u'default'), 'Y': ((0.580392, 1, 1), 1, u'default'), 'Ac': ((0.439216, 0.670588, 0.980392), 1, u'default'), 'Ag': ((0.752941, 0.752941, 0.752941), 1, u'default'), 'Ir': ((0.0901961, 0.329412, 0.529412), 1, u'default'), 'Am': ((0.329412, 0.360784, 0.94902), 1, u'default'), 'Al': ((0.74902, 0.65098, 0.65098), 1, u'default'), 'As': ((0.741176, 0.501961, 0.890196), 1, u'default'), 'Ar': ((0.501961, 0.819608, 0.890196), 1, u'default'), 'Au': ((1, 0.819608, 0.137255), 1, u'default'),
'Es': ((0.701961, 0.121569, 0.831373), 1, u'default'), 'In': ((0.65098, 0.458824, 0.45098), 1, u'default'), 'Mo': ((0.329412, 0.709804, 0.709804), 1, u'default'), 'light gray': ((0.827451, 0.827451, 0.827451), 1, u'default')}
	materials = {u'default': ((0.51, 0.51, 0.51), 52)}
	pbInfo = {'category': [u'distance monitor'], 'bondInfo': [{'color': (0, None, {}), 'atoms': [], 'label': (0, None, {}), 'halfbond': (0, None, {}), 'labelColor': (0, None, {}), 'labelOffset': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {})}], 'lineType': (1, 2, {}), 'color': (1, 7, {}), 'optional': {'fixedLabels': (True, False, (1, False, {}))}, 'display': (1, True, {}), 'showStubBonds': (1, False, {}), 'lineWidth': (1, 1, {}), 'stickScale': (1, 1, {}), 'id': [-2]}
	modelAssociations = {}
	colorInfo = (9, (u'H', (1, 1, 1, 1)), {(u'', (1, 0, 1, 1)): [8], (u'', (0.0279974, 0.740341, 0.113875, 1)): [1], (u'O', (1, 0.0509804, 0.0509804, 1)): [4], (u'', (0.734059, 0.65845, 0.302988, 1)): [0], (u'dim gray', (0.411765, 0.411765, 0.411765, 1)): [6], (u'yellow', (1, 1, 0, 1)): [7], (u'white', (1, 1, 1, 1)): [5], (u'C', (0.564706, 0.564706, 0.564706, 1)): [2]})
	viewerInfo = {'cameraAttrs': {'center': (-1.903239470786e-16, -4.4408920985006e-16, 4.9750714326736), 'fieldOfView': 14.739475782435, 'nearFar': (11.310094000031, -5.9002567811189), 'ortho': True, 'eyeSeparation': 50.8, 'focal': -4.4735000143051}, 'viewerAttrs': {'silhouetteColor': None, 'clipping': True, 'showSilhouette': False, 'showShadows': False, 'viewSize': 11.960102564103, 'labelsOnTop': False, 'depthCueRange': (0.5, 0.9200000166893), 'silhouetteWidth': 2, 'singleLayerTransparency': True, 'shadowTextureSize': 8192, 'backgroundImage': [None, 1, 2, 1, 0, 0], 'backgroundGradient': [('Chimera default', [(1, 1, 1, 1), (0, 0, 1, 1)], 1), 1, 0, 0], 'depthCue': True, 'highlight': 0, 'scaleFactor': 1, 'angleDependentTransparency': False, 'backgroundMethod': 0}, 'viewerHL': 8, 'cameraMode': 'mono', 'detail': 15, 'viewerFog': None, 'viewerBG': 5}

	replyobj.status("Initializing session restore...", blankAfter=0,
		secondary=True)
	from SimpleSession.versions.v65 import expandSummary
	init(dict(enumerate(expandSummary(colorInfo))))
	replyobj.status("Restoring colors...", blankAfter=0,
		secondary=True)
	restoreColors(colors, materials)
	replyobj.status("Restoring molecules...", blankAfter=0,
		secondary=True)
	restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
	replyobj.status("Restoring surfaces...", blankAfter=0,
		secondary=True)
	restoreSurfaces(surfInfo)
	replyobj.status("Restoring VRML models...", blankAfter=0,
		secondary=True)
	restoreVRML(vrmlInfo)
	replyobj.status("Restoring pseudobond groups...", blankAfter=0,
		secondary=True)
	restorePseudoBondGroups(pbInfo)
	replyobj.status("Restoring model associations...", blankAfter=0,
		secondary=True)
	restoreModelAssociations(modelAssociations)
	replyobj.status("Restoring camera...", blankAfter=0,
		secondary=True)
	restoreViewer(viewerInfo)
def restoreCoreModels():
    from SimpleSession.versions.v65 import init, restoreViewer, \
         restoreMolecules, restoreColors, restoreSurfaces, \
         restoreVRML, restorePseudoBondGroups, restoreModelAssociations
    molInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwJOfYdVCWJhbGxTY2FsZXEDSwJHP9AAAAAAAAB9h1UJcG9pbnRTaXplcQRLAkc/8AAAAAAAAH2HVQVjb2xvcnEFSwJLAH1xBksBXXEHSwFhc4dVCnJpYmJvblR5cGVxCEsCSwB9h1UKc3RpY2tTY2FsZXEJSwJHP/AAAAAAAAB9h1UMbW1DSUZIZWFkZXJzcQpdcQsoTk5lVQxhcm9tYXRpY01vZGVxDEsCSwF9h1UKdmR3RGVuc2l0eXENSwJHQBQAAAAAAAB9h1UGaGlkZGVucQ5LAol9h1UNYXJvbWF0aWNDb2xvcnEPSwJOfYdVD3JpYmJvblNtb290aGluZ3EQSwJLAH2HVQlhdXRvY2hhaW5xEUsCiH2HVQpwZGJWZXJzaW9ucRJLAksAfYdVCG9wdGlvbmFscRN9VQ9sb3dlckNhc2VDaGFpbnNxFEsCiX2HVQlsaW5lV2lkdGhxFUsCRz/wAAAAAAAAfYdVD3Jlc2lkdWVMYWJlbFBvc3EWSwJLAH2HVQRuYW1lcRdLAlgYAAAAYmV0YV9nYWZmX21pbmltaXplZC5yc3Q3fXEYWBwAAABiZXRhX3NtaXJub2ZmX21pbmltaXplZC5yc3Q3XXEZSwFhc4dVD2Fyb21hdGljRGlzcGxheXEaSwKJfYdVD3JpYmJvblN0aWZmbmVzc3EbSwJHP+mZmZmZmZp9h1UKcGRiSGVhZGVyc3EcXXEdKH1xHn1xH2VVA2lkc3EgSwJLAUsAhn1xIUsASwCGXXEiSwBhc4dVDnN1cmZhY2VPcGFjaXR5cSNLAke/8AAAAAAAAH2HVRBhcm9tYXRpY0xpbmVUeXBlcSRLAksCfYdVFHJpYmJvbkhpZGVzTWFpbmNoYWlucSVLAoh9h1UHZGlzcGxheXEmSwKIfYd1Lg=='
        ))
    resInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQZpbnNlcnRxAksOVQEgfYdVC2ZpbGxEaXNwbGF5cQNLDol9h1UEbmFtZXEESw5YAwAAAE1HT32HVQVjaGFpbnEFSw5YAQAAAEF9h1UOcmliYm9uRHJhd01vZGVxBksOSwJ9h1UCc3NxB0sOiYmGfYdVCG1vbGVjdWxlcQhLDksAfXEJSwFOXXEKSwdLB4ZxC2GGc4dVC3JpYmJvbkNvbG9ycQxLDksCfXENSwNOXXEOSwdLB4ZxD2GGc4dVBWxhYmVscRBLDlgAAAAAfYdVCmxhYmVsQ29sb3JxEUsOSwJ9cRJLA05dcRNLB0sHhnEUYYZzh1UIZmlsbE1vZGVxFUsOSwF9h1UFaXNIZXRxFksOiX2HVQtsYWJlbE9mZnNldHEXSw5OfYdVCHBvc2l0aW9ucRhdcRkoSwFLB4ZxGksBSweGcRtlVQ1yaWJib25EaXNwbGF5cRxLDol9h1UIb3B0aW9uYWxxHX1VBHNzSWRxHksOSv////99h3Uu'
        ))
    atomInfo = cPickle.loads(
        base64.b64decode(
            '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'
        ))
    bondInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQVjb2xvcnECTTQBTn2HVQVhdG9tc3EDXXEEKF1xBShLIEsjZV1xBihLHUsfZV1xByhLHUsgZV1xCChLG0sdZV1xCShLG0uQZV1xCihLF0sZZV1xCyhLF0sbZV1xDChLE0sVZV1xDShLE0sXZV1xDihLEkswZV1xDyhLEEsSZV1xEChLEEsTZV1xEShLEEsfZV1xEihLNUs4ZV1xEyhLMks0ZV1xFChLMks1ZV1xFShLMEsyZV1xFihLLEsuZV1xFyhLLEswZV1xGChLKEsqZV1xGShLKEssZV1xGihLJ0tFZV1xGyhLJUsnZV1xHChLJUsoZV1xHShLJUs0ZV1xHihLSktNZV1xHyhLR0tJZV1xIChLR0tKZV1xIShLRUtHZV1xIihLQUtDZV1xIyhLQUtFZV1xJChLPUs/ZV1xJShLPUtBZV1xJihLPEtaZV1xJyhLOks8ZV1xKChLOks9ZV1xKShLOktJZV1xKihLX0tiZV1xKyhLXEteZV1xLChLXEtfZV1xLShLWktcZV1xLihLVktYZV1xLyhLVktaZV1xMChLUktUZV1xMShLUktWZV1xMihLUUtvZV1xMyhLT0tRZV1xNChLT0tSZV1xNShLT0teZV1xNihLdEt3ZV1xNyhLcUtzZV1xOChLcUt0ZV1xOShLb0txZV1xOihLa0ttZV1xOyhLa0tvZV1xPChLZ0tpZV1xPShLZ0trZV1xPihLZkuEZV1xPyhLZEtmZV1xQChLZEtnZV1xQShLZEtzZV1xQihLiUuMZV1xQyhLhkuIZV1xRChLhkuJZV1xRShLhEuGZV1xRihLgEuCZV1xRyhLgEuEZV1xSChLfEt+ZV1xSShLfEuAZV1xSihLe0uZZV1xSyhLeUt7ZV1xTChLeUt8ZV1xTShLeUuIZV1xTihLnkuhZV1xTyhLm0udZV1xUChLm0ueZV1xUShLmUubZV1xUihLlUuXZV1xUyhLlUuZZV1xVChLkUuTZV1xVShLkUuVZV1xVihLjkuQZV1xVyhLjkuRZV1xWChLjkudZV1xWShLI0skZV1xWihLIEshZV1xWyhLIEsiZV1xXChLHUseZV1xXShLG0scZV1xXihLGUsaZV1xXyhLF0sYZV1xYChLFUsWZV1xYShLE0sUZV1xYihLEEsRZV1xYyhLOEs5ZV1xZChLNUs2ZV1xZShLNUs3ZV1xZihLMkszZV1xZyhLMEsxZV1xaChLLksvZV1xaShLLEstZV1xaihLKksrZV1xayhLKEspZV1xbChLJUsmZV1xbShLTUtOZV1xbihLSktLZV1xbyhLSktMZV1xcChLR0tIZV1xcShLRUtGZV1xcihLQ0tEZV1xcyhLQUtCZV1xdChLP0tAZV1xdShLPUs+ZV1xdihLOks7ZV1xdyhLYktjZV1xeChLX0tgZV1xeShLX0thZV1xeihLXEtdZV1xeyhLWktbZV1xfChLWEtZZV1xfShLVktXZV1xfihLVEtVZV1xfyhLUktTZV1xgChLT0tQZV1xgShLd0t4ZV1xgihLdEt1ZV1xgyhLdEt2ZV1xhChLcUtyZV1xhShLb0twZV1xhihLbUtuZV1xhyhLa0tsZV1xiChLaUtqZV1xiShLZ0toZV1xiihLZEtlZV1xiyhLjEuNZV1xjChLiUuKZV1xjShLiUuLZV1xjihLhkuHZV1xjyhLhEuFZV1xkChLgkuDZV1xkShLgEuBZV1xkihLfkt/ZV1xkyhLfEt9ZV1xlChLeUt6ZV1xlShLoUuiZV1xlihLnkufZV1xlyhLnkugZV1xmChLm0ucZV1xmShLmUuaZV1xmihLl0uYZV1xmyhLlUuWZV1xnChLk0uUZV1xnShLkUuSZV1xnihLjkuPZV1xnyhLo0ulZV1xoChLo0umZV1xoShLo0uyZV1xoihLpUvDZV1xoyhLpkuoZV1xpChLpkuqZV1xpShLqkusZV1xpihLqkuuZV1xpyhLrkuwZV1xqChLrk0jAWVdcakoS7BLsmVdcaooS7BLs2VdcasoS7NLtmVdcawoS7hLumVdca0oS7hLu2Vdca4oS7hLx2Vdca8oS7pL2GVdcbAoS7tLvWVdcbEoS7tLv2VdcbIoS79LwWVdcbMoS79Lw2VdcbQoS8NLxWVdcbUoS8VLx2VdcbYoS8VLyGVdcbcoS8hLy2VdcbgoS81Lz2VdcbkoS81L0GVdcbooS81L3GVdcbsoS89L7WVdcbwoS9BL0mVdcb0oS9BL1GVdcb4oS9RL1mVdcb8oS9RL2GVdccAoS9hL2mVdccEoS9pL3GVdccIoS9pL3WVdccMoS91L4GVdccQoS+JL5GVdccUoS+JL5WVdccYoS+JL8WVdcccoS+RNAgFlXXHIKEvlS+dlXXHJKEvlS+llXXHKKEvpS+tlXXHLKEvpS+1lXXHMKEvtS+9lXXHNKEvvS/FlXXHOKEvvS/JlXXHPKEvyS/VlXXHQKEv3S/llXXHRKEv3S/plXXHSKEv3TQYBZV1x0yhL+U0XAWVdcdQoS/pL/GVdcdUoS/pL/mVdcdYoS/5NAAFlXXHXKEv+TQIBZV1x2ChNAgFNBAFlXXHZKE0EAU0GAWVdcdooTQQBTQcBZV1x2yhNBwFNCgFlXXHcKE0MAU0OAWVdcd0oTQwBTQ8BZV1x3ihNDAFNGwFlXXHfKE0OAU0sAWVdceAoTQ8BTREBZV1x4ShNDwFNEwFlXXHiKE0TAU0VAWVdceMoTRMBTRcBZV1x5ChNFwFNGQFlXXHlKE0ZAU0bAWVdceYoTRkBTRwBZV1x5yhNHAFNHwFlXXHoKE0hAU0jAWVdcekoTSEBTSQBZV1x6ihNIQFNMAFlXXHrKE0kAU0mAWVdcewoTSQBTSgBZV1x7ShNKAFNKgFlXXHuKE0oAU0sAWVdce8oTSwBTS4BZV1x8ChNLgFNMAFlXXHxKE0uAU0xAWVdcfIoTTEBTTQBZV1x8yhLo0ukZV1x9ChLpkunZV1x9ShLqEupZV1x9ihLqkurZV1x9yhLrEutZV1x+ChLrkuvZV1x+ShLsEuxZV1x+ihLs0u0ZV1x+yhLs0u1ZV1x/ChLtku3ZV1x/ShLuEu5ZV1x/ihLu0u8ZV1x/yhLvUu+ZV1yAAEAAChLv0vAZV1yAQEAAChLwUvCZV1yAgEAAChLw0vEZV1yAwEAAChLxUvGZV1yBAEAAChLyEvJZV1yBQEAAChLyEvKZV1yBgEAAChLy0vMZV1yBwEAAChLzUvOZV1yCAEAAChL0EvRZV1yCQEAAChL0kvTZV1yCgEAAChL1EvVZV1yCwEAAChL1kvXZV1yDAEAAChL2EvZZV1yDQEAAChL2kvbZV1yDgEAAChL3UveZV1yDwEAAChL3UvfZV1yEAEAAChL4EvhZV1yEQEAAChL4kvjZV1yEgEAAChL5UvmZV1yEwEAAChL50voZV1yFAEAAChL6UvqZV1yFQEAAChL60vsZV1yFgEAAChL7UvuZV1yFwEAAChL70vwZV1yGAEAAChL8kvzZV1yGQEAAChL8kv0ZV1yGgEAAChL9Uv2ZV1yGwEAAChL90v4ZV1yHAEAAChL+kv7ZV1yHQEAAChL/Ev9ZV1yHgEAAChL/kv/ZV1yHwEAAChNAAFNAQFlXXIgAQAAKE0CAU0DAWVdciEBAAAoTQQBTQUBZV1yIgEAAChNBwFNCAFlXXIjAQAAKE0HAU0JAWVdciQBAAAoTQoBTQsBZV1yJQEAAChNDAFNDQFlXXImAQAAKE0PAU0QAWVdcicBAAAoTREBTRIBZV1yKAEAAChNEwFNFAFlXXIpAQAAKE0VAU0WAWVdcioBAAAoTRcBTRgBZV1yKwEAAChNGQFNGgFlXXIsAQAAKE0cAU0dAWVdci0BAAAoTRwBTR4BZV1yLgEAAChNHwFNIAFlXXIvAQAAKE0hAU0iAWVdcjABAAAoTSQBTSUBZV1yMQEAAChNJgFNJwFlXXIyAQAAKE0oAU0pAWVdcjMBAAAoTSoBTSsBZV1yNAEAAChNLAFNLQFlXXI1AQAAKE0uAU0vAWVdcjYBAAAoTTEBTTIBZV1yNwEAAChNMQFNMwFlXXI4AQAAKE00AU01AWVlVQVsYWJlbHI5AQAATTQBWAAAAAB9h1UIaGFsZmJvbmRyOgEAAE00AYh9h1UGcmFkaXVzcjsBAABNNAFHP8mZmaAAAAB9h1ULbGFiZWxPZmZzZXRyPAEAAE00AU59h1UIZHJhd01vZGVyPQEAAE00AUsBfYdVCG9wdGlvbmFscj4BAAB9VQdkaXNwbGF5cj8BAABNNAFLAn2HdS4='
        ))
    crdInfo = cPickle.loads(
        base64.b64decode(
            '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'
        ))
    surfInfo = {
        'category': (0, None, {}),
        'probeRadius': (0, None, {}),
        'pointSize': (0, None, {}),
        'name': [],
        'density': (0, None, {}),
        'colorMode': (0, None, {}),
        'useLighting': (0, None, {}),
        'transparencyBlendMode': (0, None, {}),
        'molecule': [],
        'smoothLines': (0, None, {}),
        'lineWidth': (0, None, {}),
        'allComponents': (0, None, {}),
        'twoSidedLighting': (0, None, {}),
        'customVisibility': [],
        'drawMode': (0, None, {}),
        'display': (0, None, {}),
        'customColors': []
    }
    vrmlInfo = {
        'subid': (0, None, {}),
        'display': (0, None, {}),
        'id': (0, None, {}),
        'vrmlString': [],
        'name': (0, None, {})
    }
    colors = {
        u'Ru': ((0.141176, 0.560784, 0.560784), 1, u'default'),
        u'Re': ((0.14902, 0.490196, 0.670588), 1, u'default'),
        u'Rf': ((0.8, 0, 0.34902), 1, u'default'),
        u'Ra': ((0, 0.490196, 0), 1, u'default'),
        u'Rb': ((0.439216, 0.180392, 0.690196), 1, u'default'),
        u'Rn': ((0.258824, 0.509804, 0.588235), 1, u'default'),
        u'Rh': ((0.0392157, 0.490196, 0.54902), 1, u'default'),
        u'Be': ((0.760784, 1, 0), 1, u'default'),
        u'Ba': ((0, 0.788235, 0), 1, u'default'),
        u'Bh': ((0.878431, 0, 0.219608), 1, u'default'),
        u'Bi': ((0.619608, 0.309804, 0.709804), 1, u'default'),
        u'Bk': ((0.541176, 0.309804, 0.890196), 1, u'default'),
        u'Br': ((0.65098, 0.160784, 0.160784), 1, u'default'),
        u'H': ((1, 1, 1), 1, u'default'),
        u'P': ((1, 0.501961, 0), 1, u'default'),
        u'Os': ((0.14902, 0.4, 0.588235), 1, u'default'),
        u'Ge': ((0.4, 0.560784, 0.560784), 1, u'default'),
        u'Gd': ((0.270588, 1, 0.780392), 1, u'default'),
        u'Ga': ((0.760784, 0.560784, 0.560784), 1, u'default'),
        u'Pr': ((0.85098, 1, 0.780392), 1, u'default'),
        u'Pt': ((0.815686, 0.815686, 0.878431), 1, u'default'),
        u'Pu': ((0, 0.419608, 1), 1, u'default'),
        u'C': ((0.564706, 0.564706, 0.564706), 1, u'default'),
        u'Pb': ((0.341176, 0.34902, 0.380392), 1, u'default'),
        u'Pa': ((0, 0.631373, 1), 1, u'default'),
        u'Pd': ((0, 0.411765, 0.521569), 1, u'default'),
        u'Cd': ((1, 0.85098, 0.560784), 1, u'default'),
        u'Po': ((0.670588, 0.360784, 0), 1, u'default'),
        u'Pm': ((0.639216, 1, 0.780392), 1, u'default'),
        u'Hs': ((0.901961, 0, 0.180392), 1, u'default'),
        u'Ho': ((0, 1, 0.611765), 1, u'default'),
        u'Hf': ((0.301961, 0.760784, 1), 1, u'default'),
        u'Hg': ((0.721569, 0.721569, 0.815686), 1, u'default'),
        u'He': ((0.85098, 1, 1), 1, u'default'),
        u'Md': ((0.701961, 0.0509804, 0.65098), 1, u'default'),
        u'Mg': ((0.541176, 1, 0), 1, u'default'),
        u'K': ((0.560784, 0.25098, 0.831373), 1, u'default'),
        u'Mn': ((0.611765, 0.478431, 0.780392), 1, u'default'),
        u'O': ((1, 0.0509804, 0.0509804), 1, u'default'),
        u'Zr': ((0.580392, 0.878431, 0.878431), 1, u'default'),
        u'S': ((1, 1, 0.188235), 1, u'default'),
        u'W': ((0.129412, 0.580392, 0.839216), 1, u'default'),
        u'Zn': ((0.490196, 0.501961, 0.690196), 1, u'default'),
        u'Mt': ((0.921569, 0, 0.14902), 1, u'default'),
        u'gaff': ((1, 0.498039, 0.054902), 1, u'default'),
        u'Eu': ((0.380392, 1, 0.780392), 1, u'default'),
        u'Es': ((0.701961, 0.121569, 0.831373), 1, u'default'),
        u'Er': ((0, 0.901961, 0.458824), 1, u'default'),
        u'Ni': ((0.313725, 0.815686, 0.313725), 1, u'default'),
        u'No': ((0.741176, 0.0509804, 0.529412), 1, u'default'),
        u'Na': ((0.670588, 0.360784, 0.94902), 1, u'default'),
        u'Nb': ((0.45098, 0.760784, 0.788235), 1, u'default'),
        u'Nd': ((0.780392, 1, 0.780392), 1, u'default'),
        u'Ne': ((0.701961, 0.890196, 0.960784), 1, u'default'),
        u'Np': ((0, 0.501961, 1), 1, u'default'),
        u'smirnoff': ((0.121569, 0.466667, 0.705882), 1, u'default'),
        u'Fr': ((0.258824, 0, 0.4), 1, u'default'),
        u'Fe': ((0.878431, 0.4, 0.2), 1, u'default'),
        u'Fm': ((0.701961, 0.121569, 0.729412), 1, u'default'),
        u'B': ((1, 0.709804, 0.709804), 1, u'default'),
        u'F': ((0.564706, 0.878431, 0.313725), 1, u'default'),
        u'Sr': ((0, 1, 0), 1, u'default'),
        u'N': ((0.188235, 0.313725, 0.972549), 1, u'default'),
        u'Kr': ((0.360784, 0.721569, 0.819608), 1, u'default'),
        u'Si': ((0.941176, 0.784314, 0.627451), 1, u'default'),
        u'Sn': ((0.4, 0.501961, 0.501961), 1, u'default'),
        u'Sm': ((0.560784, 1, 0.780392), 1, u'default'),
        u'V': ((0.65098, 0.65098, 0.670588), 1, u'default'),
        u'Sc': ((0.901961, 0.901961, 0.901961), 1, u'default'),
        u'Sb': ((0.619608, 0.388235, 0.709804), 1, u'default'),
        u'Sg': ((0.85098, 0, 0.270588), 1, u'default'),
        u'Se': ((1, 0.631373, 0), 1, u'default'),
        u'Co': ((0.941176, 0.564706, 0.627451), 1, u'default'),
        u'Cm': ((0.470588, 0.360784, 0.890196), 1, u'default'),
        u'Cl': ((0.121569, 0.941176, 0.121569), 1, u'default'),
        u'Ca': ((0.239216, 1, 0), 1, u'default'),
        u'Cf': ((0.631373, 0.211765, 0.831373), 1, u'default'),
        u'Ce': ((1, 1, 0.780392), 1, u'default'),
        u'Xe': ((0.258824, 0.619608, 0.690196), 1, u'default'),
        u'Lu': ((0, 0.670588, 0.141176), 1, u'default'),
        u'Cs': ((0.341176, 0.0901961, 0.560784), 1, u'default'),
        u'Cr': ((0.541176, 0.6, 0.780392), 1, u'default'),
        u'Cu': ((0.784314, 0.501961, 0.2), 1, u'default'),
        u'La': ((0.439216, 0.831373, 1), 1, u'default'),
        u'Li': ((0.8, 0.501961, 1), 1, u'default'),
        u'Tl': ((0.65098, 0.329412, 0.301961), 1, u'default'),
        u'Tm': ((0, 0.831373, 0.321569), 1, u'default'),
        u'Lr': ((0.780392, 0, 0.4), 1, u'default'),
        u'Th': ((0, 0.729412, 1), 1, u'default'),
        u'Ti': ((0.74902, 0.760784, 0.780392), 1, u'default'),
        u'tan': ((0.823529, 0.705882, 0.54902), 1, u'default'),
        u'Te': ((0.831373, 0.478431, 0), 1, u'default'),
        u'Tb': ((0.188235, 1, 0.780392), 1, u'default'),
        u'Tc': ((0.231373, 0.619608, 0.619608), 1, u'default'),
        u'Ta': ((0.301961, 0.65098, 1), 1, u'default'),
        u'Yb': ((0, 0.74902, 0.219608), 1, u'default'),
        u'Db': ((0.819608, 0, 0.309804), 1, u'default'),
        u'Dy': ((0.121569, 1, 0.780392), 1, u'default'),
        u'I': ((0.580392, 0, 0.580392), 1, u'default'),
        u'U': ((0, 0.560784, 1), 1, u'default'),
        u'Y': ((0.580392, 1, 1), 1, u'default'),
        u'Ac': ((0.439216, 0.670588, 0.980392), 1, u'default'),
        u'Ag': ((0.752941, 0.752941, 0.752941), 1, u'default'),
        u'Ir': ((0.0901961, 0.329412, 0.529412), 1, u'default'),
        u'Am': ((0.329412, 0.360784, 0.94902), 1, u'default'),
        u'Al': ((0.74902, 0.65098, 0.65098), 1, u'default'),
        u'As': ((0.741176, 0.501961, 0.890196), 1, u'default'),
        u'Ar': ((0.501961, 0.819608, 0.890196), 1, u'default'),
        u'Au': ((1, 0.819608, 0.137255), 1, u'default'),
        u'At': ((0.458824, 0.309804, 0.270588), 1, u'default'),
        u'In': ((0.65098, 0.458824, 0.45098), 1, u'default'),
        u'Mo': ((0.329412, 0.709804, 0.709804), 1, u'default')
    }
    materials = {u'default': ((0, 0, 0), 30)}
    pbInfo = {
        'category': [u'distance monitor'],
        'bondInfo': [{
            'color': (0, None, {}),
            'atoms': [],
            'label': (0, None, {}),
            'halfbond': (0, None, {}),
            'labelColor': (0, None, {}),
            'labelOffset': (0, None, {}),
            'drawMode': (0, None, {}),
            'display': (0, None, {})
        }],
        'lineType': (1, 2, {}),
        'color': (1, 4, {}),
        'optional': {
            'fixedLabels': (True, False, (1, 0, {}))
        },
        'display': (1, True, {}),
        'showStubBonds': (1, False, {}),
        'lineWidth': (1, 2, {}),
        'stickScale': (1, 1, {}),
        'id': [-2]
    }
    modelAssociations = {}
    colorInfo = (7, (u'smirnoff', (0.121569, 0.466667, 0.705882, 1)), {
        (u'', (0.0279974, 0.740341, 0.113875, 1)): [0],
        (u'gaff', (1, 0.498039, 0.054902, 1)): [2],
        (u'', (1, 1, 1, 1)): [5],
        (u'', (0.917139, 0.291375, 0.761588, 1)): [1],
        (u'', (0, 0, 1, 1)): [4],
        (u'', (0.545455, 0, 1, 1)): [6]
    })
    viewerInfo = {
        'cameraAttrs': {
            'center': (19.903639964022, 20.15816532901, 32.711784002826),
            'fieldOfView': 29.71298472849,
            'nearFar': (41.612841502735, 23.810726502916),
            'ortho': True,
            'eyeSeparation': 50.8,
            'focal': 32.711784002826
        },
        'viewerAttrs': {
            'silhouetteColor':
            None,
            'clipping':
            False,
            'showSilhouette':
            True,
            'showShadows':
            False,
            'viewSize':
            11.847955217755,
            'labelsOnTop':
            True,
            'depthCueRange': (0.5, 1),
            'silhouetteWidth':
            2,
            'singleLayerTransparency':
            True,
            'shadowTextureSize':
            2048,
            'backgroundImage': [None, 1, 2, 1, 0, 0],
            'backgroundGradient': [('Chimera default', [(1, 1, 1, 1),
                                                        (0, 0, 1, 1)], 1), 1,
                                   0, 0],
            'depthCue':
            True,
            'highlight':
            0,
            'scaleFactor':
            1.2211993774666,
            'angleDependentTransparency':
            True,
            'backgroundMethod':
            0
        },
        'viewerHL': 6,
        'cameraMode': 'mono',
        'detail': 1.5,
        'viewerFog': None,
        'viewerBG': 5
    }

    replyobj.status("Initializing session restore...",
                    blankAfter=0,
                    secondary=True)
    from SimpleSession.versions.v65 import expandSummary
    init(dict(enumerate(expandSummary(colorInfo))))
    replyobj.status("Restoring colors...", blankAfter=0, secondary=True)
    restoreColors(colors, materials)
    replyobj.status("Restoring molecules...", blankAfter=0, secondary=True)
    restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
    replyobj.status("Restoring surfaces...", blankAfter=0, secondary=True)
    restoreSurfaces(surfInfo)
    replyobj.status("Restoring VRML models...", blankAfter=0, secondary=True)
    restoreVRML(vrmlInfo)
    replyobj.status("Restoring pseudobond groups...",
                    blankAfter=0,
                    secondary=True)
    restorePseudoBondGroups(pbInfo)
    replyobj.status("Restoring model associations...",
                    blankAfter=0,
                    secondary=True)
    restoreModelAssociations(modelAssociations)
    replyobj.status("Restoring camera...", blankAfter=0, secondary=True)
    restoreViewer(viewerInfo)
コード例 #4
0
def restoreCoreModels():
    from SimpleSession.versions.v65 import (
        init,
        restoreColors,
        restoreModelAssociations,
        restoreMolecules,
        restorePseudoBondGroups,
        restoreSurfaces,
        restoreViewer,
        restoreVRML,
    )

    molInfo = cPickle.loads(
        base64.b64decode(
            "gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwFOfYdVCWJhbGxTY2FsZXEDSwFHP9AAAAAAAAB9h1UJcG9pbnRTaXplcQRLAUc/8AAAAAAAAH2HVQVjb2xvcnEFSwFLAH2HVQpyaWJib25UeXBlcQZLAUsAfYdVCnN0aWNrU2NhbGVxB0sBRz/wAAAAAAAAfYdVDG1tQ0lGSGVhZGVyc3EIXXEJTmFVDGFyb21hdGljTW9kZXEKSwFLAX2HVQp2ZHdEZW5zaXR5cQtLAUdAFAAAAAAAAH2HVQZoaWRkZW5xDEsBiX2HVQ1hcm9tYXRpY0NvbG9ycQ1LAU59h1UPcmliYm9uU21vb3RoaW5ncQ5LAUsAfYdVCWF1dG9jaGFpbnEPSwGIfYdVCnBkYlZlcnNpb25xEEsBSwB9h1UIb3B0aW9uYWxxEX1VD2xvd2VyQ2FzZUNoYWluc3ESSwGJfYdVCWxpbmVXaWR0aHETSwFHP/AAAAAAAAB9h1UPcmVzaWR1ZUxhYmVsUG9zcRRLAUsAfYdVBG5hbWVxFUsBWBcAAABhbGlnbmVkX3dpdGhfZHVtbXkucnN0N32HVQ9hcm9tYXRpY0Rpc3BsYXlxFksBiX2HVQ9yaWJib25TdGlmZm5lc3NxF0sBRz/pmZmZmZmafYdVCnBkYkhlYWRlcnNxGF1xGX1xGmFVA2lkc3EbSwFLAEsAhn2HVQ5zdXJmYWNlT3BhY2l0eXEcSwFHv/AAAAAAAAB9h1UQYXJvbWF0aWNMaW5lVHlwZXEdSwFLAn2HVRRyaWJib25IaWRlc01haW5jaGFpbnEeSwGIfYdVB2Rpc3BsYXlxH0sBiH2HdS4="
        ))
    resInfo = cPickle.loads(
        base64.b64decode(
            "gAJ9cQEoVQZpbnNlcnRxAksFVQEgfYdVC2ZpbGxEaXNwbGF5cQNLBYl9h1UEbmFtZXEESwVYAwAAAERNMX1xBShYAwAAAERNMl1xBksDYVgDAAAARE0zXXEHSwRhWAMAAABDQjZdcQhLAGFYAwAAAEJVVF1xCUsBYXWHVQVjaGFpbnEKSwVYAQAAACB9h1UOcmliYm9uRHJhd01vZGVxC0sFSwJ9h1UCc3NxDEsFiYmGfYdVCG1vbGVjdWxlcQ1LBUsAfYdVC3JpYmJvbkNvbG9ycQ5LBUsDfXEPKEsBTl1xEEsASwGGcRFhhksCTl1xEksBSwGGcRNhhnWHVQVsYWJlbHEUSwVYAAAAAH2HVQpsYWJlbENvbG9ycRVLBUsDfXEWKEsBTl1xF0sASwGGcRhhhksCTl1xGUsBSwGGcRphhnWHVQhmaWxsTW9kZXEbSwVLAX2HVQVpc0hldHEcSwWJfYdVC2xhYmVsT2Zmc2V0cR1LBU59h1UIcG9zaXRpb25xHl1xH0sBSwWGcSBhVQ1yaWJib25EaXNwbGF5cSFLBYl9h1UIb3B0aW9uYWxxIn1VBHNzSWRxI0sFSv////99h3Uu"
        ))
    atomInfo = cPickle.loads(
        base64.b64decode(
            "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"
        ))
    bondInfo = cPickle.loads(
        base64.b64decode(
            "gAJ9cQEoVQVjb2xvcnECS4tOfYdVBWF0b21zcQNdcQQoXXEFKEtrS21lXXEGKEtqS2xlXXEHKEtnS2llXXEIKEtnS2plXXEJKEtmS2hlXXEKKEtmS2tlXXELKEtjS2plXXEMKEtiS2tlXXENKEthS2ZlXXEOKEthS2dlXXEPKEtgS2FlXXEQKEtgS2JlXXERKEtgS2NlXXESKEtZS1tlXXETKEtYS1plXXEUKEtVS1dlXXEVKEtVS1hlXXEWKEtUS1ZlXXEXKEtUS1llXXEYKEtRS1hlXXEZKEtRS2llXXEaKEtQS1llXXEbKEtQS2hlXXEcKEtPS1RlXXEdKEtPS1VlXXEeKEtOS09lXXEfKEtOS1BlXXEgKEtOS1FlXXEhKEtHS0llXXEiKEtGS0hlXXEjKEtDS0VlXXEkKEtDS0ZlXXElKEtCS0RlXXEmKEtCS0dlXXEnKEs/S0ZlXXEoKEs/S1dlXXEpKEs+S0dlXXEqKEs+S1ZlXXErKEs9S0JlXXEsKEs9S0NlXXEtKEs8Sz1lXXEuKEs8Sz5lXXEvKEs8Sz9lXXEwKEs1SzdlXXExKEs0SzZlXXEyKEsxSzNlXXEzKEsxSzRlXXE0KEswSzJlXXE1KEswSzVlXXE2KEstSzRlXXE3KEstS0VlXXE4KEssSzVlXXE5KEssS0RlXXE6KEsrSzBlXXE7KEsrSzFlXXE8KEsqSytlXXE9KEsqSyxlXXE+KEsqSy1lXXE/KEsjSyVlXXFAKEsiSyRlXXFBKEsfSyFlXXFCKEsfSyJlXXFDKEseSyBlXXFEKEseSyNlXXFFKEsbSyJlXXFGKEsbSzNlXXFHKEsaSyNlXXFIKEsaSzJlXXFJKEsZSx5lXXFKKEsZSx9lXXFLKEsYSxllXXFMKEsYSxplXXFNKEsYSxtlXXFOKEsRSxNlXXFPKEsQSxJlXXFQKEsPS2NlXXFRKEsOS2JlXXFSKEsNSw9lXXFTKEsNSxBlXXFUKEsMSw5lXXFVKEsMSxFlXXFWKEsJSxBlXXFXKEsJSyFlXXFYKEsISxFlXXFZKEsISyBlXXFaKEsHSwxlXXFbKEsHSw1lXXFcKEsGSwdlXXFdKEsGSwhlXXFeKEsGSwllXXFfKEt4S3xlXXFgKEt2S3hlXXFhKEtyS3ZlXXFiKEtpS3BlXXFjKEtpS3FlXXFkKEtoS25lXXFlKEtoS29lXXFmKEthS2VlXXFnKEtgS2RlXXFoKEtXS15lXXFpKEtXS19lXXFqKEtWS1xlXXFrKEtWS11lXXFsKEtPS1NlXXFtKEtOS1JlXXFuKEtFS0xlXXFvKEtFS01lXXFwKEtES0plXXFxKEtES0tlXXFyKEs9S0FlXXFzKEs8S0BlXXF0KEszSzplXXF1KEszSztlXXF2KEsySzhlXXF3KEsySzllXXF4KEsrSy9lXXF5KEsqSy5lXXF6KEshSyhlXXF7KEshSyllXXF8KEsgSyZlXXF9KEsgSydlXXF+KEsZSx1lXXF/KEsYSxxlXXGAKEsPSxZlXXGBKEsPSxdlXXGCKEsOSxRlXXGDKEsOSxVlXXGEKEsHSwtlXXGFKEsGSwplXXGGKEt8S31lXXGHKEt8S35lXXGIKEt8S39lXXGJKEt4S3plXXGKKEt4S3tlXXGLKEt2S3dlXXGMKEt2S3llXXGNKEtyS3NlXXGOKEtyS3RlXXGPKEtyS3VlZVUFbGFiZWxxkEuLWAAAAAB9h1UIaGFsZmJvbmRxkUuLiH2HVQZyYWRpdXNxkkuLRz/JmZmgAAAAfYdVC2xhYmVsT2Zmc2V0cZNLi059h1UIZHJhd01vZGVxlEuLSwF9h1UIb3B0aW9uYWxxlX1VB2Rpc3BsYXlxlkuLSwJ9h3Uu"
        ))
    crdInfo = cPickle.loads(
        base64.b64decode(
            "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"
        ))
    surfInfo = {
        "category": (0, None, {}),
        "probeRadius": (0, None, {}),
        "pointSize": (0, None, {}),
        "name": [],
        "density": (0, None, {}),
        "colorMode": (0, None, {}),
        "useLighting": (0, None, {}),
        "transparencyBlendMode": (0, None, {}),
        "molecule": [],
        "smoothLines": (0, None, {}),
        "lineWidth": (0, None, {}),
        "allComponents": (0, None, {}),
        "twoSidedLighting": (0, None, {}),
        "customVisibility": [],
        "drawMode": (0, None, {}),
        "display": (0, None, {}),
        "customColors": [],
    }
    vrmlInfo = {
        "subid": (0, None, {}),
        "display": (0, None, {}),
        "id": (0, None, {}),
        "vrmlString": [],
        "name": (0, None, {}),
    }
    colors = {
        u"Ru": ((0.141176, 0.560784, 0.560784), 1, u"default"),
        u"Re": ((0.14902, 0.490196, 0.670588), 1, u"default"),
        u"Rf": ((0.8, 0, 0.34902), 1, u"default"),
        u"Ra": ((0, 0.490196, 0), 1, u"default"),
        u"Rb": ((0.439216, 0.180392, 0.690196), 1, u"default"),
        u"Rn": ((0.258824, 0.509804, 0.588235), 1, u"default"),
        u"Rh": ((0.0392157, 0.490196, 0.54902), 1, u"default"),
        u"Be": ((0.760784, 1, 0), 1, u"default"),
        u"Ba": ((0, 0.788235, 0), 1, u"default"),
        u"Bh": ((0.878431, 0, 0.219608), 1, u"default"),
        u"Bi": ((0.619608, 0.309804, 0.709804), 1, u"default"),
        u"Bk": ((0.541176, 0.309804, 0.890196), 1, u"default"),
        u"Br": ((0.65098, 0.160784, 0.160784), 1, u"default"),
        u"H": ((1, 1, 1), 1, u"default"),
        u"P": ((1, 0.501961, 0), 1, u"default"),
        u"Os": ((0.14902, 0.4, 0.588235), 1, u"default"),
        u"Ge": ((0.4, 0.560784, 0.560784), 1, u"default"),
        u"Gd": ((0.270588, 1, 0.780392), 1, u"default"),
        u"Ga": ((0.760784, 0.560784, 0.560784), 1, u"default"),
        u"Pr": ((0.85098, 1, 0.780392), 1, u"default"),
        u"Pt": ((0.815686, 0.815686, 0.878431), 1, u"default"),
        u"Pu": ((0, 0.419608, 1), 1, u"default"),
        u"C": ((0.564706, 0.564706, 0.564706), 1, u"default"),
        u"grey": ((0.745098, 0.745098, 0.745098), 1, u"default"),
        u"Pb": ((0.341176, 0.34902, 0.380392), 1, u"default"),
        u"Pa": ((0, 0.631373, 1), 1, u"default"),
        u"Pd": ((0, 0.411765, 0.521569), 1, u"default"),
        u"Xe": ((0.258824, 0.619608, 0.690196), 1, u"default"),
        u"Po": ((0.670588, 0.360784, 0), 1, u"default"),
        u"Pm": ((0.639216, 1, 0.780392), 1, u"default"),
        u"Hs": ((0.901961, 0, 0.180392), 1, u"default"),
        u"Ho": ((0, 1, 0.611765), 1, u"default"),
        u"Hf": ((0.301961, 0.760784, 1), 1, u"default"),
        u"Hg": ((0.721569, 0.721569, 0.815686), 1, u"default"),
        u"He": ((0.85098, 1, 1), 1, u"default"),
        u"Md": ((0.701961, 0.0509804, 0.65098), 1, u"default"),
        u"Mg": ((0.541176, 1, 0), 1, u"default"),
        u"K": ((0.560784, 0.25098, 0.831373), 1, u"default"),
        u"Mn": ((0.611765, 0.478431, 0.780392), 1, u"default"),
        u"O": ((1, 0.0509804, 0.0509804), 1, u"default"),
        u"Zr": ((0.580392, 0.878431, 0.878431), 1, u"default"),
        u"S": ((1, 1, 0.188235), 1, u"default"),
        u"W": ((0.129412, 0.580392, 0.839216), 1, u"default"),
        u"Zn": ((0.490196, 0.501961, 0.690196), 1, u"default"),
        u"Mt": ((0.921569, 0, 0.14902), 1, u"default"),
        u"Eu": ((0.380392, 1, 0.780392), 1, u"default"),
        u"Es": ((0.701961, 0.121569, 0.831373), 1, u"default"),
        u"Er": ((0, 0.901961, 0.458824), 1, u"default"),
        u"Ni": ((0.313725, 0.815686, 0.313725), 1, u"default"),
        u"No": ((0.741176, 0.0509804, 0.529412), 1, u"default"),
        u"Na": ((0.670588, 0.360784, 0.94902), 1, u"default"),
        u"Nb": ((0.45098, 0.760784, 0.788235), 1, u"default"),
        u"Nd": ((0.780392, 1, 0.780392), 1, u"default"),
        u"Ne": ((0.701961, 0.890196, 0.960784), 1, u"default"),
        u"Np": ((0, 0.501961, 1), 1, u"default"),
        u"Fr": ((0.258824, 0, 0.4), 1, u"default"),
        u"Fe": ((0.878431, 0.4, 0.2), 1, u"default"),
        u"Fm": ((0.701961, 0.121569, 0.729412), 1, u"default"),
        u"B": ((1, 0.709804, 0.709804), 1, u"default"),
        u"F": ((0.564706, 0.878431, 0.313725), 1, u"default"),
        u"Sr": ((0, 1, 0), 1, u"default"),
        u"N": ((0.188235, 0.313725, 0.972549), 1, u"default"),
        u"Kr": ((0.360784, 0.721569, 0.819608), 1, u"default"),
        u"Si": ((0.941176, 0.784314, 0.627451), 1, u"default"),
        u"Sn": ((0.4, 0.501961, 0.501961), 1, u"default"),
        u"Sm": ((0.560784, 1, 0.780392), 1, u"default"),
        u"V": ((0.65098, 0.65098, 0.670588), 1, u"default"),
        u"Sc": ((0.901961, 0.901961, 0.901961), 1, u"default"),
        u"Sb": ((0.619608, 0.388235, 0.709804), 1, u"default"),
        u"Sg": ((0.85098, 0, 0.270588), 1, u"default"),
        u"Se": ((1, 0.631373, 0), 1, u"default"),
        u"Co": ((0.941176, 0.564706, 0.627451), 1, u"default"),
        u"Cm": ((0.470588, 0.360784, 0.890196), 1, u"default"),
        u"Cl": ((0.121569, 0.941176, 0.121569), 1, u"default"),
        u"Ca": ((0.239216, 1, 0), 1, u"default"),
        u"Cf": ((0.631373, 0.211765, 0.831373), 1, u"default"),
        u"Ce": ((1, 1, 0.780392), 1, u"default"),
        u"Cd": ((1, 0.85098, 0.560784), 1, u"default"),
        u"Lu": ((0, 0.670588, 0.141176), 1, u"default"),
        u"Cs": ((0.341176, 0.0901961, 0.560784), 1, u"default"),
        u"Cr": ((0.541176, 0.6, 0.780392), 1, u"default"),
        u"Cu": ((0.784314, 0.501961, 0.2), 1, u"default"),
        u"La": ((0.439216, 0.831373, 1), 1, u"default"),
        u"Li": ((0.8, 0.501961, 1), 1, u"default"),
        u"Tl": ((0.65098, 0.329412, 0.301961), 1, u"default"),
        u"Tm": ((0, 0.831373, 0.321569), 1, u"default"),
        u"Lr": ((0.780392, 0, 0.4), 1, u"default"),
        u"Th": ((0, 0.729412, 1), 1, u"default"),
        u"Ti": ((0.74902, 0.760784, 0.780392), 1, u"default"),
        u"Te": ((0.831373, 0.478431, 0), 1, u"default"),
        u"Tb": ((0.188235, 1, 0.780392), 1, u"default"),
        u"Tc": ((0.231373, 0.619608, 0.619608), 1, u"default"),
        u"Ta": ((0.301961, 0.65098, 1), 1, u"default"),
        u"Yb": ((0, 0.74902, 0.219608), 1, u"default"),
        u"Db": ((0.819608, 0, 0.309804), 1, u"default"),
        u"Dy": ((0.121569, 1, 0.780392), 1, u"default"),
        u"I": ((0.580392, 0, 0.580392), 1, u"default"),
        u"U": ((0, 0.560784, 1), 1, u"default"),
        u"Y": ((0.580392, 1, 1), 1, u"default"),
        u"Ac": ((0.439216, 0.670588, 0.980392), 1, u"default"),
        u"Ag": ((0.752941, 0.752941, 0.752941), 1, u"default"),
        u"Ir": ((0.0901961, 0.329412, 0.529412), 1, u"default"),
        u"Am": ((0.329412, 0.360784, 0.94902), 1, u"default"),
        u"Al": ((0.74902, 0.65098, 0.65098), 1, u"default"),
        u"As": ((0.741176, 0.501961, 0.890196), 1, u"default"),
        u"Ar": ((0.501961, 0.819608, 0.890196), 1, u"default"),
        u"Au": ((1, 0.819608, 0.137255), 1, u"default"),
        u"At": ((0.458824, 0.309804, 0.270588), 1, u"default"),
        u"In": ((0.65098, 0.458824, 0.45098), 1, u"default"),
        u"Mo": ((0.329412, 0.709804, 0.709804), 1, u"default"),
    }
    materials = {u"default": ((0, 0, 0), 30)}
    pbInfo = {
        "category": [u"distance monitor"],
        "bondInfo": [{
            "color": (0, None, {}),
            "atoms": [],
            "label": (0, None, {}),
            "halfbond": (0, None, {}),
            "labelColor": (0, None, {}),
            "labelOffset": (0, None, {}),
            "drawMode": (0, None, {}),
            "display": (0, None, {}),
        }],
        "lineType": (1, 2, {}),
        "color": (1, 130, {}),
        "optional": {
            "fixedLabels": (True, False, (1, False, {}))
        },
        "display": (1, True, {}),
        "showStubBonds": (1, False, {}),
        "lineWidth": (1, 1, {}),
        "stickScale": (1, 1, {}),
        "id": [-2],
    }
    modelAssociations = {}
    colorInfo = (
        133,
        (u"", (0.745098, 0.745098, 0.745098, 0.2)),
        {
            (u"green", (0, 1, 0, 1)): [2],
            (u"", (0, 0, 1, 0.2)): [4, 58, 95],
            (u"", (1, 0, 0, 0.2)): [126, 127, 128],
            (u"", (0.106829, 0.702586, 0.652042, 1)): [0],
            (u"", (1, 1, 1, 1)): [131],
            (u"grey", (0.745098, 0.745098, 0.745098, 1)): [129],
            (u"red", (1, 0, 0, 1)): [3],
            (u"", (0, 1, 0, 0.2)): [112, 122],
            (u"", (0.545455, 0, 1, 1)): [132],
            (u"blue", (0, 0, 1, 1)): [1],
            (u"yellow", (1, 1, 0, 1)): [130],
        },
    )
    viewerInfo = {
        "cameraAttrs": {
            "center": (0.031, -0.0945, -3.0070000190735),
            "fieldOfView": 17.183565421784,
            "nearFar": (7.2154204221993, -13.229420460346),
            "ortho": True,
            "eyeSeparation": 50.8,
            "focal": -3.0070000190735,
        },
        "viewerAttrs": {
            "silhouetteColor":
            None,
            "clipping":
            False,
            "showSilhouette":
            True,
            "showShadows":
            False,
            "viewSize":
            11.391911504425,
            "labelsOnTop":
            True,
            "depthCueRange": (0.5, 1),
            "silhouetteWidth":
            2,
            "singleLayerTransparency":
            True,
            "shadowTextureSize":
            2048,
            "backgroundImage": [None, 1, 2, 1, 0, 0],
            "backgroundGradient": [
                ("Chimera default", [(1, 1, 1, 1), (0, 0, 1, 1)], 1),
                1,
                0,
                0,
            ],
            "depthCue":
            True,
            "highlight":
            0,
            "scaleFactor":
            1.1936205300669,
            "angleDependentTransparency":
            True,
            "backgroundMethod":
            0,
        },
        "viewerHL": 132,
        "cameraMode": "mono",
        "detail": 1.5,
        "viewerFog": None,
        "viewerBG": 131,
    }

    replyobj.status("Initializing session restore...",
                    blankAfter=0,
                    secondary=True)
    from SimpleSession.versions.v65 import expandSummary

    init(dict(enumerate(expandSummary(colorInfo))))
    replyobj.status("Restoring colors...", blankAfter=0, secondary=True)
    restoreColors(colors, materials)
    replyobj.status("Restoring molecules...", blankAfter=0, secondary=True)
    restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
    replyobj.status("Restoring surfaces...", blankAfter=0, secondary=True)
    restoreSurfaces(surfInfo)
    replyobj.status("Restoring VRML models...", blankAfter=0, secondary=True)
    restoreVRML(vrmlInfo)
    replyobj.status("Restoring pseudobond groups...",
                    blankAfter=0,
                    secondary=True)
    restorePseudoBondGroups(pbInfo)
    replyobj.status("Restoring model associations...",
                    blankAfter=0,
                    secondary=True)
    restoreModelAssociations(modelAssociations)
    replyobj.status("Restoring camera...", blankAfter=0, secondary=True)
    restoreViewer(viewerInfo)
コード例 #5
0
def restoreCoreModels():
    from SimpleSession.versions.v65 import init, restoreViewer, \
         restoreMolecules, restoreColors, restoreSurfaces, \
         restoreVRML, restorePseudoBondGroups, restoreModelAssociations
    molInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwZOfYdVCWJhbGxTY2FsZXEDSwZHP9AAAAAAAAB9h1UJcG9pbnRTaXplcQRLBkc/8AAAAAAAAH2HVQVjb2xvcnEFSwZLAH1xBihLAV1xB0sBYUsCXXEISwJhSwNdcQlLA2FLBF1xCksEYUsFXXELSwVhdYdVCnJpYmJvblR5cGVxDEsGSwB9h1UKc3RpY2tTY2FsZXENSwZHP/AAAAAAAAB9h1UMbW1DSUZIZWFkZXJzcQ5dcQ8oTk5OTk5OZVUMYXJvbWF0aWNNb2RlcRBLBksBfYdVCnZkd0RlbnNpdHlxEUsGR0AUAAAAAAAAfYdVBmhpZGRlbnESSwaJfYdVDWFyb21hdGljQ29sb3JxE0sGTn2HVQ9yaWJib25TbW9vdGhpbmdxFEsGSwB9h1UJYXV0b2NoYWlucRVLBoh9h1UKcGRiVmVyc2lvbnEWSwZLAn2HVQhvcHRpb25hbHEXfXEYVQhvcGVuZWRBc3EZiIlLBihVTi9ob21lL3lhbmdqYy9naXQvY2FuLWFpLWRvL3BkYmJpbmQvYXRvbV9tYXBwaW5nL3BkYi9hdG9tLjJxYnJfbGlnYW5kLmFsaWduLnBkYk5VA1BEQnEaSwF0cRt9cRwoKFVOL2hvbWUveWFuZ2pjL2dpdC9jYW4tYWktZG8vcGRiYmluZC9hdG9tX21hcHBpbmcvcGRiL2F0b20uMmhiMV9saWdhbmQuYWxpZ24ucGRiTmgaSwF0cR1dcR4oSwBLA2UoVU4vaG9tZS95YW5namMvZ2l0L2Nhbi1haS1kby9wZGJiaW5kL2F0b21fbWFwcGluZy9wZGIvYXRvbS4ycWJwX2xpZ2FuZC5hbGlnbi5wZGJOaBpLAXRxH11xIChLAksFZXWHh3NVD2xvd2VyQ2FzZUNoYWluc3EhSwaJfYdVCWxpbmVXaWR0aHEiSwZHP/AAAAAAAAB9h1UPcmVzaWR1ZUxhYmVsUG9zcSNLBksAfYdVBG5hbWVxJEsGWBoAAABhdG9tLjJxYnBfbGlnYW5kLmFsaWduLnBkYn1xJShYGgAAAGF0b20uMmhiMV9saWdhbmQuYWxpZ24ucGRiXXEmKEsASwNlWBoAAABhdG9tLjJxYnJfbGlnYW5kLmFsaWduLnBkYl1xJyhLAUsEZXWHVQ9hcm9tYXRpY0Rpc3BsYXlxKEsGiX2HVQ9yaWJib25TdGlmZm5lc3NxKUsGRz/pmZmZmZmafYdVCnBkYkhlYWRlcnNxKl1xKyh9cSx9cS19cS5YBQAAAEhFTElYXXEvWEwAAABIRUxJWCAgICAxICAgMSBHTE4gICAgIDIxICBBUkcgICAgIDI0ICAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzcTBhc31xMX1xMn1xM1gFAAAASEVMSVhdcTRYTAAAAEhFTElYICAgIDEgICAxIEdMTiAgICAgMjEgIEFSRyAgICAgMjQgIDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDNxNWFzZVUDaWRzcTZLBksASwCGfXE3KEtmSwCGXXE4SwVhSwJLAIZdcTlLAmFLZUsAhl1xOksEYUsBSwCGXXE7SwFhS2RLAIZdcTxLA2F1h1UOc3VyZmFjZU9wYWNpdHlxPUsGR7/wAAAAAAAAfYdVEGFyb21hdGljTGluZVR5cGVxPksGSwJ9h1UUcmliYm9uSGlkZXNNYWluY2hhaW5xP0sGiH2HVQdkaXNwbGF5cUBLBoh9cUGJXXFCKEsBSwRlc4d1Lg=='
        ))
    resInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQZpbnNlcnRxAksGVQEgfYdVC2ZpbGxEaXNwbGF5cQNLBol9h1UEbmFtZXEESwZYAwAAAE1PTH2HVQVjaGFpbnEFSwZYAQAAAEF9h1UOcmliYm9uRHJhd01vZGVxBksGSwJ9h1UCc3NxB0sGiYmGfYdVCG1vbGVjdWxlcQhLBksAfXEJKEsBTl1xCksBSwGGcQthhksCTl1xDEsCSwGGcQ1hhksDTl1xDksDSwGGcQ9hhksETl1xEEsESwGGcRFhhksFTl1xEksFSwGGcRNhhnWHVQtyaWJib25Db2xvcnEUSwZOfXEVKEsITl1xFksFSwGGcRdhhksGTl1xGEsDSwGGcRlhhksHTl1xGksESwGGcRthhnWHVQVsYWJlbHEcSwZYAAAAAH2HVQpsYWJlbENvbG9ycR1LBk59cR4oSwlOXXEfSwNLAYZxIGGGSwtOXXEhSwVLAYZxImGGSwpOXXEjSwRLAYZxJGGGdYdVCGZpbGxNb2RlcSVLBksBfYdVBWlzSGV0cSZLBoh9h1ULbGFiZWxPZmZzZXRxJ0sGTn2HVQhwb3NpdGlvbnEoXXEpKEsBSwGGcSpLAUsBhnErSwFLAYZxLEsBSwGGcS1LAUsBhnEuSwFLAYZxL2VVDXJpYmJvbkRpc3BsYXlxMEsGiX2HVQhvcHRpb25hbHExfVUEc3NJZHEySwZK/////32HdS4='
        ))
    atomInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQdyZXNpZHVlcQJL7ksIfXEDKEsGTl1xBEsASxGGcQVhhksHTl1xBksRSyqGcQdhhksJTl1xCEt3SxGGcQlhhksKTl1xCkuISyqGcQthhksLTl1xDEuySzyGcQ1hhnWHVQh2ZHdDb2xvcnEOS+5OfXEPKEsgXXEQS4VhSyFdcRFLiWFLI11xEku2YUskXXETS8phSyJdcRRLs2FLH11xFUt6YXWHVQRuYW1lcRZL7lgCAAAATzd9cRcoWAMAAABPNDddcRgoS1dLzmVYAwAAAEM1Nl1xGShLXkvVZVgDAAAAQzU1XXEaKEtdS9RlWAMAAABDNTRdcRsoS1xL02VYAwAAAEMzNF1xHChLKEtUS59Ly2VYAwAAAEgyMV1xHShLdEvrZVgDAAAAQzUwXXEeKEtaS9FlWAIAAABTM11xHyhLAkt5ZVgCAAAAUzFdcSAoSxFLO0uIS7JlWAMAAABIMThdcSEoS3FL6GVYAwAAAEM1N11xIihLX0vWZVgDAAAASDIzXXEjKEt2S+1lWAMAAABIMjJdcSQoS3VL7GVYAwAAAEgxNV1xJShLbkvlZVgDAAAAQzM4XXEmKEssS6NlWAIAAABPOF1xJyhLB0sYS0JLfkuPS7llWAMAAABDMTNdcSgoSx1LR0uUS75lWAMAAABDMTJdcSkoSxxLRkuTS71lWAMAAABDMTFdcSooSxtLRUuSS7xlWAMAAABDMTBdcSsoSwlLGktES4BLkUu7ZVgDAAAAQzMxXXEsKEsnS1FLnkvIZVgDAAAAQzMwXXEtKEsmS1BLnUvHZVgDAAAAQzE0XXEuKEseS0hLlUu/ZVgDAAAAQzM3XXEvKEsrS6JlWAMAAABDMzZdcTAoSypLoWVYAwAAAEgyMF1xMShLc0vqZVgDAAAATzI2XXEyKEskS05Lm0vFZVgDAAAATzI1XXEzKEsjS01LmkvEZVgDAAAATjI5XXE0KEslS09LnEvGZVgDAAAATzIwXXE1KEsgS0pLl0vBZVgDAAAATzQ4XXE2KEtYS89lWAIAAABDOV1xNyhLCEsZS0NLf0uQS7plWAIAAABDM11xOChLE0s9S4pLtGVYAgAAAEMyXXE5KEsBSxJLPEt4S4lLs2VYAgAAAEMxXXE6KEsAS3dlWAMAAABDMzJdcTsoS1JLyWVYAgAAAEM2XXE8KEsFSxZLQEt8S41Lt2VYAgAAAEM1XXE9KEsESxVLP0t7S4xLtmVYAgAAAEM0XXE+KEsDSxRLPkt6S4tLtWVYAwAAAEMyMl1xPyhLIktMS5lLw2VYAwAAAEgxOV1xQChLckvpZVgDAAAAQzIxXXFBKEshS0tLmEvCZVgDAAAAQzUzXXFCKEtbS9JlWAMAAABIMTBdcUMoSzZLaUutS+BlWAMAAABIMTFdcUQoSzdLakuuS+FlWAMAAABIMTJdcUUoSzhLa0uvS+JlWAMAAABIMTNdcUYoSzlLbEuwS+NlWAMAAABIMTRdcUcoSzpLbUuxS+RlWAIAAABIOF1xSChLNEtnS6tL3mVYAwAAAEgxNl1xSShLb0vmZVgDAAAAQzQ5XXFKKEtZS9BlWAMAAABTNDZdcUsoS1ZLzWVYAgAAAEg5XXFMKEs1S2hLrEvfZVgEAAAAQlIxOV1xTShLDUsfS0lLhEuWS8BlWAMAAABIMTddcU4oS3BL52VYAwAAAE8xNV1xTyhLDEuDZVgDAAAATzE0XXFQKEsLS4JlWAMAAABPMTNdcVEoSwpLgWVYAwAAAEMzNV1xUihLKUtVS6BLzGVYAgAAAEgyXXFTKEsPSy5LYUuGS6VL2GVYAgAAAEgzXXFUKEsQSy9LYkuHS6ZL2WVYAgAAAEgxXXFVKEsOSy1LYEuFS6RL12VYAgAAAEg2XXFWKEsyS2VLqUvcZVgCAAAASDddcVcoSzNLZkuqS91lWAIAAABINF1xWChLMEtjS6dL2mVYAgAAAEg1XXFZKEsxS2RLqEvbZVgDAAAATjMzXXFaKEtTS8pldYdVA3Zkd3FbS+6JfYdVDnN1cmZhY2VEaXNwbGF5cVxL7ol9h1UFY29sb3JxXUvuTn1xXihLDF1xXyhLAksRSztLVkt5S4hLskvNZUsNXXFgKEsGSwdLCksLSwxLF0sYSyBLI0skS0FLQktKS01LTktXS1hLfUt+S4FLgkuDS45Lj0uXS5pLm0u4S7lLwUvES8VLzkvPZUsOXXFhKEsNSx9LSUuES5ZLwGVLD11xYihLDksPSxBLLUsuSy9LMEsxSzJLM0s0SzVLNks3SzhLOUs6S2BLYUtiS2NLZEtlS2ZLZ0toS2lLaktrS2xLbUtuS29LcEtxS3JLc0t0S3VLdkuGS4dLpEulS6ZLp0uoS6lLqkurS6xLrUuuS69LsEuxS9dL2EvZS9pL20vcS91L3kvfS+BL4UviS+NL5EvlS+ZL50voS+lL6kvrS+xL7WVLEF1xYyhLJUtPS1NLnEvGZUsRXXFkS3phSxJdcWVLhWFLE11xZkuJYUsUXXFnS7NhSxVdcWhLtmFLFl1xaUvKYXWHVQlpZGF0bVR5cGVxakvuiX2HVQZhbHRMb2Nxa0vuVQB9h1UFbGFiZWxxbEvuWAAAAAB9cW0oWAkAAABCUjE5IDAuNTZdcW5LSWFYBwAAAFMxIDAuNTddcW9LEWFYCQAAAEJSMTkgMC41NV1xcEsNYVgJAAAAQlIxOSAwLjQ5XXFxSx9hWAkAAABOMzMgLTAuMDVdcXJLU2FYCAAAAFM0NiAwLjgxXXFzS1ZhWAcAAABDNCAwLjMzXXF0SxRhWAcAAABTMSAwLjMyXXF1SzthWAcAAABDNCAwLjMwXXF2Sz5hWAgAAABDMiAtMC4wNF1xd0sSYVgIAAAASDEgLTAuMDddcXhLDmFYBwAAAFMzIDAuNTZdcXlLAmFYBwAAAEMyIDAuMzBdcXpLAWF1h1UOc3VyZmFjZU9wYWNpdHlxe0vuR7/wAAAAAAAAfXF8Rz/JmZmgAAAATl1xfShLeksBhnF+S4VLAYZxf0uJSwGGcYBLs0sBhnGBS7ZLAYZxgkvKSwGGcYNlhnOHVQdlbGVtZW50cYRL7ksGfXGFKEsBXXGGKEsOSw9LEEstSy5LL0swSzFLMkszSzRLNUs2SzdLOEs5SzpLYEthS2JLY0tkS2VLZktnS2hLaUtqS2tLbEttS25Lb0twS3FLcktzS3RLdUt2S4VLhkuHS6RLpUumS6dLqEupS6pLq0usS61LrkuvS7BLsUvXS9hL2UvaS9tL3EvdS95L30vgS+FL4kvjS+RL5UvmS+dL6EvpS+pL60vsS+1lSyNdcYcoSw1LH0tJS4RLlkvAZUsHXXGIKEslS09LU0ucS8ZLymVLCF1xiShLBksHSwpLC0sMSxdLGEsgSyNLJEtBS0JLSktNS05LV0tYS31LfkuBS4JLg0uOS49Ll0uaS5tLuEu5S8FLxEvFS85Lz2VLEF1xiihLAksRSztLVkt5S4hLskvNZXWHVQpsYWJlbENvbG9ycYtL7k59cYwoSxddcY0oSwFLAksNSxFLFEsfSztLPktJS1ZlSxhdcY4oSw5LEktTZUsZXXGPS3phSxpdcZBLhWFLG11xkUuJYUscXXGSS7NhSx1dcZNLtmFLHl1xlEvKYXWHVQxzdXJmYWNlQ29sb3JxlUvuTn2HVQ9zdXJmYWNlQ2F0ZWdvcnlxlkvuWAQAAABtYWlufXGXWAQAAABpb25zTl1xmChLd0sOhnGZS4hLHIZxmkuySyWGcZtlhnOHVQZyYWRpdXNxnEvuRz/+FHrgAAAAfXGdKEc/7XCj4AAAAF1xnihLAEsaSzRLNUs3S1lLa0tvZUdABMzMwAAAAF1xnyhLAUs+ZUdAAXCj4AAAAF1xoChLCUshZUc/8AAAAAAAAF1xoShLhkuHS6RLpUumS6dLqEupS6pLq0usS61LrkuvS7BLsUvXS9hL2UvaS9tL3EvdS95L30vgS+FL4kvjS+RL5UvmS+dL6EvpS+pL60vsS+1lRz/3XCkAAAAAXXGiKEslSydLLEsuSzNLZWVHP/KPXCAAAABdcaMoSxtLNktES2lLdUt2ZUc//1wpAAAAAF1xpChLhEuWS8BlR0AAAAAAAAAAXXGlS01hRz/49cKAAAAAXXGmKEt6S4lLtmVHP/0euGAAAABdcacoSyRLRktIS1JLW0tfZUc/+j1woAAAAF1xqChLKEtAS0NLnEvGZUc/84UewAAAAF1xqShLBEsOSy9LQWVHQAHrhSAAAABdcaooSyJLS2VHQAY9cKAAAABdcatLFGFHP/pmZmAAAABdcaxLymFHQANcKQAAAABdca0oSxlLTGVHQAB64UAAAABdca5LXWFHQA3rhSAAAABdca9LH2FHP/R64UAAAABdcbAoSwZLMEs9S0dLYEtiS3JLc2VHQBaj1wAAAABdcbFLVmFHP/8KPYAAAABdcbIoSx5LVWVHP/GZmaAAAABdcbMoSxBLE0tTS2RLZ2VHP+mZmaAAAABdcbQoS21LbmVHP/wo9cAAAABdcbUoSwVLCksWSxhLKUtUS15lRz/9R64gAAAAXXG2S4VhRz/2uFHgAAAAXXG3KEt9S35LgUuCS4NLjkuPS5dLmkubS7hLuUvBS8RLxUvOS89lRz/5R64gAAAAXXG4S0phRz/1cKPgAAAAXXG5KEsPSyZLRUtXS1hLYUtjS3RlRz/2ZmZgAAAAXXG6KEsMSyBLLWVHQAD1woAAAABdcbtLZmFHP/xR64AAAABdcbwoS3lLiEuyS81lRz/rhR7AAAAAXXG9KEsVSzFLOktqS2xLcGVHQBBmZmAAAABdcb5LDWFHQBCj1wAAAABdcb8oSwJLSWVHP+9cKQAAAABdccAoSyNLOUs8S1BLcWVHP/Cj1wAAAABdccEoSwNLEksySzhLP0toZUdABcKPYAAAAF1xwks7YUc/94UewAAAAF1xw0uzYUc/+FHrgAAAAF1xxChLHUsqS0JlR0AQ4UegAAAAXXHFSxFhRz/7MzNAAAAAXXHGKEsISwtLF0scSytLTktPS1xldYdVCmNvb3JkSW5kZXhxx11xyChLAEsRhnHJSwBLKoZxyksASzyGcctLAEsRhnHMSwBLKoZxzUsASzyGcc5lVQtsYWJlbE9mZnNldHHPS+5OfYdVEm1pbmltdW1MYWJlbFJhZGl1c3HQS+5HAAAAAAAAAAB9h1UIZHJhd01vZGVx0UvuSwN9cdJLAk5dcdMoS3dLA4Zx1Et7SwqGcdVLhksDhnHWS4pLKYZx10u0SwKGcdhLt0sThnHZS8tLI4Zx2mWGc4dVCG9wdGlvbmFscdt9cdwoVQxzZXJpYWxOdW1iZXJx3YiJS+5NAAJ9cd4oTQECXXHfKEsdS5RlTQICXXHgKEseS5VlTQMCXXHhKEsfS5ZlTQQCXXHiKEsgS5dlTQUCXXHjKEshS5hlTQYCXXHkKEsiS5llTQcCXXHlKEsjS5plTQgCXXHmKEskS5tlTQkCXXHnKEslS5xlTQoCXXHoKEsmS51lTQsCXXHpKEsnS55lTQwCXXHqKEsoS59lTQ0CXXHrKEspS6BlTQ4CXXHsKEsqS6FlTQ8CXXHtKEsrS6JlTRACXXHuKEssS6NlTRECXXHvKEstS6RlTRICXXHwKEsuS6VlTRMCXXHxKEsvS6ZlTRQCXXHyKEswS6dlTRUCXXHzKEsxS6hlTRYCXXH0KEsyS6llTRcCXXH1KEszS6plTRgCXXH2KEs0S6tlTRkCXXH3KEs1S6xlTRoCXXH4KEs2S61lTRsCXXH5KEs3S65lTRwCXXH6KEs4S69lTR0CXXH7KEs5S7BlTR4CXXH8KEs6S7FlTS4CXXH9KEs7S7JlTS8CXXH+KEs8S7NlTTACXXH/KEs9S7RlTTECXXIAAQAAKEs+S7VlTTICXXIBAQAAKEs/S7ZlTTMCXXICAQAAKEtAS7dlTTQCXXIDAQAAKEtBS7hlTTUCXXIEAQAAKEtCS7llTTYCXXIFAQAAKEtDS7plTTcCXXIGAQAAKEtES7tlTTgCXXIHAQAAKEtFS7xlTTkCXXIIAQAAKEtGS71lTToCXXIJAQAAKEtHS75lTTsCXXIKAQAAKEtIS79lTTwCXXILAQAAKEtJS8BlTT0CXXIMAQAAKEtKS8FlTT4CXXINAQAAKEtLS8JlTT8CXXIOAQAAKEtMS8NlTUACXXIPAQAAKEtNS8RlTUECXXIQAQAAKEtOS8VlTUICXXIRAQAAKEtPS8ZlTUMCXXISAQAAKEtQS8dlTUQCXXITAQAAKEtRS8hlTUUCXXIUAQAAKEtSS8llTUYCXXIVAQAAKEtTS8plTUcCXXIWAQAAKEtUS8tlTUgCXXIXAQAAKEtVS8xlTUkCXXIYAQAAKEtWS81lTUoCXXIZAQAAKEtXS85lTUsCXXIaAQAAKEtYS89lTUwCXXIbAQAAKEtZS9BlTU0CXXIcAQAAKEtaS9FlTU4CXXIdAQAAKEtbS9JlTU8CXXIeAQAAKEtcS9NlTVACXXIfAQAAKEtdS9RlTVECXXIgAQAAKEteS9VlTVICXXIhAQAAKEtfS9ZlTVMCXXIiAQAAKEtgS9dlTVQCXXIjAQAAKEthS9hlTVUCXXIkAQAAKEtiS9llTVYCXXIlAQAAKEtjS9plTVcCXXImAQAAKEtkS9tlTVgCXXInAQAAKEtlS9xlTVkCXXIoAQAAKEtmS91lTVoCXXIpAQAAKEtnS95lTVsCXXIqAQAAKEtoS99lTVwCXXIrAQAAKEtpS+BlTV0CXXIsAQAAKEtqS+FlTV4CXXItAQAAKEtrS+JlTV8CXXIuAQAAKEtsS+NlTWACXXIvAQAAKEttS+RlTWECXXIwAQAAKEtuS+VlTWICXXIxAQAAKEtvS+ZlTWMCXXIyAQAAKEtwS+dlTWQCXXIzAQAAKEtxS+hlTWUCXXI0AQAAKEtyS+llTWYCXXI1AQAAKEtzS+plTWcCXXI2AQAAKEt0S+tlTWgCXXI3AQAAKEt1S+xlTWkCXXI4AQAAKEt2S+1lTZUBXXI5AQAAKEsAS3dlTZYBXXI6AQAAKEsBS3hlTZcBXXI7AQAAKEsCS3llTZgBXXI8AQAAKEsDS3plTZkBXXI9AQAAKEsES3tlTZoBXXI+AQAAKEsFS3xlTZsBXXI/AQAAKEsGS31lTZwBXXJAAQAAKEsHS35lTZ0BXXJBAQAAKEsIS39lTZ4BXXJCAQAAKEsJS4BlTZ8BXXJDAQAAKEsKS4FlTaABXXJEAQAAKEsLS4JlTaEBXXJFAQAAKEsMS4NlTaIBXXJGAQAAKEsNS4RlTaMBXXJHAQAAKEsOS4VlTaQBXXJIAQAAKEsPS4ZlTaUBXXJJAQAAKEsQS4dlTfUBXXJKAQAAKEsRS4hlTfYBXXJLAQAAKEsSS4llTfcBXXJMAQAAKEsTS4plTfgBXXJNAQAAKEsUS4tlTfkBXXJOAQAAKEsVS4xlTfoBXXJPAQAAKEsWS41lTfsBXXJQAQAAKEsXS45lTfwBXXJRAQAAKEsYS49lTf0BXXJSAQAAKEsZS5BlTf4BXXJTAQAAKEsaS5FlTf8BXXJUAQAAKEsbS5JldYeHVQdiZmFjdG9yclUBAACIiUvuRwAAAAAAAAAAfYeHVQlvY2N1cGFuY3lyVgEAAIiJS+5HP5R64UAAAAB9clcBAAAoRz/TMzNAAAAAXXJYAQAAKEsBSz5LeEu1ZUc/zXCj4AAAAF1yWQEAAChLCUshS4BLmGVHgAAAAAAAAABdcloBAAAoS21LbkvkS+VlRz/EeuFAAAAAXXJbAQAAKEsFSwpLFksYSylLVEteS3xLgUuNS49LoEvLS9VlRz/HCj2AAAAAXXJcAQAAKEsHS1FLWkt+S8hL0WVHP864UeAAAABdcl0BAAAoSyJLS0uZS8JlRz/VHrhgAAAAXXJeAQAAKEsUS4tlRz/B64UgAAAAXXJfAQAAKEsoS0BLQ0ufS7dLumVHP+I9cKAAAABdcmABAAAoSxFLiGVHP99cKQAAAABdcmEBAAAoSx9LlmVHP9R64UAAAABdcmIBAAAoSztLsmVHP+HrhSAAAABdcmMBAAAoSwJLSUt5S8BlRz+0euFAAAAAXXJkAQAAKEsGSzBLPUtHS2BLYktyS3NLfUunS7RLvkvXS9lL6UvqZUc/two9gAAAAF1yZQEAAChLD0smS0VLV0tYS2FLY0t0S4ZLnUu8S85Lz0vYS9pL62VHP8mZmaAAAABdcmYBAAAoS01LxGVHP6mZmaAAAABdcmcBAAAoSxBLE0tkS2dLh0uKS9tL3mVHP764UeAAAABdcmgBAAAoSx1LKktCS5RLoUu5ZUc/vCj1wAAAAF1yaQEAAChLJUsnSyxLLkszS2VLnEueS6NLpUuqS9xlRz+uuFHgAAAAXXJqAQAAKEsbSzZLREtpS3VLdkuSS61Lu0vgS+xL7WVHP6R64UAAAABdcmsBAAAoSzJLOEtoS6lLr0vfZUc/0UeuIAAAAF1ybAEAAChLGUtMS5BLw2VHv6mZmaAAAABdcm0BAAAoS1NLymVHP+nrhSAAAABdcm4BAAAoS1ZLzWVHP7mZmaAAAABdcm8BAAAoSwxLIEstS4NLl0ukZUe/hHrhQAAAAF1ycAEAAChLFUuMZUe/seuFIAAAAF1ycQEAAChLDkuFZUc/wKPXAAAAAF1ycgEAAChLSkvBZUc/yuFHoAAAAF1ycwEAAChLXUvUZUe/nrhR4AAAAF1ydAEAAChLPEuzZUc/zCj1wAAAAF1ydQEAAChLZkvdZUc/wzMzQAAAAF1ydgEAAChLCEsLSxdLHEsrS05LT0tcS39LgkuOS5NLokvFS8ZL02VHP8XCj2AAAABdcncBAAAoSyRLRktIS1JLW0tfS5tLvUu/S8lL0kvWZUe/pHrhQAAAAF1yeAEAAChLA0sSSz9LekuJS7ZlRz/IUeuAAAAAXXJ5AQAAKEseS1VLlUvMZUc/seuFIAAAAF1yegEAAChLBEsvS0FLe0umS7hlRz/hmZmgAAAAXXJ7AQAAKEsNS4RlRz+EeuFAAAAAXXJ8AQAAKEsxSzpLaktsS3BLqEuxS+FL40vnZUc/nrhR4AAAAF1yfQEAAChLI0s5S1BLcUuaS7BLx0voZXWHh3VVB2Rpc3BsYXlyfgEAAEvuiH1yfwEAAIlOXXKAAQAAKEt3SwOGcoEBAABLe0sKhnKCAQAAS4ZLA4ZygwEAAEuKSymGcoQBAABLtEsChnKFAQAAS7dLE4ZyhgEAAEvLSyOGcocBAABlhnOHdS4='
        ))
    bondInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQVjb2xvcnECS3xOfYdVBWF0b21zcQNdcQQoXXEFKEsZSw1lXXEGKEsMSw1lXXEHKEsMSw5lXXEIKEsMSxplXXEJKEsVSxRlXXEKKEsVSxZlXXELKEsVSxhlXXEMKEsNSxBlXXENKEsPSw5lXXEOKEsPSxBlXXEPKEsPSxFlXXEQKEsQSxNlXXERKEsRSxJlXXESKEsRSxdlXXETKEsUSxNlXXEUKEsUSxtlXXEVKEsUSxxlXXEWKEsrSyBlXXEXKEsmSyVlXXEYKEsmSydlXXEZKEsmSzllXXEaKEsnSyhlXXEbKEsnSzFlXXEcKEsoSyllXXEdKEsoSzplXXEeKEspSyplXXEfKEspSztlXXEgKEsqSyVlXXEhKEsqSzxlXXEiKEseSx1lXXEjKEseSx9lXXEkKEseSyJlXXElKEstSz1lXXEmKEstSz5lXXEnKEstSyxlXXEoKEstSy5lXXEpKEsuSy9lXXEqKEsuSzBlXXErKEsfSyBlXXEsKEsfSyxlXXEtKEsyS0BlXXEuKEsyS0FlXXEvKEsySzFlXXEwKEsySzNlXXExKEszSzRlXXEyKEszSzhlXXEzKEs0S0JlXXE0KEs0SzVlXXE1KEs1S0NlXXE2KEs1SzZlXXE3KEs2S0RlXXE4KEs2SzdlXXE5KEs3S0VlXXE6KEs3SzhlXXE7KEs4S0ZlXXE8KEsgSyFlXXE9KEshSx1lXXE+KEshSyVlXXE/KEsiSyNlXXFAKEsiSyRlXXFBKEs/SzFlXXFCKEtVS0plXXFDKEtQS09lXXFEKEtQS1FlXXFFKEtQS2xlXXFGKEtRS1JlXXFHKEtRS1tlXXFIKEtSS1NlXXFJKEtSS21lXXFKKEtTS1RlXXFLKEtTS25lXXFMKEtUS09lXXFNKEtUS29lXXFOKEtIS0dlXXFPKEtIS0llXXFQKEtIS0xlXXFRKEtXS1ZlXXFSKEtXS1hlXXFTKEtXS3BlXXFUKEtXS3FlXXFVKEtYS1llXXFWKEtYS1plXXFXKEtJS0plXXFYKEtJS1ZlXXFZKEtcS1tlXXFaKEtcS11lXXFbKEtcS2FlXXFcKEtcS3NlXXFdKEtdS15lXXFeKEtdS3RlXXFfKEtdS3VlXXFgKEteS19lXXFhKEteS3ZlXXFiKEteS3dlXXFjKEtgS19lXXFkKEtgS2FlXXFlKEtgS3hlXXFmKEtgS3llXXFnKEthS3plXXFoKEthS3tlXXFpKEtKS0tlXXFqKEtlS2JlXXFrKEtlS2ZlXXFsKEtlS3xlXXFtKEtlS31lXXFuKEtLS0dlXXFvKEtLS09lXXFwKEtmS2dlXXFxKEtmS2tlXXFyKEtnS2hlXXFzKEtnS35lXXF0KEtoS2llXXF1KEtoS39lXXF2KEtpS2plXXF3KEtpS4BlXXF4KEtqS2tlXXF5KEtqS4FlXXF6KEtrS4JlXXF7KEtMS01lXXF8KEtMS05lXXF9KEtyS1tlXXF+KEtfS2JlXXF/KEtjS2JlXXGAKEtkS2JlZVUFbGFiZWxxgUt8WAAAAAB9h1UIaGFsZmJvbmRxgkt8iH2HVQZyYWRpdXNxg0t8Rz/JmZmgAAAAfYdVC2xhYmVsT2Zmc2V0cYRLfE59h1UIZHJhd01vZGVxhUt8SwF9h1UIb3B0aW9uYWxxhn1VB2Rpc3BsYXlxh0t8SwJ9h3Uu'
        ))
    crdInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoSwB9cQIoSwBdcQMoR0BGmj1wo9cKR0Ap6n752yLRRz/xul41P3zuh3EER0BG4m6XjU/fR0AqxiTdLxqgR0ACo9cKPXCkh3EFR0BGNJul41P4R0Asi0OVgQYlRz/YcrAgxJumh3EGR0BGYk3S8an8R0AuysCDEm6YRz/5ztkWhysCh3EHR0BGxBiTdLxqR0AthBiTdLxqR0AFCDEm6XjVh3EIR0BGKp++dsi0R0AwuVgQYk3TRz/4xJul41P4h3EJR0BF0OVgQYk3R0AxCDEm6XjVRz/cKPXCj1wph3EKR0BHBeNT987ZR0AuszMzMzMzR0AOwo9cKPXDh3ELR0BHoo9cKPXDR0AwF87ZFocrR0ANR64UeuFIh3EMR0BHyVgQYk3TR0Aw+VgQYk3TR0ATfvnbItDlh3ENR0BIXO2RaHKwR0Axp++dsi0OR0ATLQ5WBBiTh3EOR0BGR41P3ztkR0Axin752yLRR0ADRaHKwIMSh3EPR0BHbZFocrAhR0AxDMzMzMzNR0AXSbpeNT99h3EQR0BHX3ztkWhzR0AodT987ZFoR0ALjU/fO2Rah3ERR0BGom6XjU/fR0An5ul41P30Rz/mXjU/fO2Rh3ESR0BHleNT987ZR0AwuyLQ5WBCR0AGKPXCj1wph3ETR0BIDMzMzMzNR0AuxaHKwIMSR0AMHKwIMSbph3EUZVUGYWN0aXZlcRVLAHVLAX1xFihLAF1xFyhHQEZMKPXCj1xHQCwlYEGJN0xHP9+NT987ZFqHcRhHQEZi8an7521HQC7HrhR64UhHP/kKPXCj1wqHcRlHQEbUm6XjU/hHQC4PXCj1wo9HQATnbItDlYGHcRpHQEcRysCDEm9HQCtmZmZmZmZHQAOyLQ5WBBmHcRtHQEbQo9cKPXFHQCoP3ztkWh1HP/Uan752yLSHcRxHQEYKn752yLRHQDCZ2yLQ5WBHP/VcKPXCj1yHcR1HQEYPnbItDlZHQDGEWhysCDFHQAE9cKPXCj2HcR5HQEW5FocrAgxHQDCz987ZFodHP9IMSbpeNT+HcR9HQEbxaHKwIMVHQCdHrhR64UhHP+peNT987ZGHcSBHQEeaXjU/fO5HQCYl41P3ztlHP+rhR64UeuGHcSFHQEe2ZmZmZmZHQCN987ZFoctHP9euFHrhR66HcSJHQEcoUeuFHrhHQCHtkWhysCFHv8AgxJul41SHcSNHQEZ/Gp++dslHQCMKwIMSbphHv8MSbpeNT9+HcSRHQEZlP3ztkWhHQCW2yLQ5WBBHP9UeuFHrhR+HcSVHQEesKPXCj1xHQCnbItDlYEJHQA2fvnbItDmHcSZHQEcIcrAgxJxHQC+zMzMzMzNHQA3ItDlYEGKHcSdHQEejdLxqfvpHQDCWhysCDEpHQAwxJul41P6HcShHQEfS8an7521HQDFT987ZFodHQBM7ZFocrAiHcSlHQEdwxJul41RHQDFE3S8an75HQBck3S8an76HcSpHQEhafvnbItFHQDH2RaHKwINHQBNU/fO2RaKHcStHQEhci0OVgQZHQCKJN0vGp/BHP9rhR64UeuGHcSxHQEiNLxqfvndHQB9nbItDlYFHP+FocrAgxJyHcS1HQEiVYEGJN0xHQB187ZFocrBHP/+p++dsi0SHcS5HQEf64UeuFHtHQBvItDlYEGJHQAUeuFHrhR+HcS9HQEgBqfvnbItHQBnysCDEm6ZHQA/1wo9cKPaHcTBHQEijtkWhysFHQBnZFocrAgxHQBKvGp++dsmHcTFHQEk+l41P3ztHQBuNT987ZFpHQBAQYk3S8aqHcTJHQEk3S8an755HQB1iTdLxqfxHQAU/fO2RaHOHcTNHQEgFHrhR64VHQCdRaHKwIMVHP/NgQYk3S8eHcTRHQEc9kWhysCFHQB/Q5WBBiTdHv97peNT987aHcTVHQEYUOVgQYk5HQCHhR64UeuFHv+C8an752yOHcTZHQEXlocrAgxJHQCaP3ztkWh1HP9RaHKwIMSeHcTdHQEeQxJul41RHQDFRJul41P5HQAWyLQ5WBBmHcThHQEgLItDlYEJHQC/KPXCj1wpHQAoIMSbpeNWHcTlHQEi+FHrhR65HQCPrhR64UexHP9dsi0OVgQaHcTpHQEkL52yLQ5ZHQB7aHKwIMSdHP7XCj1wo9cOHcTtHQEguNT987ZFHQBz3ztkWhytHP3R64UeuFHuHcTxHQEeBysCDEm9HQBvjU/fO2RdHQADlYEGJN0yHcT1HQEeONT987ZFHQBin752yLQ5HQBICDEm6XjWHcT5HQEipmZmZmZpHQBh2yLQ5WBBHQBbKwIMSbpiHcT9HQEm3ztkWhytHQBtztkWhysFHQBIuFHrhR66HcUBHQEmqfvnbItFHQB6tDlYEGJNHQAEvGp++dsmHcUFlaBVLAHVLAn1xQihLAF1xQyhHQEZSj1wo9cNHQCvk3S8an75HP+eFHrhR64WHcURHQEZt87ZFoctHQC63S8an755HP/0CDEm6XjWHcUVHQEbkvGp++dtHQC41P3ztkWhHQAXAgxJul42HcUZHQEcsSbpeNT9HQCt987ZFoctHQAUCDEm6XjWHcUdHQEbztkWhysFHQCn752yLQ5ZHP/m2RaHKwIOHcUhHQEYT987ZFodHQDCXS8an755HP/hysCDEm6aHcUlHQEXX752yLQ5HQDCan752yLRHP9edsi0OVgSHcUpHQEYE3S8an75HQDGJeNT987ZHQAK0OVgQYk6HcUtHQEcZmZmZmZpHQCc3S8an755HP/L1wo9cKPaHcUxHQEfCDEm6XjVHQCYHKwIMSbpHP/XCj1wo9cOHcU1HQEfafvnbItFHQCNJN0vGp/BHP+/Gp++dsi2HcU5HQEdMzMzMzM1HQCG8an752yNHP9v3ztkWhyuHcU9HQEakeuFHrhRHQCLo9cKPXClHP887ZFocrAiHcVBHQEaONT987ZFHQCWqfvnbItFHP+NLxqfvnbKHcVFHQEe+NT987ZFHQCpgQYk3S8dHQA/nbItDlYGHcVJHQEcK4UeuFHtHQC/752yLQ5ZHQA0/fO2RaHOHcVNHQEemZmZmZmZHQDCw5WBBiTdHQAvU/fO2RaKHcVRHQEfGRaHKwINHQDFk3S8an75HQBLztkWhysGHcVVHQEhZN0vGp/BHQDHaHKwIMSdHQBOHKwIMSbqHcVZHQEdRBiTdLxtHQDGAxJul41RHQBZXCj1wo9eHcVdHQEh8KPXCj1xHQCJgxJul41RHP/NT987ZFoeHcVhHQEigYk3S8apHQB9R64UeuFJHP/jxqfvnbIuHcVlHQEli0OVgQYlHQB6vGp++dslHP/otDlYEGJOHcVpHQEmafvnbItFHQBlLxqfvnbJHQAFT987ZFoeHcVtHQEk6n752yLRHQBhR64UeuFJHQAszMzMzMzOHcVxHQEh/O2RaHKxHQBiMSbpeNT9HQAtkWhysCDGHcV1HQEhItDlYEGJHQB3lYEGJN0xHQAcEGJN0vGqHcV5HQEmWBBiTdLxHQBSMSbpeNT9HQBKGJN0vGqCHcV9HQEkmJN0vGqBHQBUNT987ZFpHQBcZmZmZmZqHcWBHQEpGhysCDEpHQBZP3ztkWh1HQBLnbItDlYGHcWFHQEl6XjU/fO5HQAu6XjU/fO5HQA/Q5WBBiTeHcWJHQEmo1P3ztkZHQAPXCj1wo9dHQBQvGp++dsmHcWNHQEpczMzMzM1HQAEm6XjU/fRHQBSm6XjU/fSHcWRHQEqOVgQYk3VHP/R++dsi0OVHQBkIMSbpeNWHcWVHQEoLxqfvnbJHP+gxJul41P5HQByn752yLQ6HcWZHQElYcrAgxJxHP/HO2RaHKwJHQBwp++dsi0SHcWdHQEkj1wo9cKRHP//KwIMSbphHQBfS8an7522HcWhHQEgrAgxJul5HQCcxqfvnbItHP/wo9cKPXCmHcWlHQEdhqfvnbItHQB9T987ZFodHP8S8an752yOHcWpHQEY7Q5WBBiVHQCG987ZFoctHv8P3ztkWhyuHcWtHQEYTU/fO2RdHQCadsi0OVgRHP9v3ztkWhyuHcWxHQEea4UeuFHtHQDFo9cKPXClHQAU1P3ztkWiHcW1HQEgPGp++dslHQC/52yLQ5WBHQAogxJul41SHcW5HQEjgo9cKPXFHQCOysCDEm6ZHP/HXCj1wo9eHcW9HQEhuuFHrhR9HQByn752yLQ5HP+jEm6XjU/iHcXBHQEmWBBiTdLxHQCDn752yLQ5HQAJiTdLxqfyHcXFHQEmYEGJN0vJHQB8yLQ5WBBlHP+QAAAAAAACHcXJHQEokm6XjU/hHQBlU/fO2RaJHQAMEGJN0vGqHcXNHQEl987ZFoctHQBYo9cKPXClHP/bdLxqfvneHcXRHQEhRBiTdLxtHQBgZmZmZmZpHQBHT987ZFoeHcXVHQEhKHKwIMSdHQBVR64UeuFJHQAZocrAgxJyHcXZHQEe9kWhysCFHQB3Q5WBBiTdHQAWyLQ5WBBmHcXdHQEhn752yLQ5HQCB/fO2RaHNHQAzxqfvnbIuHcXhHQEnOFHrhR65HQAqVgQYk3S9HQAjU/fO2RaKHcXlHQEj0OVgQYk5HQAqNT987ZFpHQA1ul41P3zuHcXpHQEq6PXCj1wpHQAQvGp++dslHQBHU/fO2RaKHcXtHQEsT1wo9cKRHP/BqfvnbItFHQBmgxJul41SHcXxHQEoyTdLxqfxHP7O2RaHKwINHQB/Q5WBBiTeHcX1HQEj7Q5WBBiVHP+d0vGp++dtHQB7987ZFocuHcX5HQEie+dsi0OVHQAIgxJul41RHQBdKwIMSbpiHcX9laBVLAHVLA31xgChLAF1xgShHQEaaPXCj1wpHQCnqfvnbItFHP/G6XjU/fO6HcYJHQEbibpeNT99HQCrGJN0vGqBHQAKj1wo9cKSHcYNHQEY0m6XjU/hHQCyLQ5WBBiVHP9hysCDEm6aHcYRHQEZiTdLxqfxHQC7KwIMSbphHP/nO2RaHKwKHcYVHQEbEGJN0vGpHQC2EGJN0vGpHQAUIMSbpeNWHcYZHQEYqn752yLRHQDC5WBBiTdNHP/jEm6XjU/iHcYdHQEXQ5WBBiTdHQDEIMSbpeNVHP9wo9cKPXCmHcYhHQEcF41P3ztlHQC6zMzMzMzNHQA7Cj1wo9cOHcYlHQEeij1wo9cNHQDAXztkWhytHQA1HrhR64UiHcYpHQEfJWBBiTdNHQDD5WBBiTdNHQBN++dsi0OWHcYtHQEhc7ZFocrBHQDGn752yLQ5HQBMtDlYEGJOHcYxHQEZHjU/fO2RHQDGKfvnbItFHQANFocrAgxKHcY1HQEdtkWhysCFHQDEMzMzMzM1HQBdJul41P32HcY5HQEdffO2RaHNHQCh1P3ztkWhHQAuNT987ZFqHcY9HQEaibpeNT99HQCfm6XjU/fRHP+ZeNT987ZGHcZBHQEeV41P3ztlHQDC7ItDlYEJHQAYo9cKPXCmHcZFHQEgMzMzMzM1HQC7FocrAgxJHQAwcrAgxJumHcZJlaBVLAHVLBH1xkyhLAF1xlChHQEZMKPXCj1xHQCwlYEGJN0xHP9+NT987ZFqHcZVHQEZi8an7521HQC7HrhR64UhHP/kKPXCj1wqHcZZHQEbUm6XjU/hHQC4PXCj1wo9HQATnbItDlYGHcZdHQEcRysCDEm9HQCtmZmZmZmZHQAOyLQ5WBBmHcZhHQEbQo9cKPXFHQCoP3ztkWh1HP/Uan752yLSHcZlHQEYKn752yLRHQDCZ2yLQ5WBHP/VcKPXCj1yHcZpHQEYPnbItDlZHQDGEWhysCDFHQAE9cKPXCj2HcZtHQEW5FocrAgxHQDCz987ZFodHP9IMSbpeNT+HcZxHQEbxaHKwIMVHQCdHrhR64UhHP+peNT987ZGHcZ1HQEeaXjU/fO5HQCYl41P3ztlHP+rhR64UeuGHcZ5HQEe2ZmZmZmZHQCN987ZFoctHP9euFHrhR66HcZ9HQEcoUeuFHrhHQCHtkWhysCFHv8AgxJul41SHcaBHQEZ/Gp++dslHQCMKwIMSbphHv8MSbpeNT9+HcaFHQEZlP3ztkWhHQCW2yLQ5WBBHP9UeuFHrhR+HcaJHQEesKPXCj1xHQCnbItDlYEJHQA2fvnbItDmHcaNHQEcIcrAgxJxHQC+zMzMzMzNHQA3ItDlYEGKHcaRHQEejdLxqfvpHQDCWhysCDEpHQAwxJul41P6HcaVHQEfS8an7521HQDFT987ZFodHQBM7ZFocrAiHcaZHQEdwxJul41RHQDFE3S8an75HQBck3S8an76HcadHQEhafvnbItFHQDH2RaHKwINHQBNU/fO2RaKHcahHQEhci0OVgQZHQCKJN0vGp/BHP9rhR64UeuGHcalHQEiNLxqfvndHQB9nbItDlYFHP+FocrAgxJyHcapHQEiVYEGJN0xHQB187ZFocrBHP/+p++dsi0SHcatHQEf64UeuFHtHQBvItDlYEGJHQAUeuFHrhR+HcaxHQEgBqfvnbItHQBnysCDEm6ZHQA/1wo9cKPaHca1HQEijtkWhysFHQBnZFocrAgxHQBKvGp++dsmHca5HQEk+l41P3ztHQBuNT987ZFpHQBAQYk3S8aqHca9HQEk3S8an755HQB1iTdLxqfxHQAU/fO2RaHOHcbBHQEgFHrhR64VHQCdRaHKwIMVHP/NgQYk3S8eHcbFHQEc9kWhysCFHQB/Q5WBBiTdHv97peNT987aHcbJHQEYUOVgQYk5HQCHhR64UeuFHv+C8an752yOHcbNHQEXlocrAgxJHQCaP3ztkWh1HP9RaHKwIMSeHcbRHQEeQxJul41RHQDFRJul41P5HQAWyLQ5WBBmHcbVHQEgLItDlYEJHQC/KPXCj1wpHQAoIMSbpeNWHcbZHQEi+FHrhR65HQCPrhR64UexHP9dsi0OVgQaHcbdHQEkL52yLQ5ZHQB7aHKwIMSdHP7XCj1wo9cOHcbhHQEguNT987ZFHQBz3ztkWhytHP3R64UeuFHuHcblHQEeBysCDEm9HQBvjU/fO2RdHQADlYEGJN0yHcbpHQEeONT987ZFHQBin752yLQ5HQBICDEm6XjWHcbtHQEipmZmZmZpHQBh2yLQ5WBBHQBbKwIMSbpiHcbxHQEm3ztkWhytHQBtztkWhysFHQBIuFHrhR66Hcb1HQEmqfvnbItFHQB6tDlYEGJNHQAEvGp++dsmHcb5laBVLAHVLBX1xvyhLAF1xwChHQEZSj1wo9cNHQCvk3S8an75HP+eFHrhR64WHccFHQEZt87ZFoctHQC63S8an755HP/0CDEm6XjWHccJHQEbkvGp++dtHQC41P3ztkWhHQAXAgxJul42HccNHQEcsSbpeNT9HQCt987ZFoctHQAUCDEm6XjWHccRHQEbztkWhysFHQCn752yLQ5ZHP/m2RaHKwIOHccVHQEYT987ZFodHQDCXS8an755HP/hysCDEm6aHccZHQEXX752yLQ5HQDCan752yLRHP9edsi0OVgSHccdHQEYE3S8an75HQDGJeNT987ZHQAK0OVgQYk6HcchHQEcZmZmZmZpHQCc3S8an755HP/L1wo9cKPaHcclHQEfCDEm6XjVHQCYHKwIMSbpHP/XCj1wo9cOHccpHQEfafvnbItFHQCNJN0vGp/BHP+/Gp++dsi2HcctHQEdMzMzMzM1HQCG8an752yNHP9v3ztkWhyuHccxHQEakeuFHrhRHQCLo9cKPXClHP887ZFocrAiHcc1HQEaONT987ZFHQCWqfvnbItFHP+NLxqfvnbKHcc5HQEe+NT987ZFHQCpgQYk3S8dHQA/nbItDlYGHcc9HQEcK4UeuFHtHQC/752yLQ5ZHQA0/fO2RaHOHcdBHQEemZmZmZmZHQDCw5WBBiTdHQAvU/fO2RaKHcdFHQEfGRaHKwINHQDFk3S8an75HQBLztkWhysGHcdJHQEhZN0vGp/BHQDHaHKwIMSdHQBOHKwIMSbqHcdNHQEdRBiTdLxtHQDGAxJul41RHQBZXCj1wo9eHcdRHQEh8KPXCj1xHQCJgxJul41RHP/NT987ZFoeHcdVHQEigYk3S8apHQB9R64UeuFJHP/jxqfvnbIuHcdZHQEli0OVgQYlHQB6vGp++dslHP/otDlYEGJOHcddHQEmafvnbItFHQBlLxqfvnbJHQAFT987ZFoeHcdhHQEk6n752yLRHQBhR64UeuFJHQAszMzMzMzOHcdlHQEh/O2RaHKxHQBiMSbpeNT9HQAtkWhysCDGHcdpHQEhItDlYEGJHQB3lYEGJN0xHQAcEGJN0vGqHcdtHQEmWBBiTdLxHQBSMSbpeNT9HQBKGJN0vGqCHcdxHQEkmJN0vGqBHQBUNT987ZFpHQBcZmZmZmZqHcd1HQEpGhysCDEpHQBZP3ztkWh1HQBLnbItDlYGHcd5HQEl6XjU/fO5HQAu6XjU/fO5HQA/Q5WBBiTeHcd9HQEmo1P3ztkZHQAPXCj1wo9dHQBQvGp++dsmHceBHQEpczMzMzM1HQAEm6XjU/fRHQBSm6XjU/fSHceFHQEqOVgQYk3VHP/R++dsi0OVHQBkIMSbpeNWHceJHQEoLxqfvnbJHP+gxJul41P5HQByn752yLQ6HceNHQElYcrAgxJxHP/HO2RaHKwJHQBwp++dsi0SHceRHQEkj1wo9cKRHP//KwIMSbphHQBfS8an7522HceVHQEgrAgxJul5HQCcxqfvnbItHP/wo9cKPXCmHceZHQEdhqfvnbItHQB9T987ZFodHP8S8an752yOHcedHQEY7Q5WBBiVHQCG987ZFoctHv8P3ztkWhyuHcehHQEYTU/fO2RdHQCadsi0OVgRHP9v3ztkWhyuHcelHQEea4UeuFHtHQDFo9cKPXClHQAU1P3ztkWiHcepHQEgPGp++dslHQC/52yLQ5WBHQAogxJul41SHcetHQEjgo9cKPXFHQCOysCDEm6ZHP/HXCj1wo9eHcexHQEhuuFHrhR9HQByn752yLQ5HP+jEm6XjU/iHce1HQEmWBBiTdLxHQCDn752yLQ5HQAJiTdLxqfyHce5HQEmYEGJN0vJHQB8yLQ5WBBlHP+QAAAAAAACHce9HQEokm6XjU/hHQBlU/fO2RaJHQAMEGJN0vGqHcfBHQEl987ZFoctHQBYo9cKPXClHP/bdLxqfvneHcfFHQEhRBiTdLxtHQBgZmZmZmZpHQBHT987ZFoeHcfJHQEhKHKwIMSdHQBVR64UeuFJHQAZocrAgxJyHcfNHQEe9kWhysCFHQB3Q5WBBiTdHQAWyLQ5WBBmHcfRHQEhn752yLQ5HQCB/fO2RaHNHQAzxqfvnbIuHcfVHQEnOFHrhR65HQAqVgQYk3S9HQAjU/fO2RaKHcfZHQEj0OVgQYk5HQAqNT987ZFpHQA1ul41P3zuHcfdHQEq6PXCj1wpHQAQvGp++dslHQBHU/fO2RaKHcfhHQEsT1wo9cKRHP/BqfvnbItFHQBmgxJul41SHcflHQEoyTdLxqfxHP7O2RaHKwINHQB/Q5WBBiTeHcfpHQEj7Q5WBBiVHP+d0vGp++dtHQB7987ZFocuHcftHQEie+dsi0OVHQAIgxJul41RHQBdKwIMSbpiHcfxlaBVLAHV1Lg=='
        ))
    surfInfo = {
        'category': (0, None, {}),
        'probeRadius': (0, None, {}),
        'pointSize': (0, None, {}),
        'name': [],
        'density': (0, None, {}),
        'colorMode': (0, None, {}),
        'useLighting': (0, None, {}),
        'transparencyBlendMode': (0, None, {}),
        'molecule': [],
        'smoothLines': (0, None, {}),
        'lineWidth': (0, None, {}),
        'allComponents': (0, None, {}),
        'twoSidedLighting': (0, None, {}),
        'customVisibility': [],
        'drawMode': (0, None, {}),
        'display': (0, None, {}),
        'customColors': []
    }
    vrmlInfo = {
        'subid': (0, None, {}),
        'display': (0, None, {}),
        'id': (0, None, {}),
        'vrmlString': [],
        'name': (0, None, {})
    }
    colors = {
        u'': ((0.780392, 1, 0.780392), 1, u''),
        u'Ru': ((0.141176, 0.560784, 0.560784), 1, u'default'),
        u'Re': ((0.14902, 0.490196, 0.670588), 1, u'default'),
        u'Rf': ((0.8, 0, 0.34902), 1, u'default'),
        u'Ra': ((0, 0.490196, 0), 1, u'default'),
        u'Rb': ((0.439216, 0.180392, 0.690196), 1, u'default'),
        u'Rn': ((0.258824, 0.509804, 0.588235), 1, u'default'),
        u'Rh': ((0.0392157, 0.490196, 0.54902), 1, u'default'),
        u'Be': ((0.760784, 1, 0), 1, u'default'),
        u'Ba': ((0, 0.788235, 0), 1, u'default'),
        u'Bh': ((0.878431, 0, 0.219608), 1, u'default'),
        u'Bi': ((0.619608, 0.309804, 0.709804), 1, u'default'),
        u'Bk': ((0.541176, 0.309804, 0.890196), 1, u'default'),
        u'Br': ((0.65098, 0.160784, 0.160784), 1, u'default'),
        u'H': ((1, 1, 1), 1, u'default'),
        u'P': ((1, 0.501961, 0), 1, u'default'),
        u'Os': ((0.14902, 0.4, 0.588235), 1, u'default'),
        u'Ge': ((0.4, 0.560784, 0.560784), 1, u'default'),
        u'Gd': ((0.270588, 1, 0.780392), 1, u'default'),
        u'Ga': ((0.760784, 0.560784, 0.560784), 1, u'default'),
        u'Pr': ((0.85098, 1, 0.780392), 1, u'default'),
        u'Pt': ((0.815686, 0.815686, 0.878431), 1, u'default'),
        u'Pu': ((0, 0.419608, 1), 1, u'default'),
        u'C': ((0.564706, 0.564706, 0.564706), 1, u'default'),
        u'Pb': ((0.341176, 0.34902, 0.380392), 1, u'default'),
        u'Pa': ((0, 0.631373, 1), 1, u'default'),
        u'Pd': ((0, 0.411765, 0.521569), 1, u'default'),
        u'Cd': ((1, 0.85098, 0.560784), 1, u'default'),
        u'Po': ((0.670588, 0.360784, 0), 1, u'default'),
        u'Pm': ((0.639216, 1, 0.780392), 1, u'default'),
        u'Hs': ((0.901961, 0, 0.180392), 1, u'default'),
        u'Ho': ((0, 1, 0.611765), 1, u'default'),
        u'Hf': ((0.301961, 0.760784, 1), 1, u'default'),
        u'Hg': ((0.721569, 0.721569, 0.815686), 1, u'default'),
        u'He': ((0.85098, 1, 1), 1, u'default'),
        u'Md': ((0.701961, 0.0509804, 0.65098), 1, u'default'),
        u'Mg': ((0.541176, 1, 0), 1, u'default'),
        u'K': ((0.560784, 0.25098, 0.831373), 1, u'default'),
        u'Mn': ((0.611765, 0.478431, 0.780392), 1, u'default'),
        u'O': ((1, 0.0509804, 0.0509804), 1, u'default'),
        u'Mt': ((0.921569, 0, 0.14902), 1, u'default'),
        u'S': ((1, 1, 0.188235), 1, u'default'),
        u'W': ((0.129412, 0.580392, 0.839216), 1, u'default'),
        u'sky blue': ((0.529412, 0.807843, 0.921569), 1, u'default'),
        u'Zn': ((0.490196, 0.501961, 0.690196), 1, u'default'),
        u'plum': ((0.866667, 0.627451, 0.866667), 1, u'default'),
        u'Eu': ((0.380392, 1, 0.780392), 1, u'default'),
        u'Es': ((0.701961, 0.121569, 0.831373), 1, u'default'),
        u'Er': ((0, 0.901961, 0.458824), 1, u'default'),
        u'Ni': ((0.313725, 0.815686, 0.313725), 1, u'default'),
        u'No': ((0.741176, 0.0509804, 0.529412), 1, u'default'),
        u'Na': ((0.670588, 0.360784, 0.94902), 1, u'default'),
        u'Nb': ((0.45098, 0.760784, 0.788235), 1, u'default'),
        u'Nd': ((0.780392, 1, 0.780392), 1, u'default'),
        u'Ne': ((0.701961, 0.890196, 0.960784), 1, u'default'),
        u'Np': ((0, 0.501961, 1), 1, u'default'),
        u'Fr': ((0.258824, 0, 0.4), 1, u'default'),
        u'Fe': ((0.878431, 0.4, 0.2), 1, u'default'),
        u'Fm': ((0.701961, 0.121569, 0.729412), 1, u'default'),
        u'B': ((1, 0.709804, 0.709804), 1, u'default'),
        u'F': ((0.564706, 0.878431, 0.313725), 1, u'default'),
        u'Sr': ((0, 1, 0), 1, u'default'),
        u'N': ((0.188235, 0.313725, 0.972549), 1, u'default'),
        u'Kr': ((0.360784, 0.721569, 0.819608), 1, u'default'),
        u'Si': ((0.941176, 0.784314, 0.627451), 1, u'default'),
        u'Sn': ((0.4, 0.501961, 0.501961), 1, u'default'),
        u'Sm': ((0.560784, 1, 0.780392), 1, u'default'),
        u'V': ((0.65098, 0.65098, 0.670588), 1, u'default'),
        u'Sc': ((0.901961, 0.901961, 0.901961), 1, u'default'),
        u'Sb': ((0.619608, 0.388235, 0.709804), 1, u'default'),
        u'Sg': ((0.85098, 0, 0.270588), 1, u'default'),
        u'Se': ((1, 0.631373, 0), 1, u'default'),
        u'Co': ((0.941176, 0.564706, 0.627451), 1, u'default'),
        u'Cm': ((0.470588, 0.360784, 0.890196), 1, u'default'),
        u'Cl': ((0.121569, 0.941176, 0.121569), 1, u'default'),
        u'Ca': ((0.239216, 1, 0), 1, u'default'),
        u'Cf': ((0.631373, 0.211765, 0.831373), 1, u'default'),
        u'Ce': ((1, 1, 0.780392), 1, u'default'),
        u'Xe': ((0.258824, 0.619608, 0.690196), 1, u'default'),
        u'Tm': ((0, 0.831373, 0.321569), 1, u'default'),
        u'Cs': ((0.341176, 0.0901961, 0.560784), 1, u'default'),
        u'Cr': ((0.541176, 0.6, 0.780392), 1, u'default'),
        u'Cu': ((0.784314, 0.501961, 0.2), 1, u'default'),
        u'La': ((0.439216, 0.831373, 1), 1, u'default'),
        u'Li': ((0.8, 0.501961, 1), 1, u'default'),
        u'Tl': ((0.65098, 0.329412, 0.301961), 1, u'default'),
        u'Lu': ((0, 0.670588, 0.141176), 1, u'default'),
        u'Lr': ((0.780392, 0, 0.4), 1, u'default'),
        u'Th': ((0, 0.729412, 1), 1, u'default'),
        u'Ti': ((0.74902, 0.760784, 0.780392), 1, u'default'),
        u'tan': ((0.823529, 0.705882, 0.54902), 1, u'default'),
        u'Te': ((0.831373, 0.478431, 0), 1, u'default'),
        u'Tb': ((0.188235, 1, 0.780392), 1, u'default'),
        u'Tc': ((0.231373, 0.619608, 0.619608), 1, u'default'),
        u'Ta': ((0.301961, 0.65098, 1), 1, u'default'),
        u'Yb': ((0, 0.74902, 0.219608), 1, u'default'),
        u'Db': ((0.819608, 0, 0.309804), 1, u'default'),
        u'Zr': ((0.580392, 0.878431, 0.878431), 1, u'default'),
        u'Dy': ((0.121569, 1, 0.780392), 1, u'default'),
        u'I': ((0.580392, 0, 0.580392), 1, u'default'),
        u'U': ((0, 0.560784, 1), 1, u'default'),
        u'Y': ((0.580392, 1, 1), 1, u'default'),
        u'Ac': ((0.439216, 0.670588, 0.980392), 1, u'default'),
        u'Ag': ((0.752941, 0.752941, 0.752941), 1, u'default'),
        u'Ir': ((0.0901961, 0.329412, 0.529412), 1, u'default'),
        u'Am': ((0.329412, 0.360784, 0.94902), 1, u'default'),
        u'Al': ((0.74902, 0.65098, 0.65098), 1, u'default'),
        u'As': ((0.741176, 0.501961, 0.890196), 1, u'default'),
        u'Ar': ((0.501961, 0.819608, 0.890196), 1, u'default'),
        u'Au': ((1, 0.819608, 0.137255), 1, u'default'),
        u'At': ((0.458824, 0.309804, 0.270588), 1, u'default'),
        u'In': ((0.65098, 0.458824, 0.45098), 1, u'default'),
        u'Mo': ((0.329412, 0.709804, 0.709804), 1, u'default')
    }
    materials = {
        u'': ((0.85, 0.85, 0.85), 30),
        u'default': ((0.85, 0.85, 0.85), 30)
    }
    pbInfo = {
        'category': [u'distance monitor'],
        'bondInfo': [{
            'color': (0, None, {}),
            'atoms': [],
            'label': (0, None, {}),
            'halfbond': (0, None, {}),
            'labelColor': (0, None, {}),
            'labelOffset': (0, None, {}),
            'drawMode': (0, None, {}),
            'display': (0, None, {})
        }],
        'lineType': (1, 2, {}),
        'color': (1, 37, {}),
        'optional': {
            'fixedLabels': (True, False, (1, False, {}))
        },
        'display': (1, True, {}),
        'showStubBonds': (1, False, {}),
        'lineWidth': (1, 1, {}),
        'stickScale': (1, 1, {}),
        'id': [-2]
    }
    modelAssociations = {}
    colorInfo = (40, (u'', (0, 0, 0, 0.2)), {
        (u'', (0.193839, 0.452601, 0.218188, 1)): [5],
        (u'', (0.1184, 0.223266, 0.901463, 0.2)): [6, 9],
        (u'green', (0, 1, 0, 1)): [39],
        (u'', (0.663999, 0.164948, 0.651698, 1)): [4],
        (u'Br', (0.65098, 0.160784, 0.160784, 1)): [14],
        (u'N', (0.188235, 0.313725, 0.972549, 1)): [16],
        (u'', (1, 1, 1, 1)): [38],
        (u'S', (1, 1, 0.188235, 1)): [12],
        (u'O', (1, 0.0509804, 0.0509804, 1)): [13],
        (u'sky blue', (0.529412, 0.807843, 0.921569, 1)): [1],
        (u'', (0.193839, 0.452601, 0.218188, 0.2)): [8, 11],
        (u'tan', (0.823529, 0.705882, 0.54902, 1)): [0],
        (u'plum', (0.866667, 0.627451, 0.866667, 1)): [2],
        (u'red', (1, 0, 0, 1)): [24],
        (u'yellow', (1, 1, 0, 1)): [37],
        (u'H', (1, 1, 1, 1)): [15],
        (u'', (0.663999, 0.164948, 0.651698, 0.2)): [7, 10],
        (u'blue', (0, 0, 1, 1)): [23],
        (u'', (0.1184, 0.223266, 0.901463, 1)): [3]
    })
    viewerInfo = {
        'cameraAttrs': {
            'center': (50.727180703031, 9.8739736787576, 4.2693911011513),
            'fieldOfView': 17.567064639105,
            'nearFar': (17.802650613314, -8.383256887501),
            'ortho': False,
            'eyeSeparation': 50.8,
            'focal': 2.9510000367165
        },
        'viewerAttrs': {
            'silhouetteColor':
            None,
            'clipping':
            False,
            'showSilhouette':
            False,
            'showShadows':
            False,
            'viewSize':
            6.8744100148427,
            'labelsOnTop':
            True,
            'depthCueRange': (0.5, 1),
            'silhouetteWidth':
            2,
            'singleLayerTransparency':
            True,
            'shadowTextureSize':
            2048,
            'backgroundImage': [None, 1, 2, 1, 0, 0],
            'backgroundGradient': [('Chimera default', [(1, 1, 1, 1),
                                                        (0, 0, 1, 1)], 1), 1,
                                   0, 0],
            'depthCue':
            True,
            'highlight':
            0,
            'scaleFactor':
            0.76683262201217,
            'angleDependentTransparency':
            True,
            'backgroundMethod':
            0
        },
        'viewerHL': 39,
        'cameraMode': 'mono',
        'detail': 1.5,
        'viewerFog': None,
        'viewerBG': 38
    }

    replyobj.status("Initializing session restore...",
                    blankAfter=0,
                    secondary=True)
    from SimpleSession.versions.v65 import expandSummary
    init(dict(enumerate(expandSummary(colorInfo))))
    replyobj.status("Restoring colors...", blankAfter=0, secondary=True)
    restoreColors(colors, materials)
    replyobj.status("Restoring molecules...", blankAfter=0, secondary=True)
    restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
    replyobj.status("Restoring surfaces...", blankAfter=0, secondary=True)
    restoreSurfaces(surfInfo)
    replyobj.status("Restoring VRML models...", blankAfter=0, secondary=True)
    restoreVRML(vrmlInfo)
    replyobj.status("Restoring pseudobond groups...",
                    blankAfter=0,
                    secondary=True)
    restorePseudoBondGroups(pbInfo)
    replyobj.status("Restoring model associations...",
                    blankAfter=0,
                    secondary=True)
    restoreModelAssociations(modelAssociations)
    replyobj.status("Restoring camera...", blankAfter=0, secondary=True)
    restoreViewer(viewerInfo)
コード例 #6
0
ファイル: 2qbp.pub.py プロジェクト: phenylazide/can-ai-do
def restoreCoreModels():
    from SimpleSession.versions.v65 import init, restoreViewer, \
         restoreMolecules, restoreColors, restoreSurfaces, \
         restoreVRML, restorePseudoBondGroups, restoreModelAssociations
    molInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwZOfYdVCWJhbGxTY2FsZXEDSwZHP9AAAAAAAAB9h1UJcG9pbnRTaXplcQRLBkc/8AAAAAAAAH2HVQVjb2xvcnEFSwZLAH1xBihLAV1xB0sBYUsCXXEISwJhSwNdcQlLA2FLBF1xCksEYUsFXXELSwVhdYdVCnJpYmJvblR5cGVxDEsGSwB9h1UKc3RpY2tTY2FsZXENSwZHP/AAAAAAAAB9h1UMbW1DSUZIZWFkZXJzcQ5dcQ8oTk5OTk5OZVUMYXJvbWF0aWNNb2RlcRBLBksBfYdVCnZkd0RlbnNpdHlxEUsGR0AUAAAAAAAAfYdVBmhpZGRlbnESSwaJfYdVDWFyb21hdGljQ29sb3JxE0sGTn2HVQ9yaWJib25TbW9vdGhpbmdxFEsGSwB9h1UJYXV0b2NoYWlucRVLBoh9h1UKcGRiVmVyc2lvbnEWSwZLAn2HVQhvcHRpb25hbHEXfXEYVQhvcGVuZWRBc3EZiIlLBihVTi9ob21lL3lhbmdqYy9naXQvY2FuLWFpLWRvL3BkYmJpbmQvYXRvbV9tYXBwaW5nL3BkYi9hdG9tLjJxYnJfbGlnYW5kLmFsaWduLnBkYk5VA1BEQnEaSwF0cRt9cRwoKFVOL2hvbWUveWFuZ2pjL2dpdC9jYW4tYWktZG8vcGRiYmluZC9hdG9tX21hcHBpbmcvcGRiL2F0b20uMmhiMV9saWdhbmQuYWxpZ24ucGRiTmgaSwF0cR1dcR4oSwBLA2UoVU4vaG9tZS95YW5namMvZ2l0L2Nhbi1haS1kby9wZGJiaW5kL2F0b21fbWFwcGluZy9wZGIvYXRvbS4ycWJwX2xpZ2FuZC5hbGlnbi5wZGJOaBpLAXRxH11xIChLAksFZXWHh3NVD2xvd2VyQ2FzZUNoYWluc3EhSwaJfYdVCWxpbmVXaWR0aHEiSwZHP/AAAAAAAAB9h1UPcmVzaWR1ZUxhYmVsUG9zcSNLBksAfYdVBG5hbWVxJEsGWBoAAABhdG9tLjJxYnBfbGlnYW5kLmFsaWduLnBkYn1xJShYGgAAAGF0b20uMmhiMV9saWdhbmQuYWxpZ24ucGRiXXEmKEsASwNlWBoAAABhdG9tLjJxYnJfbGlnYW5kLmFsaWduLnBkYl1xJyhLAUsEZXWHVQ9hcm9tYXRpY0Rpc3BsYXlxKEsGiX2HVQ9yaWJib25TdGlmZm5lc3NxKUsGRz/pmZmZmZmafYdVCnBkYkhlYWRlcnNxKl1xKyh9cSx9cS19cS5YBQAAAEhFTElYXXEvWEwAAABIRUxJWCAgICAxICAgMSBHTE4gICAgIDIxICBBUkcgICAgIDI0ICAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzcTBhc31xMX1xMn1xM1gFAAAASEVMSVhdcTRYTAAAAEhFTElYICAgIDEgICAxIEdMTiAgICAgMjEgIEFSRyAgICAgMjQgIDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDNxNWFzZVUDaWRzcTZLBksASwCGfXE3KEtmSwCGXXE4SwVhSwJLAIZdcTlLAmFLZUsAhl1xOksEYUsBSwCGXXE7SwFhS2RLAIZdcTxLA2F1h1UOc3VyZmFjZU9wYWNpdHlxPUsGR7/wAAAAAAAAfYdVEGFyb21hdGljTGluZVR5cGVxPksGSwJ9h1UUcmliYm9uSGlkZXNNYWluY2hhaW5xP0sGiH2HVQdkaXNwbGF5cUBLBoh9cUGJXXFCKEsBSwRlc4d1Lg=='
        ))
    resInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQZpbnNlcnRxAksGVQEgfYdVC2ZpbGxEaXNwbGF5cQNLBol9h1UEbmFtZXEESwZYAwAAAE1PTH2HVQVjaGFpbnEFSwZYAQAAAEF9h1UOcmliYm9uRHJhd01vZGVxBksGSwJ9h1UCc3NxB0sGiYmGfYdVCG1vbGVjdWxlcQhLBksAfXEJKEsBTl1xCksBSwGGcQthhksCTl1xDEsCSwGGcQ1hhksDTl1xDksDSwGGcQ9hhksETl1xEEsESwGGcRFhhksFTl1xEksFSwGGcRNhhnWHVQtyaWJib25Db2xvcnEUSwZOfXEVKEsITl1xFksFSwGGcRdhhksGTl1xGEsDSwGGcRlhhksHTl1xGksESwGGcRthhnWHVQVsYWJlbHEcSwZYAAAAAH2HVQpsYWJlbENvbG9ycR1LBk59cR4oSwlOXXEfSwNLAYZxIGGGSwtOXXEhSwVLAYZxImGGSwpOXXEjSwRLAYZxJGGGdYdVCGZpbGxNb2RlcSVLBksBfYdVBWlzSGV0cSZLBoh9h1ULbGFiZWxPZmZzZXRxJ0sGTn2HVQhwb3NpdGlvbnEoXXEpKEsBSwGGcSpLAUsBhnErSwFLAYZxLEsBSwGGcS1LAUsBhnEuSwFLAYZxL2VVDXJpYmJvbkRpc3BsYXlxMEsGiX2HVQhvcHRpb25hbHExfVUEc3NJZHEySwZK/////32HdS4='
        ))
    atomInfo = cPickle.loads(
        base64.b64decode(
            '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'
        ))
    bondInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQVjb2xvcnECS3xOfYdVBWF0b21zcQNdcQQoXXEFKEsZSw1lXXEGKEsMSw1lXXEHKEsMSw5lXXEIKEsMSxplXXEJKEsVSxRlXXEKKEsVSxZlXXELKEsVSxhlXXEMKEsNSxBlXXENKEsPSw5lXXEOKEsPSxBlXXEPKEsPSxFlXXEQKEsQSxNlXXERKEsRSxJlXXESKEsRSxdlXXETKEsUSxNlXXEUKEsUSxtlXXEVKEsUSxxlXXEWKEsrSyBlXXEXKEsmSyVlXXEYKEsmSydlXXEZKEsmSzllXXEaKEsnSyhlXXEbKEsnSzFlXXEcKEsoSyllXXEdKEsoSzplXXEeKEspSyplXXEfKEspSztlXXEgKEsqSyVlXXEhKEsqSzxlXXEiKEseSx1lXXEjKEseSx9lXXEkKEseSyJlXXElKEstSz1lXXEmKEstSz5lXXEnKEstSyxlXXEoKEstSy5lXXEpKEsuSy9lXXEqKEsuSzBlXXErKEsfSyBlXXEsKEsfSyxlXXEtKEsyS0BlXXEuKEsyS0FlXXEvKEsySzFlXXEwKEsySzNlXXExKEszSzRlXXEyKEszSzhlXXEzKEs0S0JlXXE0KEs0SzVlXXE1KEs1S0NlXXE2KEs1SzZlXXE3KEs2S0RlXXE4KEs2SzdlXXE5KEs3S0VlXXE6KEs3SzhlXXE7KEs4S0ZlXXE8KEsgSyFlXXE9KEshSx1lXXE+KEshSyVlXXE/KEsiSyNlXXFAKEsiSyRlXXFBKEs/SzFlXXFCKEtVS0plXXFDKEtQS09lXXFEKEtQS1FlXXFFKEtQS2xlXXFGKEtRS1JlXXFHKEtRS1tlXXFIKEtSS1NlXXFJKEtSS21lXXFKKEtTS1RlXXFLKEtTS25lXXFMKEtUS09lXXFNKEtUS29lXXFOKEtIS0dlXXFPKEtIS0llXXFQKEtIS0xlXXFRKEtXS1ZlXXFSKEtXS1hlXXFTKEtXS3BlXXFUKEtXS3FlXXFVKEtYS1llXXFWKEtYS1plXXFXKEtJS0plXXFYKEtJS1ZlXXFZKEtcS1tlXXFaKEtcS11lXXFbKEtcS2FlXXFcKEtcS3NlXXFdKEtdS15lXXFeKEtdS3RlXXFfKEtdS3VlXXFgKEteS19lXXFhKEteS3ZlXXFiKEteS3dlXXFjKEtgS19lXXFkKEtgS2FlXXFlKEtgS3hlXXFmKEtgS3llXXFnKEthS3plXXFoKEthS3tlXXFpKEtKS0tlXXFqKEtlS2JlXXFrKEtlS2ZlXXFsKEtlS3xlXXFtKEtlS31lXXFuKEtLS0dlXXFvKEtLS09lXXFwKEtmS2dlXXFxKEtmS2tlXXFyKEtnS2hlXXFzKEtnS35lXXF0KEtoS2llXXF1KEtoS39lXXF2KEtpS2plXXF3KEtpS4BlXXF4KEtqS2tlXXF5KEtqS4FlXXF6KEtrS4JlXXF7KEtMS01lXXF8KEtMS05lXXF9KEtyS1tlXXF+KEtfS2JlXXF/KEtjS2JlXXGAKEtkS2JlZVUFbGFiZWxxgUt8WAAAAAB9h1UIaGFsZmJvbmRxgkt8iH2HVQZyYWRpdXNxg0t8Rz/JmZmgAAAAfYdVC2xhYmVsT2Zmc2V0cYRLfE59h1UIZHJhd01vZGVxhUt8SwF9h1UIb3B0aW9uYWxxhn1VB2Rpc3BsYXlxh0t8SwJ9h3Uu'
        ))
    crdInfo = cPickle.loads(
        base64.b64decode(
            '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'
        ))
    surfInfo = {
        'category': (0, None, {}),
        'probeRadius': (0, None, {}),
        'pointSize': (0, None, {}),
        'name': [],
        'density': (0, None, {}),
        'colorMode': (0, None, {}),
        'useLighting': (0, None, {}),
        'transparencyBlendMode': (0, None, {}),
        'molecule': [],
        'smoothLines': (0, None, {}),
        'lineWidth': (0, None, {}),
        'allComponents': (0, None, {}),
        'twoSidedLighting': (0, None, {}),
        'customVisibility': [],
        'drawMode': (0, None, {}),
        'display': (0, None, {}),
        'customColors': []
    }
    vrmlInfo = {
        'subid': (0, None, {}),
        'display': (0, None, {}),
        'id': (0, None, {}),
        'vrmlString': [],
        'name': (0, None, {})
    }
    colors = {
        u'': ((0.780392, 1, 0.780392), 1, u''),
        u'Ru': ((0.141176, 0.560784, 0.560784), 1, u'default'),
        u'Re': ((0.14902, 0.490196, 0.670588), 1, u'default'),
        u'Rf': ((0.8, 0, 0.34902), 1, u'default'),
        u'Ra': ((0, 0.490196, 0), 1, u'default'),
        u'Rb': ((0.439216, 0.180392, 0.690196), 1, u'default'),
        u'Rn': ((0.258824, 0.509804, 0.588235), 1, u'default'),
        u'Rh': ((0.0392157, 0.490196, 0.54902), 1, u'default'),
        u'Be': ((0.760784, 1, 0), 1, u'default'),
        u'Ba': ((0, 0.788235, 0), 1, u'default'),
        u'Bh': ((0.878431, 0, 0.219608), 1, u'default'),
        u'Bi': ((0.619608, 0.309804, 0.709804), 1, u'default'),
        u'Bk': ((0.541176, 0.309804, 0.890196), 1, u'default'),
        u'Br': ((0.65098, 0.160784, 0.160784), 1, u'default'),
        u'H': ((1, 1, 1), 1, u'default'),
        u'P': ((1, 0.501961, 0), 1, u'default'),
        u'Os': ((0.14902, 0.4, 0.588235), 1, u'default'),
        u'Ge': ((0.4, 0.560784, 0.560784), 1, u'default'),
        u'Gd': ((0.270588, 1, 0.780392), 1, u'default'),
        u'Ga': ((0.760784, 0.560784, 0.560784), 1, u'default'),
        u'Pr': ((0.85098, 1, 0.780392), 1, u'default'),
        u'Pt': ((0.815686, 0.815686, 0.878431), 1, u'default'),
        u'Pu': ((0, 0.419608, 1), 1, u'default'),
        u'Mg': ((0.541176, 1, 0), 1, u'default'),
        u'Pb': ((0.341176, 0.34902, 0.380392), 1, u'default'),
        u'Pa': ((0, 0.631373, 1), 1, u'default'),
        u'Pd': ((0, 0.411765, 0.521569), 1, u'default'),
        u'Cd': ((1, 0.85098, 0.560784), 1, u'default'),
        u'Po': ((0.670588, 0.360784, 0), 1, u'default'),
        u'Pm': ((0.639216, 1, 0.780392), 1, u'default'),
        u'Hs': ((0.901961, 0, 0.180392), 1, u'default'),
        u'Ho': ((0, 1, 0.611765), 1, u'default'),
        u'Hf': ((0.301961, 0.760784, 1), 1, u'default'),
        u'Hg': ((0.721569, 0.721569, 0.815686), 1, u'default'),
        u'He': ((0.85098, 1, 1), 1, u'default'),
        u'Md': ((0.701961, 0.0509804, 0.65098), 1, u'default'),
        u'C': ((0.564706, 0.564706, 0.564706), 1, u'default'),
        u'K': ((0.560784, 0.25098, 0.831373), 1, u'default'),
        u'Mn': ((0.611765, 0.478431, 0.780392), 1, u'default'),
        u'O': ((1, 0.0509804, 0.0509804), 1, u'default'),
        u'Mt': ((0.921569, 0, 0.14902), 1, u'default'),
        u'S': ((1, 1, 0.188235), 1, u'default'),
        u'W': ((0.129412, 0.580392, 0.839216), 1, u'default'),
        u'sky blue': ((0.529412, 0.807843, 0.921569), 1, u'default'),
        u'Zn': ((0.490196, 0.501961, 0.690196), 1, u'default'),
        u'plum': ((0.866667, 0.627451, 0.866667), 1, u'default'),
        u'Eu': ((0.380392, 1, 0.780392), 1, u'default'),
        u'Zr': ((0.580392, 0.878431, 0.878431), 1, u'default'),
        u'Er': ((0, 0.901961, 0.458824), 1, u'default'),
        u'Ni': ((0.313725, 0.815686, 0.313725), 1, u'default'),
        u'No': ((0.741176, 0.0509804, 0.529412), 1, u'default'),
        u'Na': ((0.670588, 0.360784, 0.94902), 1, u'default'),
        u'Nb': ((0.45098, 0.760784, 0.788235), 1, u'default'),
        u'Nd': ((0.780392, 1, 0.780392), 1, u'default'),
        u'Ne': ((0.701961, 0.890196, 0.960784), 1, u'default'),
        u'Np': ((0, 0.501961, 1), 1, u'default'),
        u'Fr': ((0.258824, 0, 0.4), 1, u'default'),
        u'Fe': ((0.878431, 0.4, 0.2), 1, u'default'),
        u'Fm': ((0.701961, 0.121569, 0.729412), 1, u'default'),
        u'B': ((1, 0.709804, 0.709804), 1, u'default'),
        u'F': ((0.564706, 0.878431, 0.313725), 1, u'default'),
        u'Sr': ((0, 1, 0), 1, u'default'),
        u'N': ((0.188235, 0.313725, 0.972549), 1, u'default'),
        u'Kr': ((0.360784, 0.721569, 0.819608), 1, u'default'),
        u'Si': ((0.941176, 0.784314, 0.627451), 1, u'default'),
        u'Sn': ((0.4, 0.501961, 0.501961), 1, u'default'),
        u'Sm': ((0.560784, 1, 0.780392), 1, u'default'),
        u'V': ((0.65098, 0.65098, 0.670588), 1, u'default'),
        u'Sc': ((0.901961, 0.901961, 0.901961), 1, u'default'),
        u'Sb': ((0.619608, 0.388235, 0.709804), 1, u'default'),
        u'Sg': ((0.85098, 0, 0.270588), 1, u'default'),
        u'Se': ((1, 0.631373, 0), 1, u'default'),
        u'Co': ((0.941176, 0.564706, 0.627451), 1, u'default'),
        u'Cm': ((0.470588, 0.360784, 0.890196), 1, u'default'),
        u'Cl': ((0.121569, 0.941176, 0.121569), 1, u'default'),
        u'Ca': ((0.239216, 1, 0), 1, u'default'),
        u'Cf': ((0.631373, 0.211765, 0.831373), 1, u'default'),
        u'Ce': ((1, 1, 0.780392), 1, u'default'),
        u'Xe': ((0.258824, 0.619608, 0.690196), 1, u'default'),
        u'Lu': ((0, 0.670588, 0.141176), 1, u'default'),
        u'Cs': ((0.341176, 0.0901961, 0.560784), 1, u'default'),
        u'Cr': ((0.541176, 0.6, 0.780392), 1, u'default'),
        u'Cu': ((0.784314, 0.501961, 0.2), 1, u'default'),
        u'La': ((0.439216, 0.831373, 1), 1, u'default'),
        u'Li': ((0.8, 0.501961, 1), 1, u'default'),
        u'Tl': ((0.65098, 0.329412, 0.301961), 1, u'default'),
        u'Tm': ((0, 0.831373, 0.321569), 1, u'default'),
        u'Lr': ((0.780392, 0, 0.4), 1, u'default'),
        u'Th': ((0, 0.729412, 1), 1, u'default'),
        u'Ti': ((0.74902, 0.760784, 0.780392), 1, u'default'),
        u'tan': ((0.823529, 0.705882, 0.54902), 1, u'default'),
        u'Te': ((0.831373, 0.478431, 0), 1, u'default'),
        u'Tb': ((0.188235, 1, 0.780392), 1, u'default'),
        u'Tc': ((0.231373, 0.619608, 0.619608), 1, u'default'),
        u'Ta': ((0.301961, 0.65098, 1), 1, u'default'),
        u'Yb': ((0, 0.74902, 0.219608), 1, u'default'),
        u'Db': ((0.819608, 0, 0.309804), 1, u'default'),
        u'Dy': ((0.121569, 1, 0.780392), 1, u'default'),
        u'At': ((0.458824, 0.309804, 0.270588), 1, u'default'),
        u'I': ((0.580392, 0, 0.580392), 1, u'default'),
        u'U': ((0, 0.560784, 1), 1, u'default'),
        u'Y': ((0.580392, 1, 1), 1, u'default'),
        u'Ac': ((0.439216, 0.670588, 0.980392), 1, u'default'),
        u'Ag': ((0.752941, 0.752941, 0.752941), 1, u'default'),
        u'Ir': ((0.0901961, 0.329412, 0.529412), 1, u'default'),
        u'Am': ((0.329412, 0.360784, 0.94902), 1, u'default'),
        u'Al': ((0.74902, 0.65098, 0.65098), 1, u'default'),
        u'As': ((0.741176, 0.501961, 0.890196), 1, u'default'),
        u'Ar': ((0.501961, 0.819608, 0.890196), 1, u'default'),
        u'Au': ((1, 0.819608, 0.137255), 1, u'default'),
        u'Es': ((0.701961, 0.121569, 0.831373), 1, u'default'),
        u'In': ((0.65098, 0.458824, 0.45098), 1, u'default'),
        u'Mo': ((0.329412, 0.709804, 0.709804), 1, u'default')
    }
    materials = {
        u'default': ((0.85, 0.85, 0.85), 30),
        u'': ((0.85, 0.85, 0.85), 30)
    }
    pbInfo = {
        'category': [u'distance monitor'],
        'bondInfo': [{
            'color': (0, None, {}),
            'atoms': [],
            'label': (0, None, {}),
            'halfbond': (0, None, {}),
            'labelColor': (0, None, {}),
            'labelOffset': (0, None, {}),
            'drawMode': (0, None, {}),
            'display': (0, None, {})
        }],
        'lineType': (1, 2, {}),
        'color': (1, 58, {}),
        'optional': {
            'fixedLabels': (True, False, (1, False, {}))
        },
        'display': (1, True, {}),
        'showStubBonds': (1, False, {}),
        'lineWidth': (1, 1, {}),
        'stickScale': (1, 1, {}),
        'id': [-2]
    }
    modelAssociations = {}
    colorInfo = (61, (u'', (0, 0, 0, 0.2)), {
        (u'', (0.193839, 0.452601, 0.218188, 1)): [5],
        (u'', (0.1184, 0.223266, 0.901463, 0.2)): [6, 9],
        (u'green', (0, 1, 0, 1)): [60],
        (u'', (0.663999, 0.164948, 0.651698, 1)): [4],
        (u'H', (1, 1, 1, 1)): [15],
        (u'N', (0.188235, 0.313725, 0.972549, 1)): [16],
        (u'', (1, 1, 1, 1)): [59],
        (u'S', (1, 1, 0.188235, 1)): [12],
        (u'O', (1, 0.0509804, 0.0509804, 1)): [13],
        (u'sky blue', (0.529412, 0.807843, 0.921569, 1)): [1],
        (u'', (0.193839, 0.452601, 0.218188, 0.2)): [8, 11],
        (u'tan', (0.823529, 0.705882, 0.54902, 1)): [0],
        (u'', (0.529549, 0.808011, 0.921828, 1)): [2],
        (u'Br', (0.65098, 0.160784, 0.160784, 1)): [14],
        (u'red', (1, 0, 0, 1)): [31],
        (u'yellow', (1, 1, 0, 1)): [58],
        (u'', (0.663999, 0.164948, 0.651698, 0.2)): [7, 10],
        (u'blue', (0, 0, 1, 1)): [30],
        (u'', (0.1184, 0.223266, 0.901463, 1)): [3]
    })
    viewerInfo = {
        'cameraAttrs': {
            'center': (46.179, 14.47249997139, 2.9510000367165),
            'fieldOfView': 17.567064639105,
            'nearFar': (15.820337462141, -12.771337686254),
            'ortho': False,
            'eyeSeparation': 50.8,
            'focal': 2.9510000367165
        },
        'viewerAttrs': {
            'silhouetteColor':
            None,
            'clipping':
            False,
            'showSilhouette':
            False,
            'showShadows':
            False,
            'viewSize':
            6.8744100148427,
            'labelsOnTop':
            True,
            'depthCueRange': (0.5, 1),
            'silhouetteWidth':
            2,
            'singleLayerTransparency':
            True,
            'shadowTextureSize':
            2048,
            'backgroundImage': [None, 1, 2, 1, 0, 0],
            'backgroundGradient': [('Chimera default', [(1, 1, 1, 1),
                                                        (0, 0, 1, 1)], 1), 1,
                                   0, 0],
            'depthCue':
            True,
            'highlight':
            0,
            'scaleFactor':
            0.75960428690837,
            'angleDependentTransparency':
            True,
            'backgroundMethod':
            0
        },
        'viewerHL': 60,
        'cameraMode': 'mono',
        'detail': 1.5,
        'viewerFog': None,
        'viewerBG': 59
    }

    replyobj.status("Initializing session restore...",
                    blankAfter=0,
                    secondary=True)
    from SimpleSession.versions.v65 import expandSummary
    init(dict(enumerate(expandSummary(colorInfo))))
    replyobj.status("Restoring colors...", blankAfter=0, secondary=True)
    restoreColors(colors, materials)
    replyobj.status("Restoring molecules...", blankAfter=0, secondary=True)
    restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
    replyobj.status("Restoring surfaces...", blankAfter=0, secondary=True)
    restoreSurfaces(surfInfo)
    replyobj.status("Restoring VRML models...", blankAfter=0, secondary=True)
    restoreVRML(vrmlInfo)
    replyobj.status("Restoring pseudobond groups...",
                    blankAfter=0,
                    secondary=True)
    restorePseudoBondGroups(pbInfo)
    replyobj.status("Restoring model associations...",
                    blankAfter=0,
                    secondary=True)
    restoreModelAssociations(modelAssociations)
    replyobj.status("Restoring camera...", blankAfter=0, secondary=True)
    restoreViewer(viewerInfo)
コード例 #7
0
def restoreCoreModels():
    from SimpleSession.versions.v65 import init, restoreViewer, \
         restoreMolecules, restoreColors, restoreSurfaces, \
         restoreVRML, restorePseudoBondGroups, restoreModelAssociations
    molInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwFOfYdVCWJhbGxTY2FsZXEDSwFHP9AAAAAAAAB9h1UJcG9pbnRTaXplcQRLAUc/8AAAAAAAAH2HVQVjb2xvcnEFSwFLAH2HVQpyaWJib25UeXBlcQZLAUsAfYdVCnN0aWNrU2NhbGVxB0sBRz/wAAAAAAAAfYdVDG1tQ0lGSGVhZGVyc3EIXXEJTmFVDGFyb21hdGljTW9kZXEKSwFLAX2HVQp2ZHdEZW5zaXR5cQtLAUdAFAAAAAAAAH2HVQZoaWRkZW5xDEsBiX2HVQ1hcm9tYXRpY0NvbG9ycQ1LAU59h1UPcmliYm9uU21vb3RoaW5ncQ5LAUsAfYdVCWF1dG9jaGFpbnEPSwGIfYdVCnBkYlZlcnNpb25xEEsBSwJ9h1UIb3B0aW9uYWxxEX1xElUIb3BlbmVkQXNxE4iJSwEoVQtjYjYtYnV0LnBkYnEUTk5LAXRxFX2Hh3NVD2xvd2VyQ2FzZUNoYWluc3EWSwGJfYdVCWxpbmVXaWR0aHEXSwFHP/AAAAAAAAB9h1UPcmVzaWR1ZUxhYmVsUG9zcRhLAUsAfYdVBG5hbWVxGUsBWAsAAABjYjYtYnV0LnBkYn2HVQ9hcm9tYXRpY0Rpc3BsYXlxGksBiX2HVQ9yaWJib25TdGlmZm5lc3NxG0sBRz/pmZmZmZmafYdVCnBkYkhlYWRlcnNxHF1xHX1xHmFVA2lkc3EfSwFLAEsAhn2HVQ5zdXJmYWNlT3BhY2l0eXEgSwFHv/AAAAAAAAB9h1UQYXJvbWF0aWNMaW5lVHlwZXEhSwFLAn2HVRRyaWJib25IaWRlc01haW5jaGFpbnEiSwGIfYdVB2Rpc3BsYXlxI0sBiH2HdS4='
        ))
    resInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQZpbnNlcnRxAksCVQEgfYdVC2ZpbGxEaXNwbGF5cQNLAol9h1UEbmFtZXEESwJYAwAAAENCNn1xBVgDAAAAQlVUXXEGSwFhc4dVBWNoYWlucQdLAlgBAAAAIH2HVQ5yaWJib25EcmF3TW9kZXEISwJLAn2HVQJzc3EJSwKJiYZ9h1UIbW9sZWN1bGVxCksCSwB9h1ULcmliYm9uQ29sb3JxC0sCTn1xDEsBTl1xDUsBSwGGcQ5hhnOHVQVsYWJlbHEPSwJYAAAAAH2HVQpsYWJlbENvbG9ycRBLAk59cRFLAU5dcRJLAUsBhnETYYZzh1UIZmlsbE1vZGVxFEsCSwF9h1UFaXNIZXRxFUsCiX2HVQtsYWJlbE9mZnNldHEWSwJOfYdVCHBvc2l0aW9ucRddcRhLAUsChnEZYVUNcmliYm9uRGlzcGxheXEaSwKJfYdVCG9wdGlvbmFscRt9VQRzc0lkcRxLAkr/////fYd1Lg=='
        ))
    atomInfo = cPickle.loads(
        base64.b64decode(
            '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'
        ))
    bondInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQVjb2xvcnECS4tOfYdVBWF0b21zcQNdcQQoXXEFKEsDSwRlXXEGKEsDSwVlXXEHKEsDSwZlXXEIKEsDSwdlXXEJKEsESwhlXXEKKEsESwllXXELKEsESwplXXEMKEsFSw5lXXENKEsFSx1lXXEOKEsGSw1lXXEPKEsGSx5lXXEQKEsJSwtlXXERKEsJSw5lXXESKEsKSwxlXXETKEsKSw1lXXEUKEsLSxFlXXEVKEsLSxJlXXEWKEsLS19lXXEXKEsMSxNlXXEYKEsMSxRlXXEZKEsMS2BlXXEaKEsNSw9lXXEbKEsOSxBlXXEcKEsVSxZlXXEdKEsVSxdlXXEeKEsVSxhlXXEfKEsVSxllXXEgKEsWSxplXXEhKEsWSxtlXXEiKEsWSxxlXXEjKEsXSyBlXXEkKEsXSy9lXXElKEsYSx9lXXEmKEsYSzBlXXEnKEsbSx1lXXEoKEsbSyBlXXEpKEscSx5lXXEqKEscSx9lXXErKEsdSyNlXXEsKEsdSyRlXXEtKEseSyVlXXEuKEseSyZlXXEvKEsfSyFlXXEwKEsgSyJlXXExKEsnSyhlXXEyKEsnSyllXXEzKEsnSyplXXE0KEsnSytlXXE1KEsoSyxlXXE2KEsoSy1lXXE3KEsoSy5lXXE4KEspSzJlXXE5KEspS0FlXXE6KEsqSzFlXXE7KEsqS0JlXXE8KEstSy9lXXE9KEstSzJlXXE+KEsuSzBlXXE/KEsuSzFlXXFAKEsvSzVlXXFBKEsvSzZlXXFCKEswSzdlXXFDKEswSzhlXXFEKEsxSzNlXXFFKEsySzRlXXFGKEs5SzplXXFHKEs5SztlXXFIKEs5SzxlXXFJKEs5Sz1lXXFKKEs6Sz5lXXFLKEs6Sz9lXXFMKEs6S0BlXXFNKEs7S0RlXXFOKEs7S1NlXXFPKEs8S0NlXXFQKEs8S1RlXXFRKEs/S0FlXXFSKEs/S0RlXXFTKEtAS0JlXXFUKEtAS0NlXXFVKEtBS0dlXXFWKEtBS0hlXXFXKEtCS0llXXFYKEtCS0plXXFZKEtDS0VlXXFaKEtES0ZlXXFbKEtLS0xlXXFcKEtLS01lXXFdKEtLS05lXXFeKEtLS09lXXFfKEtMS1BlXXFgKEtMS1FlXXFhKEtMS1JlXXFiKEtNS1ZlXXFjKEtNS2VlXXFkKEtOS1VlXXFlKEtOS2ZlXXFmKEtRS1NlXXFnKEtRS1ZlXXFoKEtSS1RlXXFpKEtSS1VlXXFqKEtTS1llXXFrKEtTS1plXXFsKEtUS1tlXXFtKEtUS1xlXXFuKEtVS1dlXXFvKEtWS1hlXXFwKEtdS15lXXFxKEtdS19lXXFyKEtdS2BlXXFzKEtdS2FlXXF0KEteS2JlXXF1KEteS2NlXXF2KEteS2RlXXF3KEtfS2hlXXF4KEtgS2dlXXF5KEtjS2VlXXF6KEtjS2hlXXF7KEtkS2ZlXXF8KEtkS2dlXXF9KEtlS2tlXXF+KEtlS2xlXXF/KEtmS21lXXGAKEtmS25lXXGBKEtnS2llXXGCKEtoS2plXXGDKEtvS3BlXXGEKEtvS3FlXXGFKEtvS3JlXXGGKEtvS3NlXXGHKEtzS3RlXXGIKEtzS3VlXXGJKEtzS3ZlXXGKKEt1S3dlXXGLKEt1S3hlXXGMKEt1S3llXXGNKEt5S3plXXGOKEt5S3tlXXGPKEt5S3xlZVUFbGFiZWxxkEuLWAAAAAB9h1UIaGFsZmJvbmRxkUuLiH2HVQZyYWRpdXNxkkuLRz/JmZmgAAAAfYdVC2xhYmVsT2Zmc2V0cZNLi059h1UIZHJhd01vZGVxlEuLSwF9h1UIb3B0aW9uYWxxlX1VB2Rpc3BsYXlxlkuLSwJ9h3Uu'
        ))
    crdInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQFLAH1xAihLAF1xAyhHv+CbpeNT989HQBPmZmZmZmZHP/1cKPXCj1yHcQRHP/AxJul41P5HQBOj1wo9cKRHP/1cKPXCj1yHcQVHv+vO2RaHKwJHQBEsCDEm6XlHP+LpeNT987aHcQZHv+vGp++dsi1HQBEsCDEm6XlHQAihysCDEm+HcQdHv+1YEGJN0vJHQBgAAAAAAABHP/1cKPXCj1yHcQhHP/fztkWhysFHQBeXjU/fO2RHP/1cKPXCj1yHcQlHP/TZFocrAgxHQBDO2RaHKwJHP+LpeNT987aHcQpHP/TZFocrAgxHQBDN0vGp++dHQAihysCDEm+HcQtHQAV2yLQ5WBBHQBBO2RaHKwJHP72yLQ5WBBmHcQxHQAV2yLQ5WBBHQBBN0vGp++dHQAxul41P3zuHcQ1HP8nbItDlYEJHQA7peNT987ZHQA41P3ztkWiHcQ5HP8m6XjU/fO5HQA7peNT987ZHv7si0OVgQYmHcQ9HP8crAgxJul5HQAstDlYEGJNHQBOVgQYk3S+HcRBHP8crAgxJul5HQAstDlYEGJNHv/Odsi0OVgSHcRFHQAVP3ztkWh1HQBAwIMSbpeNHv++NT987ZFqHcRJHQAn1wo9cKPZHQBPZFocrAgxHP9yLQ5WBBiWHcRNHQAVP3ztkWh1HQBAvGp++dslHQBKfvnbItDmHcRRHQAn3ztkWhytHQBPaHKwIMSdHQAnMzMzMzM2HcRVHwBKIMSbpeNVHP/9si0OVgQZHP/1gQYk3S8eHcRZHwA564UeuFHtHQAoMSbpeNT9HP/1gQYk3S8eHcRdHwBDeNT987ZFHP/Uan752yLRHP+LpeNT987aHcRhHwBDfO2RaHKxHP/UWhysCDEpHQAij1wo9cKSHcRlHwBbiTdLxqfxHQAEMSbpeNT9HP/1gQYk3S8eHcRpHwBGxJul41P5HQBCuFHrhR65HP/1gQYk3S8eHcRtHwAhocrAgxJxHQAk5WBBiTdNHP+LpeNT987aHcRxHwAhocrAgxJxHQAk5WBBiTdNHQAihysCDEm+HcR1HwAIIMSbpeNVHQBEj1wo9cKRHP71wo9cKPXGHcR5HwAIGJN0vGqBHQBEi0OVgQYlHQAxwo9cKPXGHcR9HwAp87ZFocrBHQAA9cKPXCj1HQA43S8an756HcSBHwAp87ZFocrBHQAA9cKPXCj1Hv7rhR64UeuGHcSFHwAdT987ZFodHP/x2yLQ5WBBHQBOVgQYk3S+HcSJHwAdT987ZFodHP/x2yLQ5WBBHv/OZmZmZmZqHcSNHwAHlYEGJN0xHQBEDEm6XjVBHv++NT987ZFqHcSRHwAXpeNT987ZHQBTdLxqfvndHP9xqfvnbItGHcSVHwAHjU/fO2RdHQBEDEm6XjVBHQBKfvnbItDmHcSZHwAXpeNT987ZHQBTdLxqfvndHQAnO2RaHKwKHcSdHwBBWBBiTdLxHwAjZFocrAgxHP/1cKPXCj1yHcShHwBMsCDEm6XlHv/v3ztkWhytHP/1cKPXCj1yHcSlHwAqLQ5WBBiVHwAiNT987ZFpHP+LpeNT987aHcSpHwAqLQ5WBBiVHwAiLQ5WBBiVHQAij1wo9cKSHcStHwBMWhysCDEpHwA+4UeuFHrhHP/1cKPXCj1yHcSxHwBePXCj1wo9Hv/0i0OVgQYlHP/1cKPXCj1yHcS1HwBFKwIMSbphHv/JBiTdLxqhHP+LpeNT987aHcS5HwBFKwIMSbphHv/JBiTdLxqhHQAihysCDEm+HcS9HwBOcrAgxJulHP72yLQ5WBBlHP71wo9cKPXGHcTBHwBOdsi0OVgRHP72yLQ5WBBlHQAxwo9cKPXGHcTFHwAvXCj1wo9dHv/7ZFocrAgxHQA41P3ztkWiHcTJHwAvZFocrAgxHv/7U/fO2RaJHv7si0OVgQYmHcTNHwAiHKwIMSbpHv/tgQYk3S8dHQBOVgQYk3S+HcTRHwAiHKwIMSbpHv/tgQYk3S8dHv/OZmZmZmZqHcTVHwBN41P3ztkZHP70vGp++dslHv++FHrhR64WHcTZHwBfO2RaHKwJHP8SbpeNT989HP9x64UeuFHuHcTdHwBN41P3ztkZHP70vGp++dslHQBKfvnbItDmHcThHwBfP3ztkWh1HP8SbpeNT989HQAnO2RaHKwKHcTlHP+KfvnbItDlHwBSn752yLQ5HP/1cKPXCj1yHcTpHv+5eNT987ZFHwBRlYEGJN0xHP/1cKPXCj1yHcTtHP+3KwIMSbphHwBHtkWhysCFHP+LpeNT987aHcTxHP+3S8an7521HwBHtkWhysCFHQAihysCDEm+HcT1HP+9kWhysCDFHwBjBiTdLxqhHP/1YEGJN0vKHcT5Hv/bxqfvnbItHwBhZFocrAgxHP/1YEGJN0vKHcT9Hv/PXCj1wo9dHwBGPXCj1wo9HP+LpeNT987aHcUBHv/PXCj1wo9dHwBGPXCj1wo9HQAihysCDEm+HcUFHwAT1wo9cKPZHwBEPXCj1wo9HP71wo9cKPXGHcUJHwATztkWhysFHwBEOVgQYk3VHQAxul41P3zuHcUNHv8Gp++dsi0RHwBA2RaHKwINHQA41P3ztkWiHcURHv8Gp++dsi0RHwBA1P3ztkWhHv7si0OVgQYmHcUVHv741P3ztkWhHwAyuFHrhR65HQBOVgQYk3S+HcUZHv741P3ztkWhHwAyuFHrhR65Hv/Odsi0OVgSHcUdHwATMzMzMzM1HwBDwo9cKPXFHv++NT987ZFqHcUhHwAl0vGp++dtHwBSZmZmZmZpHP9yLQ5WBBiWHcUlHwATMzMzMzM1HwBDvnbItDlZHQBKfvnbItDmHcUpHwAl0vGp++dtHwBSZmZmZmZpHQAnMzMzMzM2HcUtHQBLItDlYEGJHwAE1P3ztkWhHP/1cKPXCj1yHcUxHQA7987ZFoctHwAuPXCj1wo9HP/1cKPXCj1yHcU1HQBEeuFHrhR9Hv/ggxJul41RHP+LhR64UeuGHcU5HQBEfvnbItDlHv/gcrAgxJulHQAihysCDEm+HcU9HQBci0OVgQYlHwAKNT987ZFpHP/1cKPXCj1yHcVBHQBHysCDEm6ZHwBFul41P3ztHP/1cKPXCj1yHcVFHQAjpeNT987ZHwAq8an752yNHP+LhR64UeuGHcVJHQAjpeNT987ZHwAq8an752yNHQAihysCDEm+HcVNHQAKJN0vGp/BHwBHlYEGJN0xHP71wo9cKPXGHcVRHQAKJN0vGp/BHwBHlYEGJN0xHQAxul41P3zuHcVVHQAr987ZFoctHwAHAgxJul41HQA41P3ztkWiHcVZHQAr752yLQ5ZHwAHAgxJul41Hv7tkWhysCDGHcVdHQAfS8an7521Hv/987ZFocrBHQBOVgQYk3S+HcVhHQAfS8an7521Hv/987ZFocrBHv/Odsi0OVgSHcVlHQAJmZmZmZmZHwBHEm6XjU/hHv++NT987ZFqHcVpHQAZqfvnbItFHwBWdsi0OVgRHP9xqfvnbItGHcVtHQAJmZmZmZmZHwBHEm6XjU/hHQBKfvnbItDmHcVxHQAZqfvnbItFHwBWdsi0OVgRHQAnMzMzMzM2HcV1HQBCXjU/fO2RHQAdaHKwIMSdHP/1cKPXCj1yHcV5HQBNsi0OVgQZHP/jxqfvnbItHP/1YEGJN0vKHcV9HQAsOVgQYk3VHQAcMSbpeNT9HP+LpeNT987aHcWBHQAsOVgQYk3VHQAcMSbpeNT9HQAij1wo9cKSHcWFHQBNZFocrAgxHQA4zMzMzMzNHP/1cKPXCj1yHcWJHQBfP3ztkWh1HP/ocrAgxJulHP/1YEGJN0vKHcWNHQBGLQ5WBBiVHP+5++dsi0OVHP+LhR64UeuGHcWRHQBGKPXCj1wpHP+5++dsi0OVHQAihysCDEm+HcWVHQBPdLxqfvndHv9N0vGp++dtHP71wo9cKPXGHcWZHQBPdLxqfvndHv9N0vGp++dtHQAxwo9cKPXGHcWdHQAxaHKwIMSdHP/vXCj1wo9dHQA41P3ztkWiHcWhHQAxaHKwIMSdHP/vXCj1wo9dHv7si0OVgQYmHcWlHQAkGJN0vGqBHP/heNT987ZFHQBOVgQYk3S+HcWpHQAkGJN0vGqBHP/heNT987ZFHv/Odsi0OVgSHcWtHQBO4UeuFHrhHv9NkWhysCDFHv++NT987ZFqHcWxHQBgOVgQYk3VHv9ZWBBiTdLxHP9xaHKwIMSeHcW1HQBO4UeuFHrhHv9NkWhysCDFHQBKeuFHrhR+HcW5HQBgPXCj1wo9Hv9ZWBBiTdLxHQAnO2RaHKwKHcW9HAAAAAAAAAABHAAAAAAAAAABHAAAAAAAAAACHcXBHv+1HrhR64UhHv+JmZmZmZmZHv8Jul41P3zuHcXFHP+ul41P3ztlHv+TEm6XjU/hHv8Jul41P3zuHcXJHP6FocrAgxJxHP+ocrAgxJulHv+can752yLSHcXNHP5iTdLxqfvpHP+JFocrAgxJHP/abpeNT98+HcXRHP+4MSbpeNT9HP/JWBBiTdLxHP/jtkWhysCGHcXVHv5iTdLxqfvpHv+I9cKPXCj1HQANiTdLxqfyHcXZHv+rhR64UeuFHP/OFHrhR64VHP/jtkWhysCGHcXdHv+4EGJN0vGpHv/JWBBiTdLxHQAI7ZFocrAiHcXhHP+rhR64UeuFHv/OBBiTdLxtHQAI5WBBiTdOHcXlHAAAAAAAAAABHgAAAAAAAAABHQA6wIMSbpeOHcXpHv+ul41P3ztlHP+TEm6XjU/hHQA/ZFocrAgyHcXtHv6FocrAgxJxHv+ocrAgxJulHQBI7ZFocrAiHcXxHP+1HrhR64UhHP+JmZmZmZmZHQA/ZFocrAgyHcX1lVQZhY3RpdmVxfksAdXMu'
        ))
    surfInfo = {
        'category': (1, u'main', {}),
        'probeRadius': (1, 1.4, {}),
        'pointSize': (1, 1, {}),
        'name': [u'MSMS main surface of cb6-but.pdb'],
        'density': (1, 20, {}),
        'colorMode': (1, 1, {}),
        'useLighting': (1, True, {}),
        'transparencyBlendMode': (1, 1, {}),
        'molecule': [0],
        'smoothLines': (1, False, {}),
        'lineWidth': (1, 1, {}),
        'allComponents': (1, True, {}),
        'twoSidedLighting': (1, True, {}),
        'customVisibility': [None],
        'drawMode': (1, 0, {}),
        'display': (1, True, {}),
        'customColors': [(0, None, {})]
    }
    vrmlInfo = {
        'subid': (0, None, {}),
        'display': (0, None, {}),
        'id': (0, None, {}),
        'vrmlString': [],
        'name': (0, None, {})
    }
    colors = {
        u'Ru': ((0.141176, 0.560784, 0.560784), 1, u'default'),
        u'Re': ((0.14902, 0.490196, 0.670588), 1, u'default'),
        u'Rf': ((0.8, 0, 0.34902), 1, u'default'),
        u'Ra': ((0, 0.490196, 0), 1, u'default'),
        u'Rb': ((0.439216, 0.180392, 0.690196), 1, u'default'),
        u'Rn': ((0.258824, 0.509804, 0.588235), 1, u'default'),
        u'Rh': ((0.0392157, 0.490196, 0.54902), 1, u'default'),
        u'Be': ((0.760784, 1, 0), 1, u'default'),
        u'Ba': ((0, 0.788235, 0), 1, u'default'),
        u'Bh': ((0.878431, 0, 0.219608), 1, u'default'),
        u'Bi': ((0.619608, 0.309804, 0.709804), 1, u'default'),
        u'Bk': ((0.541176, 0.309804, 0.890196), 1, u'default'),
        u'Br': ((0.65098, 0.160784, 0.160784), 1, u'default'),
        u'H': ((1, 1, 1), 1, u'default'),
        u'P': ((1, 0.501961, 0), 1, u'default'),
        u'Os': ((0.14902, 0.4, 0.588235), 1, u'default'),
        u'Es': ((0.701961, 0.121569, 0.831373), 1, u'default'),
        u'Hg': ((0.721569, 0.721569, 0.815686), 1, u'default'),
        u'Ge': ((0.4, 0.560784, 0.560784), 1, u'default'),
        u'Gd': ((0.270588, 1, 0.780392), 1, u'default'),
        u'Ga': ((0.760784, 0.560784, 0.560784), 1, u'default'),
        u'Pr': ((0.85098, 1, 0.780392), 1, u'default'),
        u'Pt': ((0.815686, 0.815686, 0.878431), 1, u'default'),
        u'Pu': ((0, 0.419608, 1), 1, u'default'),
        u'C': ((0.564706, 0.564706, 0.564706), 1, u'default'),
        u'Pb': ((0.341176, 0.34902, 0.380392), 1, u'default'),
        u'Pa': ((0, 0.631373, 1), 1, u'default'),
        u'Pd': ((0, 0.411765, 0.521569), 1, u'default'),
        u'Cd': ((1, 0.85098, 0.560784), 1, u'default'),
        u'Po': ((0.670588, 0.360784, 0), 1, u'default'),
        u'Pm': ((0.639216, 1, 0.780392), 1, u'default'),
        u'Hs': ((0.901961, 0, 0.180392), 1, u'default'),
        u'Ho': ((0, 1, 0.611765), 1, u'default'),
        u'Hf': ((0.301961, 0.760784, 1), 1, u'default'),
        u'K': ((0.560784, 0.25098, 0.831373), 1, u'default'),
        u'He': ((0.85098, 1, 1), 1, u'default'),
        u'Md': ((0.701961, 0.0509804, 0.65098), 1, u'default'),
        u'Mg': ((0.541176, 1, 0), 1, u'default'),
        u'Mo': ((0.329412, 0.709804, 0.709804), 1, u'default'),
        u'Mn': ((0.611765, 0.478431, 0.780392), 1, u'default'),
        u'O': ((1, 0.0509804, 0.0509804), 1, u'default'),
        u'Mt': ((0.921569, 0, 0.14902), 1, u'default'),
        u'S': ((1, 1, 0.188235), 1, u'default'),
        u'W': ((0.129412, 0.580392, 0.839216), 1, u'default'),
        u'Zn': ((0.490196, 0.501961, 0.690196), 1, u'default'),
        u'Eu': ((0.380392, 1, 0.780392), 1, u'default'),
        u'Zr': ((0.580392, 0.878431, 0.878431), 1, u'default'),
        u'Er': ((0, 0.901961, 0.458824), 1, u'default'),
        u'Ni': ((0.313725, 0.815686, 0.313725), 1, u'default'),
        u'No': ((0.741176, 0.0509804, 0.529412), 1, u'default'),
        u'Na': ((0.670588, 0.360784, 0.94902), 1, u'default'),
        u'Nb': ((0.45098, 0.760784, 0.788235), 1, u'default'),
        u'Nd': ((0.780392, 1, 0.780392), 1, u'default'),
        u'Ne': ((0.701961, 0.890196, 0.960784), 1, u'default'),
        u'Np': ((0, 0.501961, 1), 1, u'default'),
        u'Fr': ((0.258824, 0, 0.4), 1, u'default'),
        u'Fe': ((0.878431, 0.4, 0.2), 1, u'default'),
        u'Fm': ((0.701961, 0.121569, 0.729412), 1, u'default'),
        u'B': ((1, 0.709804, 0.709804), 1, u'default'),
        u'F': ((0.564706, 0.878431, 0.313725), 1, u'default'),
        u'Sr': ((0, 1, 0), 1, u'default'),
        u'cornflower blue': ((0.392157, 0.584314, 0.929412), 1, u'default'),
        u'N': ((0.188235, 0.313725, 0.972549), 1, u'default'),
        u'Kr': ((0.360784, 0.721569, 0.819608), 1, u'default'),
        u'Si': ((0.941176, 0.784314, 0.627451), 1, u'default'),
        u'Sn': ((0.4, 0.501961, 0.501961), 1, u'default'),
        u'Sm': ((0.560784, 1, 0.780392), 1, u'default'),
        u'V': ((0.65098, 0.65098, 0.670588), 1, u'default'),
        u'Sc': ((0.901961, 0.901961, 0.901961), 1, u'default'),
        u'Sb': ((0.619608, 0.388235, 0.709804), 1, u'default'),
        u'Sg': ((0.85098, 0, 0.270588), 1, u'default'),
        u'Se': ((1, 0.631373, 0), 1, u'default'),
        u'Co': ((0.941176, 0.564706, 0.627451), 1, u'default'),
        u'Cm': ((0.470588, 0.360784, 0.890196), 1, u'default'),
        u'Cl': ((0.121569, 0.941176, 0.121569), 1, u'default'),
        u'Ca': ((0.239216, 1, 0), 1, u'default'),
        u'Cf': ((0.631373, 0.211765, 0.831373), 1, u'default'),
        u'Ce': ((1, 1, 0.780392), 1, u'default'),
        u'Xe': ((0.258824, 0.619608, 0.690196), 1, u'default'),
        u'Lu': ((0, 0.670588, 0.141176), 1, u'default'),
        u'Cs': ((0.341176, 0.0901961, 0.560784), 1, u'default'),
        u'Cr': ((0.541176, 0.6, 0.780392), 1, u'default'),
        u'Cu': ((0.784314, 0.501961, 0.2), 1, u'default'),
        u'La': ((0.439216, 0.831373, 1), 1, u'default'),
        u'Li': ((0.8, 0.501961, 1), 1, u'default'),
        u'Tl': ((0.65098, 0.329412, 0.301961), 1, u'default'),
        u'Tm': ((0, 0.831373, 0.321569), 1, u'default'),
        u'Lr': ((0.780392, 0, 0.4), 1, u'default'),
        u'Th': ((0, 0.729412, 1), 1, u'default'),
        u'Ti': ((0.74902, 0.760784, 0.780392), 1, u'default'),
        u'Te': ((0.831373, 0.478431, 0), 1, u'default'),
        u'Tb': ((0.188235, 1, 0.780392), 1, u'default'),
        u'Tc': ((0.231373, 0.619608, 0.619608), 1, u'default'),
        u'Ta': ((0.301961, 0.65098, 1), 1, u'default'),
        u'Yb': ((0, 0.74902, 0.219608), 1, u'default'),
        u'Db': ((0.819608, 0, 0.309804), 1, u'default'),
        u'Dy': ((0.121569, 1, 0.780392), 1, u'default'),
        u'I': ((0.580392, 0, 0.580392), 1, u'default'),
        u'U': ((0, 0.560784, 1), 1, u'default'),
        u'Y': ((0.580392, 1, 1), 1, u'default'),
        u'Ac': ((0.439216, 0.670588, 0.980392), 1, u'default'),
        u'Ag': ((0.752941, 0.752941, 0.752941), 1, u'default'),
        u'Ir': ((0.0901961, 0.329412, 0.529412), 1, u'default'),
        u'Am': ((0.329412, 0.360784, 0.94902), 1, u'default'),
        u'Al': ((0.74902, 0.65098, 0.65098), 1, u'default'),
        u'As': ((0.741176, 0.501961, 0.890196), 1, u'default'),
        u'Ar': ((0.501961, 0.819608, 0.890196), 1, u'default'),
        u'Au': ((1, 0.819608, 0.137255), 1, u'default'),
        u'At': ((0.458824, 0.309804, 0.270588), 1, u'default'),
        u'In': ((0.65098, 0.458824, 0.45098), 1, u'default')
    }
    materials = {u'default': ((0, 0, 0), 30)}
    pbInfo = {
        'category': [u'distance monitor'],
        'bondInfo': [{
            'color': (0, None, {}),
            'atoms': [],
            'label': (0, None, {}),
            'halfbond': (0, None, {}),
            'labelColor': (0, None, {}),
            'labelOffset': (0, None, {}),
            'drawMode': (0, None, {}),
            'display': (0, None, {})
        }],
        'lineType': (1, 2, {}),
        'color': (1, 6, {}),
        'optional': {
            'fixedLabels': (True, False, (1, False, {}))
        },
        'display': (1, True, {}),
        'showStubBonds': (1, False, {}),
        'lineWidth': (1, 1, {}),
        'stickScale': (1, 1, {}),
        'id': [-2]
    }
    modelAssociations = {}
    colorInfo = (9, (u'H', (1, 1, 1, 1)), {
        (u'green', (0, 1, 0, 1)): [1],
        (u'', (0.106829, 0.702586, 0.652042, 1)): [0],
        (u'N', (0.188235, 0.313725, 0.972549, 1)): [2],
        (u'', (1, 1, 1, 1)): [7],
        (u'O', (1, 0.0509804, 0.0509804, 1)): [4],
        (u'yellow', (1, 1, 0, 1)): [6],
        (u'cornflower blue', (0.392157, 0.584314, 0.929412, 1)): [5],
        (u'', (0.545455, 0, 1, 1)): [8]
    })
    viewerInfo = {
        'cameraAttrs': {
            'center': (0.031, -0.0945, 1.835),
            'fieldOfView': 17.183565421784,
            'nearFar': (9.0768353811706, -5.4068355123077),
            'ortho': True,
            'eyeSeparation': 50.8,
            'focal': 1.835
        },
        'viewerAttrs': {
            'silhouetteColor':
            None,
            'clipping':
            False,
            'showSilhouette':
            False,
            'showShadows':
            False,
            'viewSize':
            11.391911504425,
            'labelsOnTop':
            True,
            'depthCueRange': (0.5, 1),
            'silhouetteWidth':
            2,
            'singleLayerTransparency':
            True,
            'shadowTextureSize':
            2048,
            'backgroundImage': [None, 1, 2, 1, 0, 0],
            'backgroundGradient': [('Chimera default', [(1, 1, 1, 1),
                                                        (0, 0, 1, 1)], 1), 1,
                                   0, 0],
            'depthCue':
            True,
            'highlight':
            0,
            'scaleFactor':
            1.1936205300669,
            'angleDependentTransparency':
            True,
            'backgroundMethod':
            0
        },
        'viewerHL': 8,
        'cameraMode': 'mono',
        'detail': 1.5,
        'viewerFog': None,
        'viewerBG': 7
    }

    replyobj.status("Initializing session restore...",
                    blankAfter=0,
                    secondary=True)
    from SimpleSession.versions.v65 import expandSummary
    init(dict(enumerate(expandSummary(colorInfo))))
    replyobj.status("Restoring colors...", blankAfter=0, secondary=True)
    restoreColors(colors, materials)
    replyobj.status("Restoring molecules...", blankAfter=0, secondary=True)
    restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
    replyobj.status("Restoring surfaces...", blankAfter=0, secondary=True)
    restoreSurfaces(surfInfo)
    replyobj.status("Restoring VRML models...", blankAfter=0, secondary=True)
    restoreVRML(vrmlInfo)
    replyobj.status("Restoring pseudobond groups...",
                    blankAfter=0,
                    secondary=True)
    restorePseudoBondGroups(pbInfo)
    replyobj.status("Restoring model associations...",
                    blankAfter=0,
                    secondary=True)
    restoreModelAssociations(modelAssociations)
    replyobj.status("Restoring camera...", blankAfter=0, secondary=True)
    restoreViewer(viewerInfo)
コード例 #8
0
def restoreCoreModels():
    from SimpleSession.versions.v65 import init, restoreViewer, \
         restoreMolecules, restoreColors, restoreSurfaces, \
         restoreVRML, restorePseudoBondGroups, restoreModelAssociations
    molInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwFOfYdVCWJhbGxTY2FsZXEDSwFHP9AAAAAAAAB9h1UJcG9pbnRTaXplcQRLAUc/8AAAAAAAAH2HVQVjb2xvcnEFSwFLAH2HVQpyaWJib25UeXBlcQZLAUsAfYdVCnN0aWNrU2NhbGVxB0sBRz/wAAAAAAAAfYdVDG1tQ0lGSGVhZGVyc3EIXXEJTmFVDGFyb21hdGljTW9kZXEKSwFLAX2HVQp2ZHdEZW5zaXR5cQtLAUdAFAAAAAAAAH2HVQZoaWRkZW5xDEsBiX2HVQ1hcm9tYXRpY0NvbG9ycQ1LAU59h1UPcmliYm9uU21vb3RoaW5ncQ5LAUsAfYdVCWF1dG9jaGFpbnEPSwGIfYdVCnBkYlZlcnNpb25xEEsBSwB9h1UIb3B0aW9uYWxxEX1xElUIb3BlbmVkQXNxE4iJSwEoVQsxNTQwNDQxLmNpZnEUTk5LAXRxFX2Hh3NVD2xvd2VyQ2FzZUNoYWluc3EWSwGJfYdVCWxpbmVXaWR0aHEXSwFHP/AAAAAAAAB9h1UPcmVzaWR1ZUxhYmVsUG9zcRhLAUsAfYdVBG5hbWVxGUsBWAsAAAAxNTQwNDQxLmNpZn2HVQ9hcm9tYXRpY0Rpc3BsYXlxGksBiX2HVQ9yaWJib25TdGlmZm5lc3NxG0sBRz/pmZmZmZmafYdVCnBkYkhlYWRlcnNxHF1xHX1xHmFVA2lkc3EfSwFLAEsAhn2HVQ5zdXJmYWNlT3BhY2l0eXEgSwFHv/AAAAAAAAB9h1UQYXJvbWF0aWNMaW5lVHlwZXEhSwFLAn2HVRRyaWJib25IaWRlc01haW5jaGFpbnEiSwGIfYdVB2Rpc3BsYXlxI0sBiH2HdS4='
        ))
    resInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQZpbnNlcnRxAksBVQEgfYdVC2ZpbGxEaXNwbGF5cQNLAYl9h1UEbmFtZXEESwFYDgAAAG1vX21vbGFuMzc4XzBtfYdVBWNoYWlucQVLAVgBAAAAIH2HVQ5yaWJib25EcmF3TW9kZXEGSwFLAn2HVQJzc3EHSwGJiYZ9h1UIbW9sZWN1bGVxCEsBSwB9h1ULcmliYm9uQ29sb3JxCUsBSwF9h1UFbGFiZWxxCksBWAAAAAB9h1UKbGFiZWxDb2xvcnELSwFLAX2HVQhmaWxsTW9kZXEMSwFLAH2HVQVpc0hldHENSwGIfYdVC2xhYmVsT2Zmc2V0cQ5LAU59h1UIcG9zaXRpb25xD11xEEsBSwGGcRFhVQ1yaWJib25EaXNwbGF5cRJLAYl9h1UIb3B0aW9uYWxxE31VBHNzSWRxFEsBSv////99h3Uu'
        ))
    atomInfo = cPickle.loads(
        base64.b64decode(
            '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/0sBhnFxSv////9LAYZxckr/////SwGGcXNK/////0sBhnF0Sv////9LAYZxdUr/////SwGGcXZK/////0sBhnF3Sv////9LAYZxeEr/////SwGGcXlK/////0sBhnF6Sv////9LAYZxe0r/////SwGGcXxK/////0sBhnF9Sv////9LAYZxfkr/////SwGGcX9K/////0sBhnGASv////9LAYZxgUr/////SwGGcYJK/////0sBhnGDSv////9LAYZxhEr/////SwGGcYVK/////0sBhnGGSv////9LAYZxh0r/////SwGGcYhK/////0sBhnGJSv////9LAYZxikr/////SwGGcYtK/////0sBhnGMSv////9LAYZxjUr/////SwGGcY5K/////0sBhnGPSv////9LAYZxkEr/////SwGGcZFK/////0sBhnGSSv////9LAYZxk0r/////SwGGcZRK/////0sBhnGVSv////9LAYZxlkr/////SwGGcZdK/////0sBhnGYSv////9LAYZxmUr/////SwGGcZpK/////0sBhnGbSv////9LAYZxnEr/////SwGGcZ1K/////0sBhnGeSv////9LAYZxn0r/////SwGGcaBK/////0sBhnGhSv////9LAYZxokr/////SwGGcaNlh1UHYmZhY3RvcnGkiIlLPUcAAAAAAAAAAH2Hh1UJb2NjdXBhbmN5caWIiUs9Rz/wAAAAAAAAfYeHVQZhbmlzb1VxpomJSz1OXXGnKFV7YXJyYXkoW1sgMC4wMjcgLCAgMC4wMDAyLCAgMC4wMDY5XSwKICAgICAgIFsgMC4wMDAyLCAgMC4wMTI3LCAtMC4wMDI4XSwKICAgICAgIFsgMC4wMDY5LCAtMC4wMDI4LCAgMC4wMTE2XV0sIGR0eXBlPWZsb2F0MzIpcahVe2FycmF5KFtbIDAuMDEzICwgIDAuMDAwOSwgIDAuMDA0Nl0sCiAgICAgICBbIDAuMDAwOSwgIDAuMDA4OCwgLTAuMDAxOV0sCiAgICAgICBbIDAuMDA0NiwgLTAuMDAxOSwgIDAuMDEwMl1dLCBkdHlwZT1mbG9hdDMyKXGpVXthcnJheShbWyAwLjAwNzgsIC0wLjAwMDYsICAwLjAwMiBdLAogICAgICAgWy0wLjAwMDYsICAwLjAxMSAsICAwLjAwMTJdLAogICAgICAgWyAwLjAwMiAsICAwLjAwMTIsICAwLjAxMDFdXSwgZHR5cGU9ZmxvYXQzMilxqlV7YXJyYXkoW1sgMC4wMTE4LCAgMC4wMDA4LCAgMC4wMDA5XSwKICAgICAgIFsgMC4wMDA4LCAgMC4wMTIzLCAtMC4wMDA1XSwKICAgICAgIFsgMC4wMDA5LCAtMC4wMDA1LCAgMC4wMTEyXV0sIGR0eXBlPWZsb2F0MzIpcatVe2FycmF5KFtbIDAuMDA5NCwgLTAuMDAxMSwgIDAuMDAyNV0sCiAgICAgICBbLTAuMDAxMSwgIDAuMDEwMiwgIDAuMDAxM10sCiAgICAgICBbIDAuMDAyNSwgIDAuMDAxMywgIDAuMDEwNl1dLCBkdHlwZT1mbG9hdDMyKXGsVXthcnJheShbWyAwLjAxNTMsICAwLiAgICAsICAwLjAwMzVdLAogICAgICAgWyAwLiAgICAsICAwLjAxNSAsIC0wLjAwMjVdLAogICAgICAgWyAwLjAwMzUsIC0wLjAwMjUsICAwLjAxMTZdXSwgZHR5cGU9ZmxvYXQzMilxrVUETm9uZXGuVXthcnJheShbWyAwLjAwOTEsIC0wLjAwMjIsICAwLjAwNDNdLAogICAgICAgWy0wLjAwMjIsICAwLjAxMDEsIC0wLjAwMTFdLAogICAgICAgWyAwLjAwNDMsIC0wLjAwMTEsICAwLjAxMzZdXSwgZHR5cGU9ZmxvYXQzMilxr1V7YXJyYXkoW1sgMC4wMTI3LCAgMC4wMDEzLCAgMC4wMDM5XSwKICAgICAgIFsgMC4wMDEzLCAgMC4wMTI2LCAgMC4wMDA3XSwKICAgICAgIFsgMC4wMDM5LCAgMC4wMDA3LCAgMC4wMTQxXV0sIGR0eXBlPWZsb2F0MzIpcbBVBE5vbmVxsVV7YXJyYXkoW1sgMC4wMTQyLCAtMC4wMDAyLCAgMC4wMDI5XSwKICAgICAgIFstMC4wMDAyLCAgMC4wMDggLCAgMC4wMDAzXSwKICAgICAgIFsgMC4wMDI5LCAgMC4wMDAzLCAgMC4wMiAgXV0sIGR0eXBlPWZsb2F0MzIpcbJVBE5vbmVxs1XMYXJyYXkoW1sgIDkuMjAwMDAwMjBlLTAzLCAgIDYuMDAwMDAwMjhlLTA0LCAgLTkuOTk5OTk5NzVlLTA1XSwKICAgICAgIFsgIDYuMDAwMDAwMjhlLTA0LCAgIDkuMTAwMDAwMzdlLTAzLCAgIDAuMDAwMDAwMDBlKzAwXSwKICAgICAgIFsgLTkuOTk5OTk5NzVlLTA1LCAgIDAuMDAwMDAwMDBlKzAwLCAgIDEuMTUwMDAwMDBlLTAyXV0sIGR0eXBlPWZsb2F0MzIpcbRVe2FycmF5KFtbIDAuMDE3MywgIDAuMDAyOCwgIDAuMDA0OV0sCiAgICAgICBbIDAuMDAyOCwgIDAuMDExICwgIDAuMDAwMl0sCiAgICAgICBbIDAuMDA0OSwgIDAuMDAwMiwgIDAuMDExIF1dLCBkdHlwZT1mbG9hdDMyKXG1VXthcnJheShbWyAwLjAxMzcsICAwLjAwMjIsICAwLjAwOTFdLAogICAgICAgWyAwLjAwMjIsICAwLjAxMSAsICAwLjAwMjFdLAogICAgICAgWyAwLjAwOTEsICAwLjAwMjEsICAwLjAyMiBdXSwgZHR5cGU9ZmxvYXQzMilxtlUETm9uZXG3VXthcnJheShbWyAwLjAxNDYsICAwLjAwMDgsICAwLjAwMSBdLAogICAgICAgWyAwLjAwMDgsICAwLjAxMDgsIC0wLjAwNDFdLAogICAgICAgWyAwLjAwMSAsIC0wLjAwNDEsICAwLjAxNiBdXSwgZHR5cGU9ZmxvYXQzMilxuFUETm9uZXG5VXthcnJheShbWyAwLjAwOTMsIC0wLjAwMDQsICAwLjAwNTNdLAogICAgICAgWy0wLjAwMDQsICAwLjAwOTYsICAwLjAwMDhdLAogICAgICAgWyAwLjAwNTMsICAwLjAwMDgsICAwLjAxNjFdXSwgZHR5cGU9ZmxvYXQzMilxulV7YXJyYXkoW1sgMC4wMTI3LCAgMC4wMDMgLCAgMC4wMDM3XSwKICAgICAgIFsgMC4wMDMgLCAgMC4wMTA4LCAgMC4wMDI2XSwKICAgICAgIFsgMC4wMDM3LCAgMC4wMDI2LCAgMC4wMTE5XV0sIGR0eXBlPWZsb2F0MzIpcbtVBE5vbmVxvFV7YXJyYXkoW1sgMC4wMDkxLCAgMC4wMDE5LCAgMC4wMDE3XSwKICAgICAgIFsgMC4wMDE5LCAgMC4wMDkgLCAtMC4wMDAzXSwKICAgICAgIFsgMC4wMDE3LCAtMC4wMDAzLCAgMC4wMTI2XV0sIGR0eXBlPWZsb2F0MzIpcb1Ve2FycmF5KFtbIDAuMDEyMSwgIDAuMDAxICwgIDAuMDAzN10sCiAgICAgICBbIDAuMDAxICwgIDAuMDEwNywgIDAuMDAyOF0sCiAgICAgICBbIDAuMDAzNywgIDAuMDAyOCwgIDAuMDE0OF1dLCBkdHlwZT1mbG9hdDMyKXG+VXthcnJheShbWyAwLjAwODYsIC0wLjAwMDIsICAwLjAwNDJdLAogICAgICAgWy0wLjAwMDIsICAwLjAwOTMsICAwLjAwMjVdLAogICAgICAgWyAwLjAwNDIsICAwLjAwMjUsICAwLjAxNDJdXSwgZHR5cGU9ZmxvYXQzMilxv1V7YXJyYXkoW1sgMC4wMTUzLCAgMC4wMDggLCAgMC4wMDY3XSwKICAgICAgIFsgMC4wMDggLCAgMC4wMTcgLCAgMC4wMDc2XSwKICAgICAgIFsgMC4wMDY3LCAgMC4wMDc2LCAgMC4wMjEgXV0sIGR0eXBlPWZsb2F0MzIpccBVBE5vbmVxwVXMYXJyYXkoW1sgIDEuOTMwMDAwMDdlLTAyLCAgIDMuMTk5OTk5OTJlLTAzLCAgIDEuNzk5OTk5OTdlLTAzXSwKICAgICAgIFsgIDMuMTk5OTk5OTJlLTAzLCAgIDEuNjU5OTk5OTdlLTAyLCAgIDkuOTk5OTk5NzVlLTA1XSwKICAgICAgIFsgIDEuNzk5OTk5OTdlLTAzLCAgIDkuOTk5OTk5NzVlLTA1LCAgIDEuMzYwMDAwMDJlLTAyXV0sIGR0eXBlPWZsb2F0MzIpccJVBE5vbmVxw1V7YXJyYXkoW1sgMC4wMjA1LCAtMC4wMDY5LCAgMC4wMDgzXSwKICAgICAgIFstMC4wMDY5LCAgMC4wMTY2LCAtMC4wMDgxXSwKICAgICAgIFsgMC4wMDgzLCAtMC4wMDgxLCAgMC4wMTk1XV0sIGR0eXBlPWZsb2F0MzIpccRVBE5vbmVxxVV7YXJyYXkoW1sgMC4wMTY3LCAtMC4wMDMxLCAgMC4wMDA5XSwKICAgICAgIFstMC4wMDMxLCAgMC4wMjI5LCAtMC4wMDI1XSwKICAgICAgIFsgMC4wMDA5LCAtMC4wMDI1LCAgMC4wMTMzXV0sIGR0eXBlPWZsb2F0MzIpccZVBE5vbmVxx1V7YXJyYXkoW1sgMC4wMDgxLCAtMC4wMDE4LCAgMC4wMDUxXSwKICAgICAgIFstMC4wMDE4LCAgMC4wMTE0LCAtMC4wMDAzXSwKICAgICAgIFsgMC4wMDUxLCAtMC4wMDAzLCAgMC4wMTcxXV0sIGR0eXBlPWZsb2F0MzIpcchVe2FycmF5KFtbIDAuMDI2MiwgIDAuMDAzNywgIDAuMDEwM10sCiAgICAgICBbIDAuMDAzNywgIDAuMDExNywgIDAuMDAwN10sCiAgICAgICBbIDAuMDEwMywgIDAuMDAwNywgIDAuMDE0N11dLCBkdHlwZT1mbG9hdDMyKXHJVXthcnJheShbWyAwLjAxMzEsICAwLjAwNTYsICAwLjAwMjhdLAogICAgICAgWyAwLjAwNTYsICAwLjAyICAsICAwLjAwNDldLAogICAgICAgWyAwLjAwMjgsICAwLjAwNDksICAwLjAxNTNdXSwgZHR5cGU9ZmxvYXQzMilxylUETm9uZXHLVQROb25lccxVBE5vbmVxzVV7YXJyYXkoW1sgMC4wMTc5LCAgMC4wMDIzLCAgMC4wMDU3XSwKICAgICAgIFsgMC4wMDIzLCAgMC4wMDk1LCAgMC4wMDIgXSwKICAgICAgIFsgMC4wMDU3LCAgMC4wMDIgLCAgMC4wMTU3XV0sIGR0eXBlPWZsb2F0MzIpcc5VBE5vbmVxz1UETm9uZXHQVXthcnJheShbWyAwLjAxMjcsIC0wLjAwMjEsICAwLjAwMzFdLAogICAgICAgWy0wLjAwMjEsICAwLjAxNCAsICAwLjAwMDRdLAogICAgICAgWyAwLjAwMzEsICAwLjAwMDQsICAwLjAxNTldXSwgZHR5cGU9ZmxvYXQzMilx0VUETm9uZXHSVXthcnJheShbWyAwLjAxOTEsIC0wLjAwNDUsICAwLjAwNDNdLAogICAgICAgWy0wLjAwNDUsICAwLjAyMTksIC0wLjAwOTFdLAogICAgICAgWyAwLjAwNDMsIC0wLjAwOTEsICAwLjAxNzldXSwgZHR5cGU9ZmxvYXQzMilx01UETm9uZXHUVXthcnJheShbWyAwLjAxNTIsICAwLjAwNTEsICAwLjAwMjldLAogICAgICAgWyAwLjAwNTEsICAwLjAyMTksICAwLjAwNDFdLAogICAgICAgWyAwLjAwMjksICAwLjAwNDEsICAwLjAxNDJdXSwgZHR5cGU9ZmxvYXQzMilx1VUETm9uZXHWVXthcnJheShbWyAwLjAxNTMsIC0wLjAwMDcsICAwLjAwNThdLAogICAgICAgWy0wLjAwMDcsICAwLjAxMyAsIC0wLjAwNDldLAogICAgICAgWyAwLjAwNTgsIC0wLjAwNDksICAwLjAyMjZdXSwgZHR5cGU9ZmxvYXQzMilx11UETm9uZXHYVXthcnJheShbWyAwLjA0MTIsICAwLjAwODUsICAwLjAxMyBdLAogICAgICAgWyAwLjAwODUsICAwLjAxMzgsICAwLjAwNjVdLAogICAgICAgWyAwLjAxMyAsICAwLjAwNjUsICAwLjAyMDFdXSwgZHR5cGU9ZmxvYXQzMilx2VUETm9uZXHaVXthcnJheShbWyAwLjA0MDIsICAwLjAxNDEsICAwLjAwMzddLAogICAgICAgWyAwLjAxNDEsICAwLjAyNzcsICAwLjAwNzldLAogICAgICAgWyAwLjAwMzcsICAwLjAwNzksICAwLjAxNDhdXSwgZHR5cGU9ZmxvYXQzMilx21UETm9uZXHcVXthcnJheShbWyAwLjAyOTgsIC0wLjAwMzQsICAwLjAxNDZdLAogICAgICAgWy0wLjAwMzQsICAwLjAwOTQsIC0wLjAwMyBdLAogICAgICAgWyAwLjAxNDYsIC0wLjAwMyAsICAwLjAyMjNdXSwgZHR5cGU9ZmxvYXQzMilx3VUETm9uZXHeVXthcnJheShbWyAwLjAzMTEsIC0wLjAwMjIsICAwLjAxMDRdLAogICAgICAgWy0wLjAwMjIsICAwLjAxODQsIC0wLjAwNzVdLAogICAgICAgWyAwLjAxMDQsIC0wLjAwNzUsICAwLjAxNzRdXSwgZHR5cGU9ZmxvYXQzMilx31UETm9uZXHgVQROb25lceFVBE5vbmVx4lV7YXJyYXkoW1sgMC4wMjQ3LCAgMC4wMDc0LCAtMC4wMDE1XSwKICAgICAgIFsgMC4wMDc0LCAgMC4wMjgzLCAgMC4wMDA0XSwKICAgICAgIFstMC4wMDE1LCAgMC4wMDA0LCAgMC4wMTU3XV0sIGR0eXBlPWZsb2F0MzIpceNVBE5vbmVx5GWHh3VVB2Rpc3BsYXlx5Us9iH1x5olOXXHnKEsGSwGGcehLCUsBhnHpSwtLAYZx6ksPSwGGcetLEUsBhnHsSxRLAYZx7UsZSwGGce5LG0sBhnHvSx1LAYZx8EsfSwGGcfFLI0sDhnHySydLAoZx80sqSwGGcfRLLEsBhnH1Sy5LAYZx9kswSwGGcfdLMksBhnH4SzRLAYZx+Us2SwGGcfpLOEsDhnH7SzxLAYZx/GWGc4d1Lg=='
        ))
    bondInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQVjb2xvcnECS0NOfYdVBWF0b21zcQNdcQQoXXEFKEsFSwJlXXEGKEs5SwJlXXEHKEsDSw9lXXEIKEsDSw5lXXEJKEsDSwdlXXEKKEsGSwRlXXELKEsESxVlXXEMKEsESxdlXXENKEsFSxJlXXEOKEsFSw5lXXEPKEsGSxllXXEQKEsGSwllXXERKEsHSx5lXXESKEsJSyJlXXETKEsJSytlXXEUKEsKSy9lXXEVKEsKSxllXXEWKEsMSxJlXXEXKEsMSxhlXXEYKEsOSxdlXXEZKEsPSxxlXXEaKEsPSyNlXXEbKEsUSxBlXXEcKEsQSxplXXEdKEsUSyJlXXEeKEsUSxllXXEfKEsVSyhlXXEgKEsVSyRlXXEhKEsXSxhlXXEiKEsYSyhlXXEjKEsaSy9lXXEkKEscSz1lXXElKEseSzdlXXEmKEsgSy1lXXEnKEsgSytlXXEoKEsiSzFlXXEpKEsjSzNlXXEqKEsjSzdlXXErKEstSzFlXXEsKEszSzVlXXEtKEs1Sz1lXXEuKEsHSwhlXXEvKEsKSwtlXXEwKEsMSw1lXXExKEsQSxFlXXEyKEsSSxNlXXEzKEsVSxZlXXE0KEsaSxtlXXE1KEscSx1lXXE2KEseSx9lXXE3KEsgSyFlXXE4KEskSyVlXXE5KEskSyZlXXE6KEskSydlXXE7KEsoSyllXXE8KEsoSyplXXE9KEsrSyxlXXE+KEstSy5lXXE/KEsvSzBlXXFAKEsxSzJlXXFBKEszSzRlXXFCKEs1SzZlXXFDKEs3SzhlXXFEKEs5SzplXXFFKEs5SztlXXFGKEs5SzxlXXFHKEs9Sz5lZVUFbGFiZWxxSEtDWAAAAAB9h1UIaGFsZmJvbmRxSUtDiH2HVQZyYWRpdXNxSktDRz/JmZmgAAAAfYdVC2xhYmVsT2Zmc2V0cUtLQ059h1UIZHJhd01vZGVxTEtDSwF9h1UIb3B0aW9uYWxxTX1VB2Rpc3BsYXlxTktDSwJ9h3Uu'
        ))
    crdInfo = cPickle.loads(
        base64.b64decode(
            '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'
        ))
    surfInfo = {
        'category': (0, None, {}),
        'probeRadius': (0, None, {}),
        'pointSize': (0, None, {}),
        'name': [],
        'density': (0, None, {}),
        'colorMode': (0, None, {}),
        'useLighting': (0, None, {}),
        'transparencyBlendMode': (0, None, {}),
        'molecule': [],
        'smoothLines': (0, None, {}),
        'lineWidth': (0, None, {}),
        'allComponents': (0, None, {}),
        'twoSidedLighting': (0, None, {}),
        'customVisibility': [],
        'drawMode': (0, None, {}),
        'display': (0, None, {}),
        'customColors': []
    }
    vrmlInfo = {
        'subid': (0, None, {}),
        'display': (0, None, {}),
        'id': (0, None, {}),
        'vrmlString': [],
        'name': (0, None, {})
    }
    colors = {
        u'Ru': ((0.141176, 0.560784, 0.560784), 1, u'default'),
        u'Re': ((0.14902, 0.490196, 0.670588), 1, u'default'),
        u'Rf': ((0.8, 0, 0.34902), 1, u'default'),
        u'Ra': ((0, 0.490196, 0), 1, u'default'),
        u'Rb': ((0.439216, 0.180392, 0.690196), 1, u'default'),
        u'Rn': ((0.258824, 0.509804, 0.588235), 1, u'default'),
        u'Rh': ((0.0392157, 0.490196, 0.54902), 1, u'default'),
        u'Be': ((0.760784, 1, 0), 1, u'default'),
        u'Ba': ((0, 0.788235, 0), 1, u'default'),
        u'Bh': ((0.878431, 0, 0.219608), 1, u'default'),
        u'Bi': ((0.619608, 0.309804, 0.709804), 1, u'default'),
        u'Bk': ((0.541176, 0.309804, 0.890196), 1, u'default'),
        u'Br': ((0.65098, 0.160784, 0.160784), 1, u'default'),
        u'H': ((1, 1, 1), 1, u'default'),
        u'P': ((1, 0.501961, 0), 1, u'default'),
        u'Os': ((0.14902, 0.4, 0.588235), 1, u'default'),
        u'Es': ((0.701961, 0.121569, 0.831373), 1, u'default'),
        u'Ge': ((0.4, 0.560784, 0.560784), 1, u'default'),
        u'Gd': ((0.270588, 1, 0.780392), 1, u'default'),
        u'Ga': ((0.760784, 0.560784, 0.560784), 1, u'default'),
        u'Pr': ((0.85098, 1, 0.780392), 1, u'default'),
        u'Pt': ((0.815686, 0.815686, 0.878431), 1, u'default'),
        u'Pu': ((0, 0.419608, 1), 1, u'default'),
        u'C': ((0.564706, 0.564706, 0.564706), 1, u'default'),
        u'grey': ((0.745098, 0.745098, 0.745098), 1, u'default'),
        u'Pb': ((0.341176, 0.34902, 0.380392), 1, u'default'),
        u'Pa': ((0, 0.631373, 1), 1, u'default'),
        u'Pd': ((0, 0.411765, 0.521569), 1, u'default'),
        u'Xe': ((0.258824, 0.619608, 0.690196), 1, u'default'),
        u'Po': ((0.670588, 0.360784, 0), 1, u'default'),
        u'Pm': ((0.639216, 1, 0.780392), 1, u'default'),
        u'Hs': ((0.901961, 0, 0.180392), 1, u'default'),
        u'Ho': ((0, 1, 0.611765), 1, u'default'),
        u'Hf': ((0.301961, 0.760784, 1), 1, u'default'),
        u'Hg': ((0.721569, 0.721569, 0.815686), 1, u'default'),
        u'He': ((0.85098, 1, 1), 1, u'default'),
        u'Md': ((0.701961, 0.0509804, 0.65098), 1, u'default'),
        u'Mg': ((0.541176, 1, 0), 1, u'default'),
        u'K': ((0.560784, 0.25098, 0.831373), 1, u'default'),
        u'Mn': ((0.611765, 0.478431, 0.780392), 1, u'default'),
        u'O': ((1, 0.0509804, 0.0509804), 1, u'default'),
        u'Mt': ((0.921569, 0, 0.14902), 1, u'default'),
        u'S': ((1, 1, 0.188235), 1, u'default'),
        u'W': ((0.129412, 0.580392, 0.839216), 1, u'default'),
        u'Zn': ((0.490196, 0.501961, 0.690196), 1, u'default'),
        u'Eu': ((0.380392, 1, 0.780392), 1, u'default'),
        u'Zr': ((0.580392, 0.878431, 0.878431), 1, u'default'),
        u'Er': ((0, 0.901961, 0.458824), 1, u'default'),
        u'Ni': ((0.313725, 0.815686, 0.313725), 1, u'default'),
        u'No': ((0.741176, 0.0509804, 0.529412), 1, u'default'),
        u'Na': ((0.670588, 0.360784, 0.94902), 1, u'default'),
        u'Nb': ((0.45098, 0.760784, 0.788235), 1, u'default'),
        u'Nd': ((0.780392, 1, 0.780392), 1, u'default'),
        u'Ne': ((0.701961, 0.890196, 0.960784), 1, u'default'),
        u'Np': ((0, 0.501961, 1), 1, u'default'),
        u'Fr': ((0.258824, 0, 0.4), 1, u'default'),
        u'Fe': ((0.878431, 0.4, 0.2), 1, u'default'),
        u'Fm': ((0.701961, 0.121569, 0.729412), 1, u'default'),
        u'B': ((1, 0.709804, 0.709804), 1, u'default'),
        u'F': ((0.564706, 0.878431, 0.313725), 1, u'default'),
        u'Sr': ((0, 1, 0), 1, u'default'),
        u'N': ((0.188235, 0.313725, 0.972549), 1, u'default'),
        u'Kr': ((0.360784, 0.721569, 0.819608), 1, u'default'),
        u'Si': ((0.941176, 0.784314, 0.627451), 1, u'default'),
        u'Sn': ((0.4, 0.501961, 0.501961), 1, u'default'),
        u'Sm': ((0.560784, 1, 0.780392), 1, u'default'),
        u'V': ((0.65098, 0.65098, 0.670588), 1, u'default'),
        u'Sc': ((0.901961, 0.901961, 0.901961), 1, u'default'),
        u'Sb': ((0.619608, 0.388235, 0.709804), 1, u'default'),
        u'Sg': ((0.85098, 0, 0.270588), 1, u'default'),
        u'Se': ((1, 0.631373, 0), 1, u'default'),
        u'Co': ((0.941176, 0.564706, 0.627451), 1, u'default'),
        u'Cm': ((0.470588, 0.360784, 0.890196), 1, u'default'),
        u'Cl': ((0.121569, 0.941176, 0.121569), 1, u'default'),
        u'Ca': ((0.239216, 1, 0), 1, u'default'),
        u'Cf': ((0.631373, 0.211765, 0.831373), 1, u'default'),
        u'Ce': ((1, 1, 0.780392), 1, u'default'),
        u'Cd': ((1, 0.85098, 0.560784), 1, u'default'),
        u'Tm': ((0, 0.831373, 0.321569), 1, u'default'),
        u'Cs': ((0.341176, 0.0901961, 0.560784), 1, u'default'),
        u'Cr': ((0.541176, 0.6, 0.780392), 1, u'default'),
        u'Cu': ((0.784314, 0.501961, 0.2), 1, u'default'),
        u'La': ((0.439216, 0.831373, 1), 1, u'default'),
        u'Li': ((0.8, 0.501961, 1), 1, u'default'),
        u'Tl': ((0.65098, 0.329412, 0.301961), 1, u'default'),
        u'Lu': ((0, 0.670588, 0.141176), 1, u'default'),
        u'Lr': ((0.780392, 0, 0.4), 1, u'default'),
        u'Th': ((0, 0.729412, 1), 1, u'default'),
        u'Ti': ((0.74902, 0.760784, 0.780392), 1, u'default'),
        u'tan': ((0.823529, 0.705882, 0.54902), 1, u'default'),
        u'Te': ((0.831373, 0.478431, 0), 1, u'default'),
        u'Tb': ((0.188235, 1, 0.780392), 1, u'default'),
        u'Tc': ((0.231373, 0.619608, 0.619608), 1, u'default'),
        u'Ta': ((0.301961, 0.65098, 1), 1, u'default'),
        u'Yb': ((0, 0.74902, 0.219608), 1, u'default'),
        u'Db': ((0.819608, 0, 0.309804), 1, u'default'),
        u'Dy': ((0.121569, 1, 0.780392), 1, u'default'),
        u'I': ((0.580392, 0, 0.580392), 1, u'default'),
        u'medium purple': ((0.576471, 0.439216, 0.858824), 1, u'default'),
        u'U': ((0, 0.560784, 1), 1, u'default'),
        u'Y': ((0.580392, 1, 1), 1, u'default'),
        u'Ac': ((0.439216, 0.670588, 0.980392), 1, u'default'),
        u'Ag': ((0.752941, 0.752941, 0.752941), 1, u'default'),
        u'Ir': ((0.0901961, 0.329412, 0.529412), 1, u'default'),
        u'Am': ((0.329412, 0.360784, 0.94902), 1, u'default'),
        u'Al': ((0.74902, 0.65098, 0.65098), 1, u'default'),
        u'As': ((0.741176, 0.501961, 0.890196), 1, u'default'),
        u'Ar': ((0.501961, 0.819608, 0.890196), 1, u'default'),
        u'Au': ((1, 0.819608, 0.137255), 1, u'default'),
        u'At': ((0.458824, 0.309804, 0.270588), 1, u'default'),
        u'In': ((0.65098, 0.458824, 0.45098), 1, u'default'),
        u'Mo': ((0.329412, 0.709804, 0.709804), 1, u'default')
    }
    materials = {u'default': ((0, 0, 0), 30)}
    pbInfo = {
        'category': [u'distance monitor'],
        'bondInfo': [{
            'color': (0, None, {}),
            'atoms': [],
            'label': (0, None, {}),
            'halfbond': (0, None, {}),
            'labelColor': (0, None, {}),
            'labelOffset': (0, None, {}),
            'drawMode': (0, None, {}),
            'display': (0, None, {})
        }],
        'lineType': (1, 2, {}),
        'color': (1, 4, {}),
        'optional': {
            'fixedLabels': (True, False, (1, 0, {}))
        },
        'display': (1, True, {}),
        'showStubBonds': (1, False, {}),
        'lineWidth': (1, 1, {}),
        'stickScale': (1, 1, {}),
        'id': [-2]
    }
    modelAssociations = {}
    colorInfo = (7, (u'H', (1, 1, 1, 1)), {
        (u'', (1, 1, 1, 1)): [5],
        (u'O', (1, 0.0509804, 0.0509804, 1)): [2],
        (u'tan', (0.823529, 0.705882, 0.54902, 1)): [0],
        (u'grey', (0.745098, 0.745098, 0.745098, 1)): [1],
        (u'yellow', (1, 1, 0, 1)): [4],
        (u'', (0.4, 0, 1, 1)): [6]
    })
    viewerInfo = {
        'cameraAttrs': {
            'center': (1.3395405316556, 3.95058375, 8.7265950464312),
            'fieldOfView': 18.849684534934,
            'nearFar': (16.370238401986, 1.1650406451953),
            'ortho': False,
            'eyeSeparation': 50.8,
            'focal': 8.7265950464312
        },
        'viewerAttrs': {
            'silhouetteColor':
            None,
            'clipping':
            False,
            'showSilhouette':
            True,
            'showShadows':
            False,
            'viewSize':
            8.8688270917569,
            'labelsOnTop':
            True,
            'depthCueRange': (0.5, 1),
            'silhouetteWidth':
            2,
            'singleLayerTransparency':
            True,
            'shadowTextureSize':
            2048,
            'backgroundImage': [None, 1, 2, 1, 0, 0],
            'backgroundGradient': [('Chimera default', [(1, 1, 1, 1),
                                                        (0, 0, 1, 1)], 1), 1,
                                   0, 0],
            'depthCue':
            True,
            'highlight':
            0,
            'scaleFactor':
            1.1553511596919,
            'angleDependentTransparency':
            True,
            'backgroundMethod':
            0
        },
        'viewerHL': 6,
        'cameraMode': 'mono',
        'detail': 1.5,
        'viewerFog': None,
        'viewerBG': 5
    }

    replyobj.status("Initializing session restore...",
                    blankAfter=0,
                    secondary=True)
    from SimpleSession.versions.v65 import expandSummary
    init(dict(enumerate(expandSummary(colorInfo))))
    replyobj.status("Restoring colors...", blankAfter=0, secondary=True)
    restoreColors(colors, materials)
    replyobj.status("Restoring molecules...", blankAfter=0, secondary=True)
    restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
    replyobj.status("Restoring surfaces...", blankAfter=0, secondary=True)
    restoreSurfaces(surfInfo)
    replyobj.status("Restoring VRML models...", blankAfter=0, secondary=True)
    restoreVRML(vrmlInfo)
    replyobj.status("Restoring pseudobond groups...",
                    blankAfter=0,
                    secondary=True)
    restorePseudoBondGroups(pbInfo)
    replyobj.status("Restoring model associations...",
                    blankAfter=0,
                    secondary=True)
    restoreModelAssociations(modelAssociations)
    replyobj.status("Restoring camera...", blankAfter=0, secondary=True)
    restoreViewer(viewerInfo)
コード例 #9
0
def restoreCoreModels():
    from SimpleSession.versions.v65 import init, restoreViewer, \
         restoreMolecules, restoreColors, restoreSurfaces, \
         restoreVRML, restorePseudoBondGroups, restoreModelAssociations
    molInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwJOfYdVCWJhbGxTY2FsZXEDSwJHP9AAAAAAAAB9h1UJcG9pbnRTaXplcQRLAkc/8AAAAAAAAH2HVQVjb2xvcnEFSwJLAH1xBksBXXEHSwFhc4dVCnJpYmJvblR5cGVxCEsCSwB9h1UKc3RpY2tTY2FsZXEJSwJHP/AAAAAAAAB9h1UMbW1DSUZIZWFkZXJzcQpdcQsoTk5lVQxhcm9tYXRpY01vZGVxDEsCSwF9h1UKdmR3RGVuc2l0eXENSwJHQBQAAAAAAAB9h1UGaGlkZGVucQ5LAol9h1UNYXJvbWF0aWNDb2xvcnEPSwJOfYdVD3JpYmJvblNtb290aGluZ3EQSwJLAH2HVQlhdXRvY2hhaW5xEUsCiH2HVQpwZGJWZXJzaW9ucRJLAksAfYdVCG9wdGlvbmFscRN9cRRVCG9wZW5lZEFzcRWIiUsCKFULMTU0MDQ0MS5jaWZxFk5OSwF0cRd9cRgoVVsvaG9tZS9kc2xvY2hvd2VyL2hnc3QtM3RiLWRhdGEvcHJvamVjdHMvc3ludGhldGljLW1vdG9ycy9nZW9tZXRyeS1vcHRpbWl6YXRpb24vb3B0aW1pemUueHl6cRlVDlhZWiBjb29yZGluYXRlcRpOiXRxG11xHEsBYXOHh3NVD2xvd2VyQ2FzZUNoYWluc3EdSwKJfYdVCWxpbmVXaWR0aHEeSwJHP/AAAAAAAAB9h1UPcmVzaWR1ZUxhYmVsUG9zcR9LAksAfYdVBG5hbWVxIEsCWAsAAAAxNTQwNDQxLmNpZn1xIVgQAAAAdW5rbm93biBtb2xlY3VsZV1xIksBYXOHVQ9hcm9tYXRpY0Rpc3BsYXlxI0sCiX2HVQ9yaWJib25TdGlmZm5lc3NxJEsCRz/pmZmZmZmafYdVCnBkYkhlYWRlcnNxJV1xJih9cSd9cShlVQNpZHNxKUsCSwFLAIZ9cSpLAEsAhl1xK0sAYXOHVQ5zdXJmYWNlT3BhY2l0eXEsSwJHv/AAAAAAAAB9h1UQYXJvbWF0aWNMaW5lVHlwZXEtSwJLAn2HVRRyaWJib25IaWRlc01haW5jaGFpbnEuSwKIfYdVB2Rpc3BsYXlxL0sCiH2HdS4='
        ))
    resInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQZpbnNlcnRxAksCVQEgfYdVC2ZpbGxEaXNwbGF5cQNLAol9cQSITl1xBUsASwGGcQZhhnOHVQRuYW1lcQdLAlgOAAAAbW9fbW9sYW4zNzhfMG19cQhYAwAAAFVOS11xCUsBYXOHVQVjaGFpbnEKSwJYAQAAACB9h1UOcmliYm9uRHJhd01vZGVxC0sCSwJ9h1UCc3NxDEsCiYmGfYdVCG1vbGVjdWxlcQ1LAksAfXEOSwFOXXEPSwFLAYZxEGGGc4dVC3JpYmJvbkNvbG9ycRFLAksCfXESSwNOXXETSwFLAYZxFGGGc4dVBWxhYmVscRVLAlgAAAAAfYdVCmxhYmVsQ29sb3JxFksCSwJ9cRdLA05dcRhLAUsBhnEZYYZzh1UIZmlsbE1vZGVxGksCSwB9cRtLAU5dcRxLAUsBhnEdYYZzh1UFaXNIZXRxHksCiX1xH4hOXXEgSwBLAYZxIWGGc4dVC2xhYmVsT2Zmc2V0cSJLAk59h1UIcG9zaXRpb25xI11xJChLAUsBhnElSwFLAYZxJmVVDXJpYmJvbkRpc3BsYXlxJ0sCiX2HVQhvcHRpb25hbHEofVUEc3NJZHEpSwJK/////32HdS4='
        ))
    atomInfo = cPickle.loads(
        base64.b64decode(
            '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LjAwMDgsICAwLjAxMjMsIC0wLjAwMDVdLAogICAgICAgWyAwLjAwMDksIC0wLjAwMDUsICAwLjAxMTJdXSwgZHR5cGU9ZmxvYXQzMilxxlV7YXJyYXkoW1sgMC4wMDk0LCAtMC4wMDExLCAgMC4wMDI1XSwKICAgICAgIFstMC4wMDExLCAgMC4wMTAyLCAgMC4wMDEzXSwKICAgICAgIFsgMC4wMDI1LCAgMC4wMDEzLCAgMC4wMTA2XV0sIGR0eXBlPWZsb2F0MzIpccdVe2FycmF5KFtbIDAuMDE1MywgIDAuICAgICwgIDAuMDAzNV0sCiAgICAgICBbIDAuICAgICwgIDAuMDE1ICwgLTAuMDAyNV0sCiAgICAgICBbIDAuMDAzNSwgLTAuMDAyNSwgIDAuMDExNl1dLCBkdHlwZT1mbG9hdDMyKXHIVQROb25lcclVe2FycmF5KFtbIDAuMDA5MSwgLTAuMDAyMiwgIDAuMDA0M10sCiAgICAgICBbLTAuMDAyMiwgIDAuMDEwMSwgLTAuMDAxMV0sCiAgICAgICBbIDAuMDA0MywgLTAuMDAxMSwgIDAuMDEzNl1dLCBkdHlwZT1mbG9hdDMyKXHKVXthcnJheShbWyAwLjAxMjcsICAwLjAwMTMsICAwLjAwMzldLAogICAgICAgWyAwLjAwMTMsICAwLjAxMjYsICAwLjAwMDddLAogICAgICAgWyAwLjAwMzksICAwLjAwMDcsICAwLjAxNDFdXSwgZHR5cGU9ZmxvYXQzMilxy1UETm9uZXHMVXthcnJheShbWyAwLjAxNDIsIC0wLjAwMDIsICAwLjAwMjldLAogICAgICAgWy0wLjAwMDIsICAwLjAwOCAsICAwLjAwMDNdLAogICAgICAgWyAwLjAwMjksICAwLjAwMDMsICAwLjAyICBdXSwgZHR5cGU9ZmxvYXQzMilxzVUETm9uZXHOVcxhcnJheShbWyAgOS4yMDAwMDAyMGUtMDMsICAgNi4wMDAwMDAyOGUtMDQsICAtOS45OTk5OTk3NWUtMDVdLAogICAgICAgWyAgNi4wMDAwMDAyOGUtMDQsICAgOS4xMDAwMDAzN2UtMDMsICAgMC4wMDAwMDAwMGUrMDBdLAogICAgICAgWyAtOS45OTk5OTk3NWUtMDUsICAgMC4wMDAwMDAwMGUrMDAsICAgMS4xNTAwMDAwMGUtMDJdXSwgZHR5cGU9ZmxvYXQzMilxz1V7YXJyYXkoW1sgMC4wMTczLCAgMC4wMDI4LCAgMC4wMDQ5XSwKICAgICAgIFsgMC4wMDI4LCAgMC4wMTEgLCAgMC4wMDAyXSwKICAgICAgIFsgMC4wMDQ5LCAgMC4wMDAyLCAgMC4wMTEgXV0sIGR0eXBlPWZsb2F0MzIpcdBVe2FycmF5KFtbIDAuMDEzNywgIDAuMDAyMiwgIDAuMDA5MV0sCiAgICAgICBbIDAuMDAyMiwgIDAuMDExICwgIDAuMDAyMV0sCiAgICAgICBbIDAuMDA5MSwgIDAuMDAyMSwgIDAuMDIyIF1dLCBkdHlwZT1mbG9hdDMyKXHRVQROb25lcdJVe2FycmF5KFtbIDAuMDE0NiwgIDAuMDAwOCwgIDAuMDAxIF0sCiAgICAgICBbIDAuMDAwOCwgIDAuMDEwOCwgLTAuMDA0MV0sCiAgICAgICBbIDAuMDAxICwgLTAuMDA0MSwgIDAuMDE2IF1dLCBkdHlwZT1mbG9hdDMyKXHTVQROb25lcdRVe2FycmF5KFtbIDAuMDA5MywgLTAuMDAwNCwgIDAuMDA1M10sCiAgICAgICBbLTAuMDAwNCwgIDAuMDA5NiwgIDAuMDAwOF0sCiAgICAgICBbIDAuMDA1MywgIDAuMDAwOCwgIDAuMDE2MV1dLCBkdHlwZT1mbG9hdDMyKXHVVXthcnJheShbWyAwLjAxMjcsICAwLjAwMyAsICAwLjAwMzddLAogICAgICAgWyAwLjAwMyAsICAwLjAxMDgsICAwLjAwMjZdLAogICAgICAgWyAwLjAwMzcsICAwLjAwMjYsICAwLjAxMTldXSwgZHR5cGU9ZmxvYXQzMilx1lUETm9uZXHXVXthcnJheShbWyAwLjAwOTEsICAwLjAwMTksICAwLjAwMTddLAogICAgICAgWyAwLjAwMTksICAwLjAwOSAsIC0wLjAwMDNdLAogICAgICAgWyAwLjAwMTcsIC0wLjAwMDMsICAwLjAxMjZdXSwgZHR5cGU9ZmxvYXQzMilx2FV7YXJyYXkoW1sgMC4wMTIxLCAgMC4wMDEgLCAgMC4wMDM3XSwKICAgICAgIFsgMC4wMDEgLCAgMC4wMTA3LCAgMC4wMDI4XSwKICAgICAgIFsgMC4wMDM3LCAgMC4wMDI4LCAgMC4wMTQ4XV0sIGR0eXBlPWZsb2F0MzIpcdlVe2FycmF5KFtbIDAuMDA4NiwgLTAuMDAwMiwgIDAuMDA0Ml0sCiAgICAgICBbLTAuMDAwMiwgIDAuMDA5MywgIDAuMDAyNV0sCiAgICAgICBbIDAuMDA0MiwgIDAuMDAyNSwgIDAuMDE0Ml1dLCBkdHlwZT1mbG9hdDMyKXHaVXthcnJheShbWyAwLjAxNTMsICAwLjAwOCAsICAwLjAwNjddLAogICAgICAgWyAwLjAwOCAsICAwLjAxNyAsICAwLjAwNzZdLAogICAgICAgWyAwLjAwNjcsICAwLjAwNzYsICAwLjAyMSBdXSwgZHR5cGU9ZmxvYXQzMilx21UETm9uZXHcVcxhcnJheShbWyAgMS45MzAwMDAwN2UtMDIsICAgMy4xOTk5OTk5MmUtMDMsICAgMS43OTk5OTk5N2UtMDNdLAogICAgICAgWyAgMy4xOTk5OTk5MmUtMDMsICAgMS42NTk5OTk5N2UtMDIsICAgOS45OTk5OTk3NWUtMDVdLAogICAgICAgWyAgMS43OTk5OTk5N2UtMDMsICAgOS45OTk5OTk3NWUtMDUsICAgMS4zNjAwMDAwMmUtMDJdXSwgZHR5cGU9ZmxvYXQzMilx3VUETm9uZXHeVXthcnJheShbWyAwLjAyMDUsIC0wLjAwNjksICAwLjAwODNdLAogICAgICAgWy0wLjAwNjksICAwLjAxNjYsIC0wLjAwODFdLAogICAgICAgWyAwLjAwODMsIC0wLjAwODEsICAwLjAxOTVdXSwgZHR5cGU9ZmxvYXQzMilx31UETm9uZXHgVXthcnJheShbWyAwLjAxNjcsIC0wLjAwMzEsICAwLjAwMDldLAogICAgICAgWy0wLjAwMzEsICAwLjAyMjksIC0wLjAwMjVdLAogICAgICAgWyAwLjAwMDksIC0wLjAwMjUsICAwLjAxMzNdXSwgZHR5cGU9ZmxvYXQzMilx4VUETm9uZXHiVXthcnJheShbWyAwLjAwODEsIC0wLjAwMTgsICAwLjAwNTFdLAogICAgICAgWy0wLjAwMTgsICAwLjAxMTQsIC0wLjAwMDNdLAogICAgICAgWyAwLjAwNTEsIC0wLjAwMDMsICAwLjAxNzFdXSwgZHR5cGU9ZmxvYXQzMilx41V7YXJyYXkoW1sgMC4wMjYyLCAgMC4wMDM3LCAgMC4wMTAzXSwKICAgICAgIFsgMC4wMDM3LCAgMC4wMTE3LCAgMC4wMDA3XSwKICAgICAgIFsgMC4wMTAzLCAgMC4wMDA3LCAgMC4wMTQ3XV0sIGR0eXBlPWZsb2F0MzIpceRVe2FycmF5KFtbIDAuMDEzMSwgIDAuMDA1NiwgIDAuMDAyOF0sCiAgICAgICBbIDAuMDA1NiwgIDAuMDIgICwgIDAuMDA0OV0sCiAgICAgICBbIDAuMDAyOCwgIDAuMDA0OSwgIDAuMDE1M11dLCBkdHlwZT1mbG9hdDMyKXHlVQROb25lceZVBE5vbmVx51UETm9uZXHoVXthcnJheShbWyAwLjAxNzksICAwLjAwMjMsICAwLjAwNTddLAogICAgICAgWyAwLjAwMjMsICAwLjAwOTUsICAwLjAwMiBdLAogICAgICAgWyAwLjAwNTcsICAwLjAwMiAsICAwLjAxNTddXSwgZHR5cGU9ZmxvYXQzMilx6VUETm9uZXHqVQROb25lcetVe2FycmF5KFtbIDAuMDEyNywgLTAuMDAyMSwgIDAuMDAzMV0sCiAgICAgICBbLTAuMDAyMSwgIDAuMDE0ICwgIDAuMDAwNF0sCiAgICAgICBbIDAuMDAzMSwgIDAuMDAwNCwgIDAuMDE1OV1dLCBkdHlwZT1mbG9hdDMyKXHsVQROb25lce1Ve2FycmF5KFtbIDAuMDE5MSwgLTAuMDA0NSwgIDAuMDA0M10sCiAgICAgICBbLTAuMDA0NSwgIDAuMDIxOSwgLTAuMDA5MV0sCiAgICAgICBbIDAuMDA0MywgLTAuMDA5MSwgIDAuMDE3OV1dLCBkdHlwZT1mbG9hdDMyKXHuVQROb25lce9Ve2FycmF5KFtbIDAuMDE1MiwgIDAuMDA1MSwgIDAuMDAyOV0sCiAgICAgICBbIDAuMDA1MSwgIDAuMDIxOSwgIDAuMDA0MV0sCiAgICAgICBbIDAuMDAyOSwgIDAuMDA0MSwgIDAuMDE0Ml1dLCBkdHlwZT1mbG9hdDMyKXHwVQROb25lcfFVe2FycmF5KFtbIDAuMDE1MywgLTAuMDAwNywgIDAuMDA1OF0sCiAg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'
        ))
    bondInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQVjb2xvcnECS4ZOfYdVBWF0b21zcQNdcQQoXXEFKEsHSwRlXXEGKEs7SwRlXXEHKEsFSxFlXXEIKEsFSxBlXXEJKEsFSwllXXEKKEsISwZlXXELKEsGSxdlXXEMKEsGSxllXXENKEsHSxRlXXEOKEsHSxBlXXEPKEsISxtlXXEQKEsISwtlXXERKEsJSyBlXXESKEsLSyRlXXETKEsLSy1lXXEUKEsMSzFlXXEVKEsMSxtlXXEWKEsOSxRlXXEXKEsOSxplXXEYKEsQSxllXXEZKEsRSx5lXXEaKEsRSyVlXXEbKEsWSxJlXXEcKEsSSxxlXXEdKEsWSyRlXXEeKEsWSxtlXXEfKEsXSyplXXEgKEsXSyZlXXEhKEsZSxplXXEiKEsaSyplXXEjKEscSzFlXXEkKEseSz9lXXElKEsgSzllXXEmKEsiSy9lXXEnKEsiSy1lXXEoKEskSzNlXXEpKEslSzVlXXEqKEslSzllXXErKEsvSzNlXXEsKEs1SzdlXXEtKEs3Sz9lXXEuKEsJSwplXXEvKEsMSw1lXXEwKEsOSw9lXXExKEsSSxNlXXEyKEsUSxVlXXEzKEsXSxhlXXE0KEscSx1lXXE1KEseSx9lXXE2KEsgSyFlXXE3KEsiSyNlXXE4KEsmSydlXXE5KEsmSyhlXXE6KEsmSyllXXE7KEsqSytlXXE8KEsqSyxlXXE9KEstSy5lXXE+KEsvSzBlXXE/KEsxSzJlXXFAKEszSzRlXXFBKEs1SzZlXXFCKEs3SzhlXXFDKEs5SzplXXFEKEs7SzxlXXFFKEs7Sz1lXXFGKEs7Sz5lXXFHKEs/S0BlXXFIKEtBS0RlXXFJKEtBS3hlXXFKKEtCS0ZlXXFLKEtCS01lXXFMKEtCS05lXXFNKEtDS0VlXXFOKEtDS1RlXXFPKEtDS1ZlXXFQKEtES01lXXFRKEtES1FlXXFSKEtFS0hlXXFTKEtFS1hlXXFUKEtGS0dlXXFVKEtGS11lXXFWKEtIS2FlXXFXKEtIS2plXXFYKEtJS0plXXFZKEtJS1hlXXFaKEtJS25lXXFbKEtLS0xlXXFcKEtLS1FlXXFdKEtLS1dlXXFeKEtNS1ZlXXFfKEtOS1tlXXFgKEtOS2JlXXFhKEtPS1BlXXFiKEtPS1NlXXFjKEtPS1llXXFkKEtRS1JlXXFlKEtTS1hlXXFmKEtTS2FlXXFnKEtUS1VlXXFoKEtUS2NlXXFpKEtUS2dlXXFqKEtWS1dlXXFrKEtXS2dlXXFsKEtZS1plXXFtKEtZS25lXXFuKEtbS1xlXXFvKEtbS3xlXXFwKEtdS15lXXFxKEtdS3ZlXXFyKEtfS2BlXXFzKEtfS2plXXF0KEtfS2xlXXF1KEthS3BlXXF2KEtiS3JlXXF3KEtiS3ZlXXF4KEtjS2RlXXF5KEtjS2VlXXF6KEtjS2ZlXXF7KEtnS2hlXXF8KEtnS2llXXF9KEtqS2tlXXF+KEtsS21lXXF/KEtsS3BlXXGAKEtuS29lXXGBKEtwS3FlXXGCKEtyS3NlXXGDKEtyS3RlXXGEKEt0S3VlXXGFKEt0S3xlXXGGKEt2S3dlXXGHKEt4S3llXXGIKEt4S3plXXGJKEt4S3tlXXGKKEt8S31lZVUFbGFiZWxxi0uGWAAAAAB9h1UIaGFsZmJvbmRxjEuGiH2HVQZyYWRpdXNxjUuGRz/JmZmgAAAAfYdVC2xhYmVsT2Zmc2V0cY5Lhk59h1UIZHJhd01vZGVxj0uGSwF9h1UIb3B0aW9uYWxxkH1VB2Rpc3BsYXlxkUuGSwJ9h3Uu'
        ))
    crdInfo = cPickle.loads(
        base64.b64decode(
            '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'
        ))
    surfInfo = {
        'category': (0, None, {}),
        'probeRadius': (0, None, {}),
        'pointSize': (0, None, {}),
        'name': [],
        'density': (0, None, {}),
        'colorMode': (0, None, {}),
        'useLighting': (0, None, {}),
        'transparencyBlendMode': (0, None, {}),
        'molecule': [],
        'smoothLines': (0, None, {}),
        'lineWidth': (0, None, {}),
        'allComponents': (0, None, {}),
        'twoSidedLighting': (0, None, {}),
        'customVisibility': [],
        'drawMode': (0, None, {}),
        'display': (0, None, {}),
        'customColors': []
    }
    vrmlInfo = {
        'subid': (0, None, {}),
        'display': (0, None, {}),
        'id': (0, None, {}),
        'vrmlString': [],
        'name': (0, None, {})
    }
    colors = {
        u'': ((0.823529, 0.705882, 0.54902), 1, u''),
        u'Ru': ((0.141176, 0.560784, 0.560784), 1, u'default'),
        u'Re': ((0.14902, 0.490196, 0.670588), 1, u'default'),
        u'Rf': ((0.8, 0, 0.34902), 1, u'default'),
        u'Ra': ((0, 0.490196, 0), 1, u'default'),
        u'Rb': ((0.439216, 0.180392, 0.690196), 1, u'default'),
        u'Rn': ((0.258824, 0.509804, 0.588235), 1, u'default'),
        u'Rh': ((0.0392157, 0.490196, 0.54902), 1, u'default'),
        u'Be': ((0.760784, 1, 0), 1, u'default'),
        u'Ba': ((0, 0.788235, 0), 1, u'default'),
        u'Bh': ((0.878431, 0, 0.219608), 1, u'default'),
        u'Bi': ((0.619608, 0.309804, 0.709804), 1, u'default'),
        u'Bk': ((0.541176, 0.309804, 0.890196), 1, u'default'),
        u'Br': ((0.65098, 0.160784, 0.160784), 1, u'default'),
        u'H': ((1, 1, 1), 1, u'default'),
        u'P': ((1, 0.501961, 0), 1, u'default'),
        u'Os': ((0.14902, 0.4, 0.588235), 1, u'default'),
        u'Ge': ((0.4, 0.560784, 0.560784), 1, u'default'),
        u'Gd': ((0.270588, 1, 0.780392), 1, u'default'),
        u'Ga': ((0.760784, 0.560784, 0.560784), 1, u'default'),
        u'Pr': ((0.85098, 1, 0.780392), 1, u'default'),
        u'Pt': ((0.815686, 0.815686, 0.878431), 1, u'default'),
        u'Pu': ((0, 0.419608, 1), 1, u'default'),
        u'C': ((0.564706, 0.564706, 0.564706), 1, u'default'),
        u'grey': ((0.745098, 0.745098, 0.745098), 1, u'default'),
        u'Pb': ((0.341176, 0.34902, 0.380392), 1, u'default'),
        u'Pa': ((0, 0.631373, 1), 1, u'default'),
        u'Pd': ((0, 0.411765, 0.521569), 1, u'default'),
        u'Xe': ((0.258824, 0.619608, 0.690196), 1, u'default'),
        u'Po': ((0.670588, 0.360784, 0), 1, u'default'),
        u'Pm': ((0.639216, 1, 0.780392), 1, u'default'),
        u'Hs': ((0.901961, 0, 0.180392), 1, u'default'),
        u'Ho': ((0, 1, 0.611765), 1, u'default'),
        u'Hf': ((0.301961, 0.760784, 1), 1, u'default'),
        u'Hg': ((0.721569, 0.721569, 0.815686), 1, u'default'),
        u'He': ((0.85098, 1, 1), 1, u'default'),
        u'Md': ((0.701961, 0.0509804, 0.65098), 1, u'default'),
        u'Mg': ((0.541176, 1, 0), 1, u'default'),
        u'K': ((0.560784, 0.25098, 0.831373), 1, u'default'),
        u'Mn': ((0.611765, 0.478431, 0.780392), 1, u'default'),
        u'O': ((1, 0.0509804, 0.0509804), 1, u'default'),
        u'Mt': ((0.921569, 0, 0.14902), 1, u'default'),
        u'S': ((1, 1, 0.188235), 1, u'default'),
        u'W': ((0.129412, 0.580392, 0.839216), 1, u'default'),
        u'Zn': ((0.490196, 0.501961, 0.690196), 1, u'default'),
        u'Eu': ((0.380392, 1, 0.780392), 1, u'default'),
        u'Zr': ((0.580392, 0.878431, 0.878431), 1, u'default'),
        u'Er': ((0, 0.901961, 0.458824), 1, u'default'),
        u'Ni': ((0.313725, 0.815686, 0.313725), 1, u'default'),
        u'No': ((0.741176, 0.0509804, 0.529412), 1, u'default'),
        u'Na': ((0.670588, 0.360784, 0.94902), 1, u'default'),
        u'Nb': ((0.45098, 0.760784, 0.788235), 1, u'default'),
        u'Nd': ((0.780392, 1, 0.780392), 1, u'default'),
        u'Ne': ((0.701961, 0.890196, 0.960784), 1, u'default'),
        u'Np': ((0, 0.501961, 1), 1, u'default'),
        u'Fr': ((0.258824, 0, 0.4), 1, u'default'),
        u'Fe': ((0.878431, 0.4, 0.2), 1, u'default'),
        u'Fm': ((0.701961, 0.121569, 0.729412), 1, u'default'),
        u'B': ((1, 0.709804, 0.709804), 1, u'default'),
        u'F': ((0.564706, 0.878431, 0.313725), 1, u'default'),
        u'Sr': ((0, 1, 0), 1, u'default'),
        u'N': ((0.188235, 0.313725, 0.972549), 1, u'default'),
        u'Kr': ((0.360784, 0.721569, 0.819608), 1, u'default'),
        u'Si': ((0.941176, 0.784314, 0.627451), 1, u'default'),
        u'Sn': ((0.4, 0.501961, 0.501961), 1, u'default'),
        u'Sm': ((0.560784, 1, 0.780392), 1, u'default'),
        u'V': ((0.65098, 0.65098, 0.670588), 1, u'default'),
        u'Sc': ((0.901961, 0.901961, 0.901961), 1, u'default'),
        u'Sb': ((0.619608, 0.388235, 0.709804), 1, u'default'),
        u'Sg': ((0.85098, 0, 0.270588), 1, u'default'),
        u'Se': ((1, 0.631373, 0), 1, u'default'),
        u'Co': ((0.941176, 0.564706, 0.627451), 1, u'default'),
        u'Cm': ((0.470588, 0.360784, 0.890196), 1, u'default'),
        u'Cl': ((0.121569, 0.941176, 0.121569), 1, u'default'),
        u'Ca': ((0.239216, 1, 0), 1, u'default'),
        u'Cf': ((0.631373, 0.211765, 0.831373), 1, u'default'),
        u'Ce': ((1, 1, 0.780392), 1, u'default'),
        u'Cd': ((1, 0.85098, 0.560784), 1, u'default'),
        u'Lu': ((0, 0.670588, 0.141176), 1, u'default'),
        u'Cs': ((0.341176, 0.0901961, 0.560784), 1, u'default'),
        u'Cr': ((0.541176, 0.6, 0.780392), 1, u'default'),
        u'Cu': ((0.784314, 0.501961, 0.2), 1, u'default'),
        u'La': ((0.439216, 0.831373, 1), 1, u'default'),
        u'Li': ((0.8, 0.501961, 1), 1, u'default'),
        u'Tl': ((0.65098, 0.329412, 0.301961), 1, u'default'),
        u'Tm': ((0, 0.831373, 0.321569), 1, u'default'),
        u'Lr': ((0.780392, 0, 0.4), 1, u'default'),
        u'Th': ((0, 0.729412, 1), 1, u'default'),
        u'Ti': ((0.74902, 0.760784, 0.780392), 1, u'default'),
        u'tan': ((0.823529, 0.705882, 0.54902), 1, u'default'),
        u'Te': ((0.831373, 0.478431, 0), 1, u'default'),
        u'Tb': ((0.188235, 1, 0.780392), 1, u'default'),
        u'Tc': ((0.231373, 0.619608, 0.619608), 1, u'default'),
        u'Ta': ((0.301961, 0.65098, 1), 1, u'default'),
        u'Yb': ((0, 0.74902, 0.219608), 1, u'default'),
        u'Db': ((0.819608, 0, 0.309804), 1, u'default'),
        u'Dy': ((0.121569, 1, 0.780392), 1, u'default'),
        u'At': ((0.458824, 0.309804, 0.270588), 1, u'default'),
        u'I': ((0.580392, 0, 0.580392), 1, u'default'),
        u'medium purple': ((0.576471, 0.439216, 0.858824), 1, u'default'),
        u'U': ((0, 0.560784, 1), 1, u'default'),
        u'Y': ((0.580392, 1, 1), 1, u'default'),
        u'Ac': ((0.439216, 0.670588, 0.980392), 1, u'default'),
        u'Ag': ((0.752941, 0.752941, 0.752941), 1, u'default'),
        u'Ir': ((0.0901961, 0.329412, 0.529412), 1, u'default'),
        u'Am': ((0.329412, 0.360784, 0.94902), 1, u'default'),
        u'Al': ((0.74902, 0.65098, 0.65098), 1, u'default'),
        u'As': ((0.741176, 0.501961, 0.890196), 1, u'default'),
        u'Ar': ((0.501961, 0.819608, 0.890196), 1, u'default'),
        u'Au': ((1, 0.819608, 0.137255), 1, u'default'),
        u'Es': ((0.701961, 0.121569, 0.831373), 1, u'default'),
        u'In': ((0.65098, 0.458824, 0.45098), 1, u'default'),
        u'Mo': ((0.329412, 0.709804, 0.709804), 1, u'default')
    }
    materials = {u'': ((0, 0, 0), 30), u'default': ((0, 0, 0), 30)}
    pbInfo = {
        'category': [u'distance monitor'],
        'bondInfo': [{
            'color': (0, None, {}),
            'atoms': [],
            'label': (0, None, {}),
            'halfbond': (0, None, {}),
            'labelColor': (0, None, {}),
            'labelOffset': (0, None, {}),
            'drawMode': (0, None, {}),
            'display': (0, None, {})
        }],
        'lineType': (1, 2, {}),
        'color': (1, 7, {}),
        'optional': {
            'fixedLabels': (True, False, (1, 0, {}))
        },
        'display': (1, True, {}),
        'showStubBonds': (1, False, {}),
        'lineWidth': (1, 1, {}),
        'stickScale': (1, 1, {}),
        'id': [-2]
    }
    modelAssociations = {}
    colorInfo = (10, (u'', (1, 1, 1, 1)), {
        (u'', (0.106829, 0.702586, 0.652042, 1)): [1],
        (u'', (1, 0.0509804, 0.0509804, 1)): [4],
        (u'grey', (0.745098, 0.745098, 0.745098, 1)): [2],
        (u'', (0.823529, 0.705882, 0.54902, 1)): [0],
        (u'blue', (0, 0, 1, 1)): [6],
        (u'', (0.4, 0, 1, 1)): [9],
        (u'red', (1, 0, 0, 1)): [3],
        (u'yellow', (1, 1, 0, 1)): [7]
    })
    viewerInfo = {
        'cameraAttrs': {
            'center':
            (-8.4267747606795e-16, -1.3104271766067e-16, 9.8877432912934),
            'fieldOfView': 18.849684534934,
            'nearFar': (14.976217964974, -1.0107092541845),
            'ortho': False,
            'eyeSeparation': 50.8,
            'focal': 8.7265950464312
        },
        'viewerAttrs': {
            'silhouetteColor':
            None,
            'clipping':
            False,
            'showSilhouette':
            True,
            'showShadows':
            False,
            'viewSize':
            8.8688270917569,
            'labelsOnTop':
            True,
            'depthCueRange': (0.5, 1),
            'silhouetteWidth':
            2,
            'singleLayerTransparency':
            True,
            'shadowTextureSize':
            2048,
            'backgroundImage': [None, 1, 2, 1, 0, 0],
            'backgroundGradient': [('Chimera default', [(1, 1, 1, 1),
                                                        (0, 0, 1, 1)], 1), 1,
                                   0, 0],
            'depthCue':
            True,
            'highlight':
            0,
            'scaleFactor':
            1.3348363022014,
            'angleDependentTransparency':
            True,
            'backgroundMethod':
            0
        },
        'viewerHL': 9,
        'cameraMode': 'mono',
        'detail': 1.5,
        'viewerFog': None,
        'viewerBG': 8
    }

    replyobj.status("Initializing session restore...",
                    blankAfter=0,
                    secondary=True)
    from SimpleSession.versions.v65 import expandSummary
    init(dict(enumerate(expandSummary(colorInfo))))
    replyobj.status("Restoring colors...", blankAfter=0, secondary=True)
    restoreColors(colors, materials)
    replyobj.status("Restoring molecules...", blankAfter=0, secondary=True)
    restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
    replyobj.status("Restoring surfaces...", blankAfter=0, secondary=True)
    restoreSurfaces(surfInfo)
    replyobj.status("Restoring VRML models...", blankAfter=0, secondary=True)
    restoreVRML(vrmlInfo)
    replyobj.status("Restoring pseudobond groups...",
                    blankAfter=0,
                    secondary=True)
    restorePseudoBondGroups(pbInfo)
    replyobj.status("Restoring model associations...",
                    blankAfter=0,
                    secondary=True)
    restoreModelAssociations(modelAssociations)
    replyobj.status("Restoring camera...", blankAfter=0, secondary=True)
    restoreViewer(viewerInfo)
コード例 #10
0
ファイル: outlier.py プロジェクト: 0ut0fcontrol/Xq2EFT
def restoreCoreModels():
    from SimpleSession.versions.v65 import init, restoreViewer, \
         restoreMolecules, restoreColors, restoreSurfaces, \
         restoreVRML, restorePseudoBondGroups, restoreModelAssociations
    molInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwNOfYdVCWJhbGxTY2FsZXEDSwNHP9AAAAAAAAB9h1UJcG9pbnRTaXplcQRLA0c/8AAAAAAAAH2HVQVjb2xvcnEFSwNLAH1xBihLAV1xB0sBYUsCXXEISwJhdYdVCnJpYmJvblR5cGVxCUsDSwB9h1UKc3RpY2tTY2FsZXEKSwNHP/AAAAAAAAB9h1UMbW1DSUZIZWFkZXJzcQtdcQwoTk5OZVUMYXJvbWF0aWNNb2RlcQ1LA0sBfYdVCnZkd0RlbnNpdHlxDksDR0AUAAAAAAAAfYdVBmhpZGRlbnEPSwOJfYdVDWFyb21hdGljQ29sb3JxEEsDTn2HVQ9yaWJib25TbW9vdGhpbmdxEUsDSwB9h1UJYXV0b2NoYWlucRJLA4h9h1UKcGRiVmVyc2lvbnETSwNLAn2HVQhvcHRpb25hbHEUfXEVVQhvcGVuZWRBc3EWiIlLAyhVEG91dGxpZXIuMDAzMS5wZGJxF05OSwF0cRh9cRkoKFUQb3V0bGllci4wNTkyLnBkYnEaTk5LAXRxG11xHEsBYShVEG91dGxpZXIuMTM0Mi5wZGJxHU5OSwF0cR5dcR9LAmF1h4dzVQ9sb3dlckNhc2VDaGFpbnNxIEsDiX2HVQlsaW5lV2lkdGhxIUsDRz/wAAAAAAAAfYdVD3Jlc2lkdWVMYWJlbFBvc3EiSwNLAH2HVQRuYW1lcSNLA1gQAAAAb3V0bGllci4xMzQyLnBkYn1xJChYEAAAAG91dGxpZXIuMDU5Mi5wZGJdcSVLAWFYEAAAAG91dGxpZXIuMDAzMS5wZGJdcSZLAGF1h1UPYXJvbWF0aWNEaXNwbGF5cSdLA4l9h1UPcmliYm9uU3RpZmZuZXNzcShLA0c/6ZmZmZmZmn2HVQpwZGJIZWFkZXJzcSldcSoofXErWAUAAABUSVRMRV1xLFg7AAAAVElUTEUgICAgIFRISVMgUERCIEZJTEUgSVMgR0VORVJBVEVEIEJZICJtb2wybW9sIiAtLWxmemhhby5xLWFzfXEuWAUAAABUSVRMRV1xL1g7AAAAVElUTEUgICAgIFRISVMgUERCIEZJTEUgSVMgR0VORVJBVEVEIEJZICJtb2wybW9sIiAtLWxmemhhby5xMGFzfXExWAUAAABUSVRMRV1xMlg7AAAAVElUTEUgICAgIFRISVMgUERCIEZJTEUgSVMgR0VORVJBVEVEIEJZICJtb2wybW9sIiAtLWxmemhhby5xM2FzZVUDaWRzcTRLA0sCSwCGfXE1KEsBSwCGXXE2SwFhSwBLAIZdcTdLAGF1h1UOc3VyZmFjZU9wYWNpdHlxOEsDR7/wAAAAAAAAfYdVEGFyb21hdGljTGluZVR5cGVxOUsDSwJ9h1UUcmliYm9uSGlkZXNNYWluY2hhaW5xOksDiH2HVQdkaXNwbGF5cTtLA4h9h3Uu'
        ))
    resInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQZpbnNlcnRxAksDVQEgfYdVC2ZpbGxEaXNwbGF5cQNLA4l9h1UEbmFtZXEESwNYAwAAAExJR32HVQVjaGFpbnEFSwNYAQAAAEF9h1UOcmliYm9uRHJhd01vZGVxBksDSwJ9h1UCc3NxB0sDiYmGfYdVCG1vbGVjdWxlcQhLA0sAfXEJKEsBTl1xCksBSwGGcQthhksCTl1xDEsCSwGGcQ1hhnWHVQtyaWJib25Db2xvcnEOSwNLA32HVQVsYWJlbHEPSwNYAAAAAH2HVQpsYWJlbENvbG9ycRBLA0sDfYdVCGZpbGxNb2RlcRFLA0sBfYdVBWlzSGV0cRJLA4l9h1ULbGFiZWxPZmZzZXRxE0sDTn2HVQhwb3NpdGlvbnEUXXEVKEsBSwGGcRZLAUsBhnEXSwFLAYZxGGVVDXJpYmJvbkRpc3BsYXlxGUsDiX2HVQhvcHRpb25hbHEafVUEc3NJZHEbSwNK/////32HdS4='
        ))
    atomInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQdyZXNpZHVlcQJLEksDfXEDKEsETl1xBEsGSwaGcQVhhksFTl1xBksMSwaGcQdhhnWHVQh2ZHdDb2xvcnEISxJOfYdVBG5hbWVxCUsSWAEAAABIfXEKWAEAAABPXXELKEsASwNLBksJSwxLD2Vzh1UDdmR3cQxLEol9h1UOc3VyZmFjZURpc3BsYXlxDUsSiX2HVQVjb2xvcnEOSxJLA31xDyhLBF1xEChLA0sGSw9lSwVdcREoSwRLBUsHSwhLEEsRZXWHVQlpZGF0bVR5cGVxEksSiX2HVQZhbHRMb2NxE0sSVQB9h1UFbGFiZWxxFEsSWAAAAAB9h1UOc3VyZmFjZU9wYWNpdHlxFUsSR7/wAAAAAAAAfYdVB2VsZW1lbnRxFksSSwF9cRdLCF1xGChLAEsDSwZLCUsMSw9lc4dVCmxhYmVsQ29sb3JxGUsSSwN9cRpOXXEbKEsDSwRLBUsGSwdLCEsPSxBLEWVzh1UMc3VyZmFjZUNvbG9ycRxLEksDfXEdTl1xHihLA0sESwVLBksHSwhLD0sQSxFlc4dVD3N1cmZhY2VDYXRlZ29yeXEfSxJYBAAAAG1haW59h1UGcmFkaXVzcSBLEkc/8AAAAAAAAH1xIUc/+AAAAAAAAF1xIihLAEsDSwZLCUsMSw9lc4dVCmNvb3JkSW5kZXhxI11xJChLAEsGhnElSwBLBoZxJksASwaGcSdlVQtsYWJlbE9mZnNldHEoSxJOfYdVEm1pbmltdW1MYWJlbFJhZGl1c3EpSxJHAAAAAAAAAAB9h1UIZHJhd01vZGVxKksSSwJ9h1UIb3B0aW9uYWxxK31xLChVDHNlcmlhbE51bWJlcnEtiIhdcS4oSwFLBoZxL0sBSwaGcTBLAUsGhnExZYdVB2JmYWN0b3JxMoiJSxJHAAAAAAAAAAB9h4dVCW9jY3VwYW5jeXEziIlLEkc/8AAAAAAAAH2Hh3VVB2Rpc3BsYXlxNEsSiH2HdS4='
        ))
    bondInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQVjb2xvcnECSwxLA31xA05dcQQoSwJLA0sESwVLCksLZXOHVQVhdG9tc3EFXXEGKF1xByhLBksHZV1xCChLBksIZV1xCShLCUsKZV1xCihLCUsLZV1xCyhLDEsNZV1xDChLDEsOZV1xDShLD0sQZV1xDihLD0sRZV1xDyhLEksTZV1xEChLEksUZV1xEShLFUsWZV1xEihLFUsXZWVVBWxhYmVscRNLDFgAAAAAfYdVCGhhbGZib25kcRRLDIh9h1UGcmFkaXVzcRVLDEc/yZmZoAAAAH2HVQtsYWJlbE9mZnNldHEWSwxOfYdVCGRyYXdNb2RlcRdLDEsBfYdVCG9wdGlvbmFscRh9VQdkaXNwbGF5cRlLDEsCfYd1Lg=='
        ))
    crdInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoSwB9cQIoSwBdcQMoRz/0j1wo9cKPR7/xZFocrAgxR8ADwIMSbpeNh3EERz/mbpeNT987R7/aLQ5WBBiTR8AA87ZFocrBh3EFRz/8NT987ZFoR7/k/fO2RaHLR8AJdLxqfvnbh3EGR0AHj1wo9cKPRz/cWhysCDEnR8ANyLQ5WBBih3EHR0ADJul41P30Rz/rItDlYEGJR8ARlocrAgxKh3EIR0ADl41P3ztkR7/U3S8an753R8ALcKPXCj1xh3EJZVUGYWN0aXZlcQpLAHVLAX1xCyhLAF1xDChHv8Q5WBBiTdNHP7fO2RaHKwJHP+141P3ztkaHcQ1Hv4BiTdLxqfxHP+1P3ztkWh1HP/ZJul41P32HcQ5Hv8xqfvnbItFHv+Jul41P3ztHP/m6XjU/fO6HcQ9HP8OVgQYk3S9HP/ZBiTdLxqhHQAayLQ5WBBmHcRBHv9KfvnbItDlHP/crAgxJul5HP//KwIMSbpiHcRFHP/A5WBBiTdNHP/AxJul41P5HQAUcrAgxJumHcRJlaApLAHVLAn1xEyhLAF1xFChHP/DlYEGJN0xHQBAi0OVgQYlHQBnfO2RaHKyHcRVHP/g9cKPXCj1HQBN3ztkWhytHQBlYEGJN0vKHcRZHP/rQ5WBBiTdHQArlYEGJN0xHQBiyLQ5WBBmHcRdHP/9YEGJN0vJHP/qTdLxqfvpHQBmhysCDEm+HcRhHQAAGJN0vGqBHQAPztkWhysFHQBuJN0vGp/CHcRlHQANgQYk3S8dHP/CDEm6XjVBHQBveNT987ZGHcRplaApLAHV1Lg=='
        ))
    surfInfo = {
        'category': (0, None, {}),
        'probeRadius': (0, None, {}),
        'pointSize': (0, None, {}),
        'name': [],
        'density': (0, None, {}),
        'colorMode': (0, None, {}),
        'useLighting': (0, None, {}),
        'transparencyBlendMode': (0, None, {}),
        'molecule': [],
        'smoothLines': (0, None, {}),
        'lineWidth': (0, None, {}),
        'allComponents': (0, None, {}),
        'twoSidedLighting': (0, None, {}),
        'customVisibility': [],
        'drawMode': (0, None, {}),
        'display': (0, None, {}),
        'customColors': []
    }
    vrmlInfo = {
        'subid': (0, None, {}),
        'display': (0, None, {}),
        'id': (0, None, {}),
        'vrmlString': [],
        'name': (0, None, {})
    }
    colors = {
        'Ru': ((0.141176, 0.560784, 0.560784), 1, u'default'),
        'Re': ((0.14902, 0.490196, 0.670588), 1, u'default'),
        'Rf': ((0.8, 0, 0.34902), 1, u'default'),
        'Ra': ((0, 0.490196, 0), 1, u'default'),
        'Rb': ((0.439216, 0.180392, 0.690196), 1, u'default'),
        'Rn': ((0.258824, 0.509804, 0.588235), 1, u'default'),
        'Rh': ((0.0392157, 0.490196, 0.54902), 1, u'default'),
        'Be': ((0.760784, 1, 0), 1, u'default'),
        'Ba': ((0, 0.788235, 0), 1, u'default'),
        'Bh': ((0.878431, 0, 0.219608), 1, u'default'),
        'Bi': ((0.619608, 0.309804, 0.709804), 1, u'default'),
        'Bk': ((0.541176, 0.309804, 0.890196), 1, u'default'),
        'Br': ((0.65098, 0.160784, 0.160784), 1, u'default'),
        'H': ((1, 1, 1), 1, u'default'),
        'P': ((1, 0.501961, 0), 1, u'default'),
        'Os': ((0.14902, 0.4, 0.588235), 1, u'default'),
        'Ge': ((0.4, 0.560784, 0.560784), 1, u'default'),
        'Gd': ((0.270588, 1, 0.780392), 1, u'default'),
        'Ga': ((0.760784, 0.560784, 0.560784), 1, u'default'),
        'Pr': ((0.85098, 1, 0.780392), 1, u'default'),
        'Pt': ((0.815686, 0.815686, 0.878431), 1, u'default'),
        'Pu': ((0, 0.419608, 1), 1, u'default'),
        'C': ((0.564706, 0.564706, 0.564706), 1, u'default'),
        'Pb': ((0.341176, 0.34902, 0.380392), 1, u'default'),
        'Pa': ((0, 0.631373, 1), 1, u'default'),
        'Pd': ((0, 0.411765, 0.521569), 1, u'default'),
        'Cd': ((1, 0.85098, 0.560784), 1, u'default'),
        'Po': ((0.670588, 0.360784, 0), 1, u'default'),
        'Pm': ((0.639216, 1, 0.780392), 1, u'default'),
        'Hs': ((0.901961, 0, 0.180392), 1, u'default'),
        'Ho': ((0, 1, 0.611765), 1, u'default'),
        'Hf': ((0.301961, 0.760784, 1), 1, u'default'),
        'Hg': ((0.721569, 0.721569, 0.815686), 1, u'default'),
        'He': ((0.85098, 1, 1), 1, u'default'),
        'Md': ((0.701961, 0.0509804, 0.65098), 1, u'default'),
        'Mg': ((0.541176, 1, 0), 1, u'default'),
        'K': ((0.560784, 0.25098, 0.831373), 1, u'default'),
        'Mn': ((0.611765, 0.478431, 0.780392), 1, u'default'),
        'O': ((1, 0.0509804, 0.0509804), 1, u'default'),
        'Mt': ((0.921569, 0, 0.14902), 1, u'default'),
        'S': ((1, 1, 0.188235), 1, u'default'),
        'W': ((0.129412, 0.580392, 0.839216), 1, u'default'),
        'sky blue': ((0.529412, 0.807843, 0.921569), 1, u'default'),
        'cornflower blue': ((0.392157, 0.584314, 0.929412), 1, u'default'),
        'plum': ((0.866667, 0.627451, 0.866667), 1, u'default'),
        'Eu': ((0.380392, 1, 0.780392), 1, u'default'),
        'Zr': ((0.580392, 0.878431, 0.878431), 1, u'default'),
        'Er': ((0, 0.901961, 0.458824), 1, u'default'),
        'Ni': ((0.313725, 0.815686, 0.313725), 1, u'default'),
        'No': ((0.741176, 0.0509804, 0.529412), 1, u'default'),
        'Na': ((0.670588, 0.360784, 0.94902), 1, u'default'),
        'Nb': ((0.45098, 0.760784, 0.788235), 1, u'default'),
        'Nd': ((0.780392, 1, 0.780392), 1, u'default'),
        'Ne': ((0.701961, 0.890196, 0.960784), 1, u'default'),
        'Np': ((0, 0.501961, 1), 1, u'default'),
        'Fr': ((0.258824, 0, 0.4), 1, u'default'),
        'Fe': ((0.878431, 0.4, 0.2), 1, u'default'),
        'Fm': ((0.701961, 0.121569, 0.729412), 1, u'default'),
        'B': ((1, 0.709804, 0.709804), 1, u'default'),
        'F': ((0.564706, 0.878431, 0.313725), 1, u'default'),
        'Sr': ((0, 1, 0), 1, u'default'),
        'Zn': ((0.490196, 0.501961, 0.690196), 1, u'default'),
        'N': ((0.188235, 0.313725, 0.972549), 1, u'default'),
        'Kr': ((0.360784, 0.721569, 0.819608), 1, u'default'),
        'Si': ((0.941176, 0.784314, 0.627451), 1, u'default'),
        'Sn': ((0.4, 0.501961, 0.501961), 1, u'default'),
        'Sm': ((0.560784, 1, 0.780392), 1, u'default'),
        'V': ((0.65098, 0.65098, 0.670588), 1, u'default'),
        'Sc': ((0.901961, 0.901961, 0.901961), 1, u'default'),
        'Sb': ((0.619608, 0.388235, 0.709804), 1, u'default'),
        'Sg': ((0.85098, 0, 0.270588), 1, u'default'),
        'Se': ((1, 0.631373, 0), 1, u'default'),
        'Co': ((0.941176, 0.564706, 0.627451), 1, u'default'),
        'Cm': ((0.470588, 0.360784, 0.890196), 1, u'default'),
        'Cl': ((0.121569, 0.941176, 0.121569), 1, u'default'),
        'Ca': ((0.239216, 1, 0), 1, u'default'),
        'Cf': ((0.631373, 0.211765, 0.831373), 1, u'default'),
        'Ce': ((1, 1, 0.780392), 1, u'default'),
        'Xe': ((0.258824, 0.619608, 0.690196), 1, u'default'),
        'Tm': ((0, 0.831373, 0.321569), 1, u'default'),
        'Cs': ((0.341176, 0.0901961, 0.560784), 1, u'default'),
        'Cr': ((0.541176, 0.6, 0.780392), 1, u'default'),
        'Cu': ((0.784314, 0.501961, 0.2), 1, u'default'),
        'La': ((0.439216, 0.831373, 1), 1, u'default'),
        'Li': ((0.8, 0.501961, 1), 1, u'default'),
        'Tl': ((0.65098, 0.329412, 0.301961), 1, u'default'),
        'Lu': ((0, 0.670588, 0.141176), 1, u'default'),
        'Lr': ((0.780392, 0, 0.4), 1, u'default'),
        'Th': ((0, 0.729412, 1), 1, u'default'),
        'Ti': ((0.74902, 0.760784, 0.780392), 1, u'default'),
        'tan': ((0.823529, 0.705882, 0.54902), 1, u'default'),
        'Te': ((0.831373, 0.478431, 0), 1, u'default'),
        'Tb': ((0.188235, 1, 0.780392), 1, u'default'),
        'Tc': ((0.231373, 0.619608, 0.619608), 1, u'default'),
        'Ta': ((0.301961, 0.65098, 1), 1, u'default'),
        'Yb': ((0, 0.74902, 0.219608), 1, u'default'),
        'Db': ((0.819608, 0, 0.309804), 1, u'default'),
        'Dy': ((0.121569, 1, 0.780392), 1, u'default'),
        'At': ((0.458824, 0.309804, 0.270588), 1, u'default'),
        'I': ((0.580392, 0, 0.580392), 1, u'default'),
        'U': ((0, 0.560784, 1), 1, u'default'),
        'Y': ((0.580392, 1, 1), 1, u'default'),
        'Ac': ((0.439216, 0.670588, 0.980392), 1, u'default'),
        'Ag': ((0.752941, 0.752941, 0.752941), 1, u'default'),
        'Ir': ((0.0901961, 0.329412, 0.529412), 1, u'default'),
        'Am': ((0.329412, 0.360784, 0.94902), 1, u'default'),
        'Al': ((0.74902, 0.65098, 0.65098), 1, u'default'),
        'As': ((0.741176, 0.501961, 0.890196), 1, u'default'),
        'Ar': ((0.501961, 0.819608, 0.890196), 1, u'default'),
        'Au': ((1, 0.819608, 0.137255), 1, u'default'),
        'Es': ((0.701961, 0.121569, 0.831373), 1, u'default'),
        'In': ((0.65098, 0.458824, 0.45098), 1, u'default'),
        'Mo': ((0.329412, 0.709804, 0.709804), 1, u'default')
    }
    materials = {u'default': ((0.85, 0.85, 0.85), 30)}
    pbInfo = {
        'category': [u'distance monitor'],
        'bondInfo': [{
            'color': (5, None, {}),
            'atoms': [[16, 13], [16, 11], [22, 20], [18, 6], [12, 18]],
            'label': (5, u'2.335\xc5', {
                u'0.846\xc5': [0],
                u'0.797\xc5': [1],
                u'0.000\xc5': [3],
                u'1.168\xc5': [2]
            }),
            'halfbond': (5, False, {}),
            'labelColor': (5, None, {}),
            'labelOffset': (5, chimera.Vector(-1e+99, 0.0, 0.0), {
                chimera.Vector(-1e+99, 0.0, 0.0): [3],
                chimera.Vector(-1e+99, 0.0, 0.0): [1],
                chimera.Vector(-1e+99, 0.0, 0.0): [0],
                chimera.Vector(-1e+99, 0.0, 0.0): [4]
            }),
            'drawMode': (5, 0, {}),
            'display': (5, 2, {})
        }],
        'lineType': (1, 2, {}),
        'color': (1, 6, {}),
        'optional': {
            'fixedLabels': (True, False, (1, False, {}))
        },
        'display': (1, True, {}),
        'showStubBonds': (1, False, {}),
        'lineWidth': (1, 1, {}),
        'stickScale': (1, 1, {}),
        'id': [-2]
    }
    modelAssociations = {}
    colorInfo = (8, (u'H', (1, 1, 1, 1)), {
        (u'green', (0, 1, 0, 1)): [7],
        (u'O', (1, 0.0509804, 0.0509804, 1)): [4],
        (u'sky blue', (0.529412, 0.807843, 0.921569, 1)): [1],
        (u'tan', (0.823529, 0.705882, 0.54902, 1)): [0],
        (u'plum', (0.866667, 0.627451, 0.866667, 1)): [2],
        (u'gray', (0.745, 0.745, 0.745, 1)): [3],
        (u'yellow', (1, 1, 0, 1)): [6]
    })
    viewerInfo = {
        'cameraAttrs': {
            'center': (-1.3921506511017, 0.021210263279751, 3.5953628871827),
            'fieldOfView': 18.537294142553,
            'nearFar': (7.8705550310897, -0.071197851695135),
            'ortho': False,
            'eyeSeparation': 50.8,
            'focal': -3.183
        },
        'viewerAttrs': {
            'silhouetteColor':
            None,
            'clipping':
            False,
            'showSilhouette':
            False,
            'showShadows':
            False,
            'viewSize':
            5.5016586772818,
            'labelsOnTop':
            True,
            'depthCueRange': (0.5, 1),
            'silhouetteWidth':
            2,
            'singleLayerTransparency':
            True,
            'shadowTextureSize':
            2048,
            'backgroundImage': [None, 1, 2, 1, 0, 0],
            'backgroundGradient': [('Chimera default', [(1, 1, 1, 1),
                                                        (0, 0, 1, 1)], 1), 1,
                                   0, 0],
            'depthCue':
            True,
            'highlight':
            0,
            'scaleFactor':
            1.5264412841657,
            'angleDependentTransparency':
            True,
            'backgroundMethod':
            0
        },
        'viewerHL': 7,
        'cameraMode': 'mono',
        'detail': 1.5,
        'viewerFog': None,
        'viewerBG': None
    }

    replyobj.status("Initializing session restore...",
                    blankAfter=0,
                    secondary=True)
    from SimpleSession.versions.v65 import expandSummary
    init(dict(enumerate(expandSummary(colorInfo))))
    replyobj.status("Restoring colors...", blankAfter=0, secondary=True)
    restoreColors(colors, materials)
    replyobj.status("Restoring molecules...", blankAfter=0, secondary=True)
    restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
    replyobj.status("Restoring surfaces...", blankAfter=0, secondary=True)
    restoreSurfaces(surfInfo)
    replyobj.status("Restoring VRML models...", blankAfter=0, secondary=True)
    restoreVRML(vrmlInfo)
    replyobj.status("Restoring pseudobond groups...",
                    blankAfter=0,
                    secondary=True)
    restorePseudoBondGroups(pbInfo)
    replyobj.status("Restoring model associations...",
                    blankAfter=0,
                    secondary=True)
    restoreModelAssociations(modelAssociations)
    replyobj.status("Restoring camera...", blankAfter=0, secondary=True)
    restoreViewer(viewerInfo)
def restoreCoreModels():
    from SimpleSession.versions.v65 import init, restoreViewer, \
         restoreMolecules, restoreColors, restoreSurfaces, \
         restoreVRML, restorePseudoBondGroups, restoreModelAssociations
    molInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwJOfYdVCWJhbGxTY2FsZXEDSwJHP9AAAAAAAAB9h1UJcG9pbnRTaXplcQRLAkc/8AAAAAAAAH2HVQVjb2xvcnEFSwJLAH1xBksBXXEHSwFhc4dVCnJpYmJvblR5cGVxCEsCSwB9h1UKc3RpY2tTY2FsZXEJSwJHP/AAAAAAAAB9h1UMbW1DSUZIZWFkZXJzcQpdcQsoTk5lVQxhcm9tYXRpY01vZGVxDEsCSwF9h1UKdmR3RGVuc2l0eXENSwJHQBQAAAAAAAB9h1UGaGlkZGVucQ5LAol9h1UNYXJvbWF0aWNDb2xvcnEPSwJOfYdVD3JpYmJvblNtb290aGluZ3EQSwJLAH2HVQlhdXRvY2hhaW5xEUsCiH2HVQpwZGJWZXJzaW9ucRJLAksAfYdVCG9wdGlvbmFscRN9VQ9sb3dlckNhc2VDaGFpbnNxFEsCiX2HVQlsaW5lV2lkdGhxFUsCRz/wAAAAAAAAfYdVD3Jlc2lkdWVMYWJlbFBvc3EWSwJLAH2HVQRuYW1lcRdLAlgPAAAAYWxwaGFfZ2FmZi5yc3Q3fXEYWB0AAABhbHBoYV9zbWlybm9mZl9taW5pbWl6ZWQucnN0N11xGUsBYXOHVQ9hcm9tYXRpY0Rpc3BsYXlxGksCiX2HVQ9yaWJib25TdGlmZm5lc3NxG0sCRz/pmZmZmZmafYdVCnBkYkhlYWRlcnNxHF1xHSh9cR59cR9lVQNpZHNxIEsCSwFLAIZ9cSFLAEsAhl1xIksAYXOHVQ5zdXJmYWNlT3BhY2l0eXEjSwJHv/AAAAAAAAB9h1UQYXJvbWF0aWNMaW5lVHlwZXEkSwJLAn2HVRRyaWJib25IaWRlc01haW5jaGFpbnElSwKIfYdVB2Rpc3BsYXlxJksCiH2HdS4='
        ))
    resInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQZpbnNlcnRxAksMVQEgfYdVC2ZpbGxEaXNwbGF5cQNLDIl9h1UEbmFtZXEESwxYAwAAAE1HT32HVQVjaGFpbnEFSwxYAQAAAEF9h1UOcmliYm9uRHJhd01vZGVxBksMSwJ9h1UCc3NxB0sMiYmGfYdVCG1vbGVjdWxlcQhLDEsAfXEJSwFOXXEKSwZLBoZxC2GGc4dVC3JpYmJvbkNvbG9ycQxLDEsCfXENSwNOXXEOSwZLBoZxD2GGc4dVBWxhYmVscRBLDFgAAAAAfYdVCmxhYmVsQ29sb3JxEUsMSwJ9cRJLA05dcRNLBksGhnEUYYZzh1UIZmlsbE1vZGVxFUsMSwF9h1UFaXNIZXRxFksMiX2HVQtsYWJlbE9mZnNldHEXSwxOfYdVCHBvc2l0aW9ucRhdcRkoSwFLBoZxGksBSwaGcRtlVQ1yaWJib25EaXNwbGF5cRxLDIl9h1UIb3B0aW9uYWxxHX1VBHNzSWRxHksMSv////99h3Uu'
        ))
    atomInfo = cPickle.loads(
        base64.b64decode(
            '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'
        ))
    bondInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQVjb2xvcnECTQgBTn2HVQVhdG9tc3EDXXEEKF1xBShLHkshZV1xBihLG0sdZV1xByhLG0seZV1xCChLGUsbZV1xCShLGUt5ZV1xCihLFUsXZV1xCyhLFUsZZV1xDChLEUsTZV1xDShLEUsVZV1xDihLEEsuZV1xDyhLDksQZV1xEChLDksRZV1xEShLDksdZV1xEihLM0s2ZV1xEyhLMEsyZV1xFChLMEszZV1xFShLLkswZV1xFihLKkssZV1xFyhLKksuZV1xGChLJksoZV1xGShLJksqZV1xGihLJUtDZV1xGyhLI0slZV1xHChLI0smZV1xHShLI0syZV1xHihLSEtLZV1xHyhLRUtHZV1xIChLRUtIZV1xIShLQ0tFZV1xIihLP0tBZV1xIyhLP0tDZV1xJChLO0s9ZV1xJShLO0s/ZV1xJihLOktYZV1xJyhLOEs6ZV1xKChLOEs7ZV1xKShLOEtHZV1xKihLXUtgZV1xKyhLWktcZV1xLChLWktdZV1xLShLWEtaZV1xLihLVEtWZV1xLyhLVEtYZV1xMChLUEtSZV1xMShLUEtUZV1xMihLT0ttZV1xMyhLTUtPZV1xNChLTUtQZV1xNShLTUtcZV1xNihLckt1ZV1xNyhLb0txZV1xOChLb0tyZV1xOShLbUtvZV1xOihLaUtrZV1xOyhLaUttZV1xPChLZUtnZV1xPShLZUtpZV1xPihLZEuCZV1xPyhLYktkZV1xQChLYktlZV1xQShLYktxZV1xQihLh0uKZV1xQyhLhEuGZV1xRChLhEuHZV1xRShLgkuEZV1xRihLfkuAZV1xRyhLfkuCZV1xSChLekt8ZV1xSShLekt+ZV1xSihLd0t5ZV1xSyhLd0t6ZV1xTChLd0uGZV1xTShLIUsiZV1xTihLHksfZV1xTyhLHksgZV1xUChLG0scZV1xUShLGUsaZV1xUihLF0sYZV1xUyhLFUsWZV1xVChLE0sUZV1xVShLEUsSZV1xVihLDksPZV1xVyhLNks3ZV1xWChLM0s0ZV1xWShLM0s1ZV1xWihLMEsxZV1xWyhLLksvZV1xXChLLEstZV1xXShLKksrZV1xXihLKEspZV1xXyhLJksnZV1xYChLI0skZV1xYShLS0tMZV1xYihLSEtJZV1xYyhLSEtKZV1xZChLRUtGZV1xZShLQ0tEZV1xZihLQUtCZV1xZyhLP0tAZV1xaChLPUs+ZV1xaShLO0s8ZV1xaihLOEs5ZV1xayhLYEthZV1xbChLXUteZV1xbShLXUtfZV1xbihLWktbZV1xbyhLWEtZZV1xcChLVktXZV1xcShLVEtVZV1xcihLUktTZV1xcyhLUEtRZV1xdChLTUtOZV1xdShLdUt2ZV1xdihLcktzZV1xdyhLckt0ZV1xeChLb0twZV1xeShLbUtuZV1xeihLa0tsZV1xeyhLaUtqZV1xfChLZ0toZV1xfShLZUtmZV1xfihLYktjZV1xfyhLikuLZV1xgChLh0uIZV1xgShLh0uJZV1xgihLhEuFZV1xgyhLgkuDZV1xhChLgEuBZV1xhShLfkt/ZV1xhihLfEt9ZV1xhyhLekt7ZV1xiChLd0t4ZV1xiShLjEuOZV1xiihLjEuPZV1xiyhLjEubZV1xjChLjkusZV1xjShLj0uRZV1xjihLj0uTZV1xjyhLk0uVZV1xkChLk0uXZV1xkShLl0uZZV1xkihLl0v3ZV1xkyhLmUubZV1xlChLmUucZV1xlShLnEufZV1xlihLoUujZV1xlyhLoUukZV1xmChLoUuwZV1xmShLo0vBZV1xmihLpEumZV1xmyhLpEuoZV1xnChLqEuqZV1xnShLqEusZV1xnihLrEuuZV1xnyhLrkuwZV1xoChLrkuxZV1xoShLsUu0ZV1xoihLtku4ZV1xoyhLtku5ZV1xpChLtkvFZV1xpShLuEvWZV1xpihLuUu7ZV1xpyhLuUu9ZV1xqChLvUu/ZV1xqShLvUvBZV1xqihLwUvDZV1xqyhLw0vFZV1xrChLw0vGZV1xrShLxkvJZV1xrihLy0vNZV1xryhLy0vOZV1xsChLy0vaZV1xsShLzUvrZV1xsihLzkvQZV1xsyhLzkvSZV1xtChL0kvUZV1xtShL0kvWZV1xtihL1kvYZV1xtyhL2EvaZV1xuChL2EvbZV1xuShL20veZV1xuihL4EviZV1xuyhL4EvjZV1xvChL4EvvZV1xvShL4k0AAWVdcb4oS+NL5WVdcb8oS+NL52VdccAoS+dL6WVdccEoS+dL62VdccIoS+tL7WVdccMoS+1L72VdccQoS+1L8GVdccUoS/BL82VdccYoS/VL92VdcccoS/VL+GVdccgoS/VNBAFlXXHJKEv4S/plXXHKKEv4S/xlXXHLKEv8S/5lXXHMKEv8TQABZV1xzShNAAFNAgFlXXHOKE0CAU0EAWVdcc8oTQIBTQUBZV1x0ChNBQFNCAFlXXHRKEuMS41lXXHSKEuPS5BlXXHTKEuRS5JlXXHUKEuTS5RlXXHVKEuVS5ZlXXHWKEuXS5hlXXHXKEuZS5plXXHYKEucS51lXXHZKEucS55lXXHaKEufS6BlXXHbKEuhS6JlXXHcKEukS6VlXXHdKEumS6dlXXHeKEuoS6llXXHfKEuqS6tlXXHgKEusS61lXXHhKEuuS69lXXHiKEuxS7JlXXHjKEuxS7NlXXHkKEu0S7VlXXHlKEu2S7dlXXHmKEu5S7plXXHnKEu7S7xlXXHoKEu9S75lXXHpKEu/S8BlXXHqKEvBS8JlXXHrKEvDS8RlXXHsKEvGS8dlXXHtKEvGS8hlXXHuKEvJS8plXXHvKEvLS8xlXXHwKEvOS89lXXHxKEvQS9FlXXHyKEvSS9NlXXHzKEvUS9VlXXH0KEvWS9dlXXH1KEvYS9llXXH2KEvbS9xlXXH3KEvbS91lXXH4KEveS99lXXH5KEvgS+FlXXH6KEvjS+RlXXH7KEvlS+ZlXXH8KEvnS+hlXXH9KEvpS+plXXH+KEvrS+xlXXH/KEvtS+5lXXIAAQAAKEvwS/FlXXIBAQAAKEvwS/JlXXICAQAAKEvzS/RlXXIDAQAAKEv1S/ZlXXIEAQAAKEv4S/llXXIFAQAAKEv6S/tlXXIGAQAAKEv8S/1lXXIHAQAAKEv+S/9lXXIIAQAAKE0AAU0BAWVdcgkBAAAoTQIBTQMBZV1yCgEAAChNBQFNBgFlXXILAQAAKE0FAU0HAWVdcgwBAAAoTQgBTQkBZWVVBWxhYmVscg0BAABNCAFYAAAAAH2HVQhoYWxmYm9uZHIOAQAATQgBiH2HVQZyYWRpdXNyDwEAAE0IAUc/yZmZoAAAAH2HVQtsYWJlbE9mZnNldHIQAQAATQgBTn2HVQhkcmF3TW9kZXIRAQAATQgBSwF9h1UIb3B0aW9uYWxyEgEAAH1VB2Rpc3BsYXlyEwEAAE0IAUsCfYd1Lg=='
        ))
    crdInfo = cPickle.loads(
        base64.b64decode(
            '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'
        ))
    surfInfo = {
        'category': (0, None, {}),
        'probeRadius': (0, None, {}),
        'pointSize': (0, None, {}),
        'name': [],
        'density': (0, None, {}),
        'colorMode': (0, None, {}),
        'useLighting': (0, None, {}),
        'transparencyBlendMode': (0, None, {}),
        'molecule': [],
        'smoothLines': (0, None, {}),
        'lineWidth': (0, None, {}),
        'allComponents': (0, None, {}),
        'twoSidedLighting': (0, None, {}),
        'customVisibility': [],
        'drawMode': (0, None, {}),
        'display': (0, None, {}),
        'customColors': []
    }
    vrmlInfo = {
        'subid': (0, None, {}),
        'display': (0, None, {}),
        'id': (0, None, {}),
        'vrmlString': [],
        'name': (0, None, {})
    }
    colors = {
        u'Ru': ((0.141176, 0.560784, 0.560784), 1, u'default'),
        u'Re': ((0.14902, 0.490196, 0.670588), 1, u'default'),
        u'Rf': ((0.8, 0, 0.34902), 1, u'default'),
        u'Ra': ((0, 0.490196, 0), 1, u'default'),
        u'Rb': ((0.439216, 0.180392, 0.690196), 1, u'default'),
        u'Rn': ((0.258824, 0.509804, 0.588235), 1, u'default'),
        u'Rh': ((0.0392157, 0.490196, 0.54902), 1, u'default'),
        u'Be': ((0.760784, 1, 0), 1, u'default'),
        u'Ba': ((0, 0.788235, 0), 1, u'default'),
        u'Bh': ((0.878431, 0, 0.219608), 1, u'default'),
        u'Bi': ((0.619608, 0.309804, 0.709804), 1, u'default'),
        u'Bk': ((0.541176, 0.309804, 0.890196), 1, u'default'),
        u'Br': ((0.65098, 0.160784, 0.160784), 1, u'default'),
        u'H': ((1, 1, 1), 1, u'default'),
        u'P': ((1, 0.501961, 0), 1, u'default'),
        u'Os': ((0.14902, 0.4, 0.588235), 1, u'default'),
        u'Ge': ((0.4, 0.560784, 0.560784), 1, u'default'),
        u'Gd': ((0.270588, 1, 0.780392), 1, u'default'),
        u'Ga': ((0.760784, 0.560784, 0.560784), 1, u'default'),
        u'Pr': ((0.85098, 1, 0.780392), 1, u'default'),
        u'Pt': ((0.815686, 0.815686, 0.878431), 1, u'default'),
        u'Pu': ((0, 0.419608, 1), 1, u'default'),
        u'C': ((0.564706, 0.564706, 0.564706), 1, u'default'),
        u'Pb': ((0.341176, 0.34902, 0.380392), 1, u'default'),
        u'Pa': ((0, 0.631373, 1), 1, u'default'),
        u'Pd': ((0, 0.411765, 0.521569), 1, u'default'),
        u'Cd': ((1, 0.85098, 0.560784), 1, u'default'),
        u'Po': ((0.670588, 0.360784, 0), 1, u'default'),
        u'Pm': ((0.639216, 1, 0.780392), 1, u'default'),
        u'Hs': ((0.901961, 0, 0.180392), 1, u'default'),
        u'Ho': ((0, 1, 0.611765), 1, u'default'),
        u'Hf': ((0.301961, 0.760784, 1), 1, u'default'),
        u'Hg': ((0.721569, 0.721569, 0.815686), 1, u'default'),
        u'He': ((0.85098, 1, 1), 1, u'default'),
        u'Md': ((0.701961, 0.0509804, 0.65098), 1, u'default'),
        u'Mg': ((0.541176, 1, 0), 1, u'default'),
        u'K': ((0.560784, 0.25098, 0.831373), 1, u'default'),
        u'Mn': ((0.611765, 0.478431, 0.780392), 1, u'default'),
        u'O': ((1, 0.0509804, 0.0509804), 1, u'default'),
        u'Zr': ((0.580392, 0.878431, 0.878431), 1, u'default'),
        u'S': ((1, 1, 0.188235), 1, u'default'),
        u'W': ((0.129412, 0.580392, 0.839216), 1, u'default'),
        u'Zn': ((0.490196, 0.501961, 0.690196), 1, u'default'),
        u'Mt': ((0.921569, 0, 0.14902), 1, u'default'),
        u'gaff': ((1, 0.498039, 0.054902), 1, u'default'),
        u'Eu': ((0.380392, 1, 0.780392), 1, u'default'),
        u'Es': ((0.701961, 0.121569, 0.831373), 1, u'default'),
        u'Er': ((0, 0.901961, 0.458824), 1, u'default'),
        u'Ni': ((0.313725, 0.815686, 0.313725), 1, u'default'),
        u'No': ((0.741176, 0.0509804, 0.529412), 1, u'default'),
        u'Na': ((0.670588, 0.360784, 0.94902), 1, u'default'),
        u'Nb': ((0.45098, 0.760784, 0.788235), 1, u'default'),
        u'Nd': ((0.780392, 1, 0.780392), 1, u'default'),
        u'Ne': ((0.701961, 0.890196, 0.960784), 1, u'default'),
        u'Np': ((0, 0.501961, 1), 1, u'default'),
        u'smirnoff': ((0.121569, 0.466667, 0.705882), 1, u'default'),
        u'Fr': ((0.258824, 0, 0.4), 1, u'default'),
        u'Fe': ((0.878431, 0.4, 0.2), 1, u'default'),
        u'Fm': ((0.701961, 0.121569, 0.729412), 1, u'default'),
        u'B': ((1, 0.709804, 0.709804), 1, u'default'),
        u'F': ((0.564706, 0.878431, 0.313725), 1, u'default'),
        u'Sr': ((0, 1, 0), 1, u'default'),
        u'N': ((0.188235, 0.313725, 0.972549), 1, u'default'),
        u'Kr': ((0.360784, 0.721569, 0.819608), 1, u'default'),
        u'Si': ((0.941176, 0.784314, 0.627451), 1, u'default'),
        u'Sn': ((0.4, 0.501961, 0.501961), 1, u'default'),
        u'Sm': ((0.560784, 1, 0.780392), 1, u'default'),
        u'V': ((0.65098, 0.65098, 0.670588), 1, u'default'),
        u'Sc': ((0.901961, 0.901961, 0.901961), 1, u'default'),
        u'Sb': ((0.619608, 0.388235, 0.709804), 1, u'default'),
        u'Sg': ((0.85098, 0, 0.270588), 1, u'default'),
        u'Se': ((1, 0.631373, 0), 1, u'default'),
        u'Co': ((0.941176, 0.564706, 0.627451), 1, u'default'),
        u'Cm': ((0.470588, 0.360784, 0.890196), 1, u'default'),
        u'Cl': ((0.121569, 0.941176, 0.121569), 1, u'default'),
        u'Ca': ((0.239216, 1, 0), 1, u'default'),
        u'Cf': ((0.631373, 0.211765, 0.831373), 1, u'default'),
        u'Ce': ((1, 1, 0.780392), 1, u'default'),
        u'Xe': ((0.258824, 0.619608, 0.690196), 1, u'default'),
        u'Lu': ((0, 0.670588, 0.141176), 1, u'default'),
        u'Cs': ((0.341176, 0.0901961, 0.560784), 1, u'default'),
        u'Cr': ((0.541176, 0.6, 0.780392), 1, u'default'),
        u'Cu': ((0.784314, 0.501961, 0.2), 1, u'default'),
        u'La': ((0.439216, 0.831373, 1), 1, u'default'),
        u'Li': ((0.8, 0.501961, 1), 1, u'default'),
        u'Tl': ((0.65098, 0.329412, 0.301961), 1, u'default'),
        u'Tm': ((0, 0.831373, 0.321569), 1, u'default'),
        u'Lr': ((0.780392, 0, 0.4), 1, u'default'),
        u'Th': ((0, 0.729412, 1), 1, u'default'),
        u'Ti': ((0.74902, 0.760784, 0.780392), 1, u'default'),
        u'tan': ((0.823529, 0.705882, 0.54902), 1, u'default'),
        u'Te': ((0.831373, 0.478431, 0), 1, u'default'),
        u'Tb': ((0.188235, 1, 0.780392), 1, u'default'),
        u'Tc': ((0.231373, 0.619608, 0.619608), 1, u'default'),
        u'Ta': ((0.301961, 0.65098, 1), 1, u'default'),
        u'Yb': ((0, 0.74902, 0.219608), 1, u'default'),
        u'Db': ((0.819608, 0, 0.309804), 1, u'default'),
        u'Dy': ((0.121569, 1, 0.780392), 1, u'default'),
        u'I': ((0.580392, 0, 0.580392), 1, u'default'),
        u'U': ((0, 0.560784, 1), 1, u'default'),
        u'Y': ((0.580392, 1, 1), 1, u'default'),
        u'Ac': ((0.439216, 0.670588, 0.980392), 1, u'default'),
        u'Ag': ((0.752941, 0.752941, 0.752941), 1, u'default'),
        u'Ir': ((0.0901961, 0.329412, 0.529412), 1, u'default'),
        u'Am': ((0.329412, 0.360784, 0.94902), 1, u'default'),
        u'Al': ((0.74902, 0.65098, 0.65098), 1, u'default'),
        u'As': ((0.741176, 0.501961, 0.890196), 1, u'default'),
        u'Ar': ((0.501961, 0.819608, 0.890196), 1, u'default'),
        u'Au': ((1, 0.819608, 0.137255), 1, u'default'),
        u'At': ((0.458824, 0.309804, 0.270588), 1, u'default'),
        u'In': ((0.65098, 0.458824, 0.45098), 1, u'default'),
        u'Mo': ((0.329412, 0.709804, 0.709804), 1, u'default')
    }
    materials = {u'default': ((0, 0, 0), 30)}
    pbInfo = {
        'category': [u'distance monitor'],
        'bondInfo': [{
            'color': (0, None, {}),
            'atoms': [],
            'label': (0, None, {}),
            'halfbond': (0, None, {}),
            'labelColor': (0, None, {}),
            'labelOffset': (0, None, {}),
            'drawMode': (0, None, {}),
            'display': (0, None, {})
        }],
        'lineType': (1, 2, {}),
        'color': (1, 4, {}),
        'optional': {
            'fixedLabels': (True, False, (1, 0, {}))
        },
        'display': (1, True, {}),
        'showStubBonds': (1, False, {}),
        'lineWidth': (1, 2, {}),
        'stickScale': (1, 1, {}),
        'id': [-2]
    }
    modelAssociations = {}
    colorInfo = (7, (u'smirnoff', (0.121569, 0.466667, 0.705882, 1)), {
        (u'', (0.106829, 0.702586, 0.652042, 1)): [0],
        (u'gaff', (1, 0.498039, 0.054902, 1)): [2],
        (u'', (1, 1, 1, 1)): [5],
        (u'', (0.872595, 0.686884, 0.111531, 1)): [1],
        (u'', (0, 0, 1, 1)): [4],
        (u'', (0.545455, 0, 1, 1)): [6]
    })
    viewerInfo = {
        'cameraAttrs': {
            'center':
            (-1.4556257433974e-15, -4.3422056074228e-15, 11.595297413516),
            'fieldOfView': 29.71298472849,
            'nearFar': (19.45220558605, 3.5627489307088),
            'ortho': True,
            'eyeSeparation': 50.8,
            'focal': 1.4395
        },
        'viewerAttrs': {
            'silhouetteColor':
            None,
            'clipping':
            True,
            'showSilhouette':
            True,
            'showShadows':
            False,
            'viewSize':
            747.59668037663,
            'labelsOnTop':
            True,
            'depthCueRange': (0.5, 1),
            'silhouetteWidth':
            2,
            'singleLayerTransparency':
            True,
            'shadowTextureSize':
            2048,
            'backgroundImage': [None, 1, 2, 1, 0, 0],
            'backgroundGradient': [('Chimera default', [(1, 1, 1, 1),
                                                        (0, 0, 1, 1)], 1), 1,
                                   0, 0],
            'depthCue':
            True,
            'highlight':
            0,
            'scaleFactor':
            116.66851090338,
            'angleDependentTransparency':
            True,
            'backgroundMethod':
            0
        },
        'viewerHL': 6,
        'cameraMode': 'mono',
        'detail': 1.5,
        'viewerFog': None,
        'viewerBG': 5
    }

    replyobj.status("Initializing session restore...",
                    blankAfter=0,
                    secondary=True)
    from SimpleSession.versions.v65 import expandSummary
    init(dict(enumerate(expandSummary(colorInfo))))
    replyobj.status("Restoring colors...", blankAfter=0, secondary=True)
    restoreColors(colors, materials)
    replyobj.status("Restoring molecules...", blankAfter=0, secondary=True)
    restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
    replyobj.status("Restoring surfaces...", blankAfter=0, secondary=True)
    restoreSurfaces(surfInfo)
    replyobj.status("Restoring VRML models...", blankAfter=0, secondary=True)
    restoreVRML(vrmlInfo)
    replyobj.status("Restoring pseudobond groups...",
                    blankAfter=0,
                    secondary=True)
    restorePseudoBondGroups(pbInfo)
    replyobj.status("Restoring model associations...",
                    blankAfter=0,
                    secondary=True)
    restoreModelAssociations(modelAssociations)
    replyobj.status("Restoring camera...", blankAfter=0, secondary=True)
    restoreViewer(viewerInfo)