Variables
Const AA3
AA3: string[] = Object.keys(AA1)
Const AcidicResname
AcidicResname: string[] = [ 'ASP', 'GLU' ]
Const AliphaticResname
AliphaticResname: string[] = [ 'ALA', 'GLY', 'ILE', 'LEU', 'VAL' ]
Const AlkaliMetals
AlkaliMetals: number[] = [ 3, 11, 19, 37, 55, 87 ]
Const AlkalineEarthMetals
AlkalineEarthMetals: number[] = [ 4, 12, 20, 38, 56, 88 ]
Const AmideResname
AmideResname: string[] = [ 'ASN', 'GLN' ]
Const AngleMode
AngleMode: 4 = 4
Const Angles
Angles
: Map<AtomGeometry, number> = new Map<AtomGeometry, number>([[ AtomGeometry.Linear, degToRad(180) ],[ AtomGeometry.Trigonal, degToRad(120) ],[ AtomGeometry.Tetrahedral, degToRad(109.4721) ],[ AtomGeometry.Octahedral, degToRad(90) ]])
Const AromaticResname
AromaticResname: string[] = [ 'PHE', 'TRP', 'TYR', 'HIS' ]
Const AromaticRingElements
Aromatic
RingElements: Elements[] = [Elements.B, Elements.C, Elements.N, Elements.O,Elements.SI, Elements.P, Elements.S,Elements.GE, Elements.AS,Elements.SN, Elements.SB,Elements.BI]
Const AromaticRingPlanarityThreshold
AromaticRingPlanarityThreshold: 0.05 = 0.05
Const ArrowBufferDefaultParameters
ArrowBufferDefaultParameters: { aspectRatio: number; disableImpostor: false; openEnded: false; radialSegments: number } & { background: boolean; clipCenter: Vector3; clipNear: number; clipRadius: number; depthWrite: boolean; diffuse: number; diffuseInterior: boolean; disablePicking: boolean; flatShaded: boolean; forceTransparent: boolean; interiorColor: number; interiorDarkening: number; matrix: Matrix4; metalness: number; opacity: number; opaqueBack: boolean; roughness: number; side: "double" | "front" | "back"; sortParticles: boolean; useInteriorColor: boolean; wireframe: boolean } = Object.assign({aspectRatio: 1.5,radialSegments: 50,openEnded: false,disableImpostor: false}, BufferDefaultParameters)
Const AtomFormat
AtomFormat: "ATOM %5d %-4s %3s %1s%4d %8.3f%8.3f%8.3f%6.2f%6.2f %4s%2s" = "ATOM %5d %-4s %3s %1s%4d %8.3f%8.3f%8.3f%6.2f%6.2f %4s%2s"
Const AtomLine
AtomLine: "%10.4f%10.4f%10.4f %-3s 0%3i 0 0 0" = "%10.4f%10.4f%10.4f %-3s 0%3i 0 0 0"
Const AtomMode
AtomMode: 2 = 2
Const AtomOnlyKeywords
Atom
OnlyKeywords: kwd[] = [kwd.BACKBONE, kwd.SIDECHAIN, kwd.BONDED, kwd.RING, kwd.AROMATICRING, kwd.METAL, kwd.POLARH]
Const Bases
Bases: string[] = RnaBases.concat(DnaBases)
Const BasicResname
BasicResname: string[] = [ 'ARG', 'HIS', 'LYS' ]
Const BondFormat
BondFormat: "%3i%3i%3i 0 0 0" = "%3i%3i%3i 0 0 0"
Const BondMode
BondMode: 3 = 3
Const Browser
Browser: false | "Opera" | "Chrome" | "Firefox" | "Mobile Safari" | "Internet Explorer" | "Safari" = getBrowser()
Const BufferRegistry
Buffer
Registry: Registry = new Registry('buffer')
Const CgDnaBackboneType
CgDnaBackboneType: 6 = 6
Const CgProteinBackboneType
CgProteinBackboneType: 4 = 4
Const CgRnaBackboneType
CgRnaBackboneType: 5 = 5
Const ChainKeywords
Chain
Keywords: kwd[] = [kwd.POLYMER, kwd.WATER]
Const ChainnameAlphabet
ChainnameAlphabet: "ABCDEFGHIJKLMNOPQRSTUVWXYZ" = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Const ChargedResname
ChargedResname: string[] = [ 'ARG', 'ASP', 'GLU', 'HIS', 'LYS' ]
Const ChemCompDna
ChemCompDna: string[] = ['DNA OH 3 PRIME TERMINUS', 'DNA OH 5 PRIME TERMINUS', 'DNA LINKING','L-DNA LINKING', 'L-RNA LINKING']
Const ChemCompHetero
ChemCompHetero: string[] = ChemCompNonPolymer.concat(ChemCompOther, ChemCompSaccharide)
Const ChemCompNonPolymer
ChemCompNonPolymer: string[] = ['NON-POLYMER']
Const ChemCompOther
ChemCompOther: string[] = ['OTHER']
Const ChemCompProtein
ChemCompProtein: string[] = ['D-BETA-PEPTIDE, C-GAMMA LINKING', 'D-GAMMA-PEPTIDE, C-DELTA LINKING','D-PEPTIDE COOH CARBOXY TERMINUS', 'D-PEPTIDE NH3 AMINO TERMINUS', 'D-PEPTIDE LINKING','L-BETA-PEPTIDE, C-GAMMA LINKING', 'L-GAMMA-PEPTIDE, C-DELTA LINKING','L-PEPTIDE COOH CARBOXY TERMINUS', 'L-PEPTIDE NH3 AMINO TERMINUS', 'L-PEPTIDE LINKING','PEPTIDE LINKING', 'PEPTIDE-LIKE']
Const ChemCompRna
ChemCompRna: string[] = ['RNA OH 3 PRIME TERMINUS', 'RNA OH 5 PRIME TERMINUS', 'RNA LINKING']
Const ChemCompSaccharide
ChemCompSaccharide: string[] = ['D-SACCHARIDE', 'D-SACCHARIDE 1,4 AND 1,4 LINKING', 'D-SACCHARIDE 1,4 AND 1,6 LINKING','L-SACCHARIDE', 'L-SACCHARIDE 1,4 AND 1,4 LINKING', 'L-SACCHARIDE 1,4 AND 1,6 LINKING','SACCHARIDE']
Const ComponentRegistry
Component
Registry: Registry = new Registry('component')
Const ConeBufferDefaultParameters
ConeBufferDefaultParameters: { openEnded: false; radialSegments: number } & { background: boolean; clipCenter: Vector3; clipNear: number; clipRadius: number; depthWrite: boolean; diffuse: number; diffuseInterior: boolean; disablePicking: boolean; flatShaded: boolean; forceTransparent: boolean; interiorColor: number; interiorDarkening: number; matrix: Matrix4; metalness: number; opacity: number; opaqueBack: boolean; roughness: number; side: "double" | "front" | "back"; sortParticles: boolean; useInteriorColor: boolean; wireframe: boolean } = Object.assign({radialSegments: 60,openEnded: false}, BufferDefaultParameters)
Const CountFormat
CountFormat: "%3i%3i 0 0 0 0 0 0 0 0999 V2000" = "%3i%3i 0 0 0 0 0 0 0 0999 V2000"
Const CyclicResname
CyclicResname: string[] = [ 'HIS', 'PHE', 'PRO', 'TRP', 'TYR' ]
Const CylinderBufferDefaultParameters
CylinderBufferDefaultParameters: { disableImpostor: false } & { openEnded: true; radialSegments: number } & { background: boolean; clipCenter: Vector3; clipNear: number; clipRadius: number; depthWrite: boolean; diffuse: number; diffuseInterior: boolean; disablePicking: boolean; flatShaded: boolean; forceTransparent: boolean; interiorColor: number; interiorDarkening: number; matrix: Matrix4; metalness: number; opacity: number; opaqueBack: boolean; roughness: number; side: "double" | "front" | "back"; sortParticles: boolean; useInteriorColor: boolean; wireframe: boolean } & { openEnded: false } = Object.assign({disableImpostor: false}, CylinderGeometryBufferDefaultParameters, CylinderImpostorBufferDefaultParameters)
Const CylinderGeometryBufferDefaultParameters
CylinderGeometryBufferDefaultParameters: { openEnded: true; radialSegments: number } & { background: boolean; clipCenter: Vector3; clipNear: number; clipRadius: number; depthWrite: boolean; diffuse: number; diffuseInterior: boolean; disablePicking: boolean; flatShaded: boolean; forceTransparent: boolean; interiorColor: number; interiorDarkening: number; matrix: Matrix4; metalness: number; opacity: number; opaqueBack: boolean; roughness: number; side: "double" | "front" | "back"; sortParticles: boolean; useInteriorColor: boolean; wireframe: boolean } = Object.assign({radialSegments: 1,openEnded: true}, BufferDefaultParameters)
Const CylinderImpostorBufferDefaultParameters
CylinderImpostorBufferDefaultParameters: { openEnded: false } & { background: boolean; clipCenter: Vector3; clipNear: number; clipRadius: number; depthWrite: boolean; diffuse: number; diffuseInterior: boolean; disablePicking: boolean; flatShaded: boolean; forceTransparent: boolean; interiorColor: number; interiorDarkening: number; matrix: Matrix4; metalness: number; opacity: number; opaqueBack: boolean; roughness: number; side: "double" | "front" | "back"; sortParticles: boolean; useInteriorColor: boolean; wireframe: boolean } = Object.assign({openEnded: false}, BufferDefaultParameters)
Const CylinderImpostorBufferParameterTypes
CylinderImpostorBufferParameterTypes: { openEnded: object } & { matrix: {}; background: object; clipCenter: object; clipNear: object; clipRadius: object; depthWrite: object; diffuse: object; diffuseInterior: object; flatShaded: object; interiorColor: object; interiorDarkening: object; metalness: object; opacity: object; opaqueBack: object; roughness: object; side: object; useInteriorColor: object; wireframe: object } = Object.assign({openEnded: { updateShader: true }}, BufferParameterTypes)
Const DEG2RAD
DEG2RAD: number = Math.PI / 180
Const DatasourceRegistry
Datasource
Registry: Registry = new Registry('datasource')
Let Debug
Debug: boolean = boolean(getQuery('debug'))
Const DecompressorRegistry
Decompressor
Registry: Registry = new Registry('decompressor')
Const DefaultAtomWeight
DefaultAtomWeight: 10.81 = 10.81
Const DefaultAtomicNumber
DefaultAtomicNumber: 0 = 0
Const DefaultCovalentRadius
DefaultCovalentRadius: 1.6 = 1.6
Const DefaultElementColor
DefaultElementColor: 16777215 = 16777215
Const DefaultOuterShellElectronCount
DefaultOuterShellElectronCount: 2 = 2
Const DefaultResidueColor
DefaultResidueColor: 16711935 = 16711935
Const DefaultResidueHydrophobicity
DefaultResidueHydrophobicity: number[] = [ 0.00, 0.00, 0.00 ]
Const DefaultResidueRadius
DefaultResidueRadius: 5 = 5
Const DefaultStructureColor
DefaultStructureColor: 8421504 = 8421504
Const DefaultValence
DefaultValence: -1 = -1
Const DefaultVdwRadius
DefaultVdwRadius: 2 = 2
Const DiatomicNonmetals
DiatomicNonmetals: number[] = [ 1, 7, 8, 9, 17, 35, 53 ]
Const DihedralMode
DihedralMode: 5 = 5
Const DnaBackboneType
DnaBackboneType: 3 = 3
Const DnaBases
DnaBases: string[] = [ 'DA', 'DC', 'DT', 'DG', 'DU', 'DI' ]
Const DnaType
DnaType: 5 = 5
Private Const EPS
EPS: 1e-7 = 1e-7
Const EPSILON
EPSILON: 1.192092896e-7 = 1.192092896e-7
Const EllipsoidBufferDefaultParameters
EllipsoidBufferDefaultParameters: { sphereDetail: number } & { background: boolean; clipCenter: Vector3; clipNear: number; clipRadius: number; depthWrite: boolean; diffuse: number; diffuseInterior: boolean; disablePicking: boolean; flatShaded: boolean; forceTransparent: boolean; interiorColor: number; interiorDarkening: number; matrix: Matrix4; metalness: number; opacity: number; opaqueBack: boolean; roughness: number; side: "double" | "front" | "back"; sortParticles: boolean; useInteriorColor: boolean; wireframe: boolean } = Object.assign({sphereDetail: 2,}, BufferDefaultParameters)
Let ExtensionFragDepth
ExtensionFragDepth: boolean = false
Const FLT_MIN
FLT_MIN: 1e-37 = 1e-37
Const FirstIdx
FirstIdx: 9 = 9
Const Halogens
Halogens: number[] = [ 9, 17, 35, 53, 85 ]
Const HetatmFormat
HetatmFormat: "HETATM%5d %-4s %3s %1s%4d %8.3f%8.3f%8.3f%6.2f%6.2f %4s%2s" = "HETATM%5d %-4s %3s %1s%4d %8.3f%8.3f%8.3f%6.2f%6.2f %4s%2s"
Const HydrophobicResname
HydrophobicResname: string[] = [ 'ALA', 'ILE', 'LEU', 'MET', 'PHE', 'PRO', 'TRP', 'VAL' ]
Const HyperballStickBufferDefaultParameters
HyperballStickBufferDefaultParameters: { disableImpostor: false } & { openEnded: true; radialSegments: number } & { background: boolean; clipCenter: Vector3; clipNear: number; clipRadius: number; depthWrite: boolean; diffuse: number; diffuseInterior: boolean; disablePicking: boolean; flatShaded: boolean; forceTransparent: boolean; interiorColor: number; interiorDarkening: number; matrix: Matrix4; metalness: number; opacity: number; opaqueBack: boolean; roughness: number; side: "double" | "front" | "back"; sortParticles: boolean; useInteriorColor: boolean; wireframe: boolean } & { shrink: number } = Object.assign({disableImpostor: false}, CylinderGeometryBufferDefaultParameters, HyperballStickImpostorBufferDefaultParameters)
Const HyperballStickImpostorBufferDefaultParameters
HyperballStickImpostorBufferDefaultParameters: { shrink: number } & { background: boolean; clipCenter: Vector3; clipNear: number; clipRadius: number; depthWrite: boolean; diffuse: number; diffuseInterior: boolean; disablePicking: boolean; flatShaded: boolean; forceTransparent: boolean; interiorColor: number; interiorDarkening: number; matrix: Matrix4; metalness: number; opacity: number; opaqueBack: boolean; roughness: number; side: "double" | "front" | "back"; sortParticles: boolean; useInteriorColor: boolean; wireframe: boolean } = Object.assign({shrink: 0.14}, BufferDefaultParameters)
Const HyperballStickImpostorBufferParameterTypes
HyperballStickImpostorBufferParameterTypes: { shrink: object } & { matrix: {}; background: object; clipCenter: object; clipNear: object; clipRadius: object; depthWrite: object; diffuse: object; diffuseInterior: object; flatShaded: object; interiorColor: object; interiorDarkening: object; metalness: object; opacity: object; opaqueBack: object; roughness: object; side: object; useInteriorColor: object; wireframe: object } = Object.assign({shrink: { uniform: true }}, BufferParameterTypes)
Const ImageBufferDefaultParameters
ImageBufferDefaultParameters: { filter: "linear" | "nearest" | "cubic-bspline" | "cubic-catmulrom" | "cubic-mitchell"; forceTransparent: true } & { background: boolean; clipCenter: Vector3; clipNear: number; clipRadius: number; depthWrite: boolean; diffuse: number; diffuseInterior: boolean; disablePicking: boolean; flatShaded: boolean; forceTransparent: boolean; interiorColor: number; interiorDarkening: number; matrix: Matrix4; metalness: number; opacity: number; opaqueBack: boolean; roughness: number; side: "double" | "front" | "back"; sortParticles: boolean; useInteriorColor: boolean; wireframe: boolean } = Object.assign({filter: 'nearest' as ImageFilterTypes,forceTransparent: true}, BufferDefaultParameters)
Const ImageBufferParameterTypes
ImageBufferParameterTypes: { filter: object } & { matrix: {}; background: object; clipCenter: object; clipNear: object; clipRadius: object; depthWrite: object; diffuse: object; diffuseInterior: object; flatShaded: object; interiorColor: object; interiorDarkening: object; metalness: object; opacity: object; opaqueBack: object; roughness: object; side: object; useInteriorColor: object; wireframe: object } = Object.assign({filter: { updateShader: true, uniform: true }}, BufferParameterTypes)
Const ImproperMode
ImproperMode: 6 = 6
Const IonNames
IonNames: string[] = ['118', '119', '1AL', '1CU', '2FK', '2HP', '2OF', '3CO','3MT', '3NI', '3OF', '3P8', '4MO', '4PU', '543', '6MO', 'ACT', 'AG', 'AL','ALF', 'AM', 'ATH', 'AU', 'AU3', 'AUC', 'AZI', 'BA', 'BCT', 'BEF', 'BF4', 'BO4','BR', 'BS3', 'BSY', 'CA', 'CAC', 'CD', 'CD1', 'CD3', 'CD5', 'CE', 'CHT', 'CL','CO', 'CO3', 'CO5', 'CON', 'CR', 'CS', 'CSB', 'CU', 'CU1', 'CU3', 'CUA', 'CUZ','CYN', 'DME', 'DMI', 'DSC', 'DTI', 'DY', 'E4N', 'EDR', 'EMC', 'ER3', 'EU','EU3', 'F', 'FE', 'FE2', 'FPO', 'GA', 'GD3', 'GEP', 'HAI', 'HG', 'HGC', 'IN','IOD', 'IR', 'IR3', 'IRI', 'IUM', 'K', 'KO4', 'LA', 'LCO', 'LCP', 'LI', 'LU','MAC', 'MG', 'MH2', 'MH3', 'MLI', 'MLT', 'MMC', 'MN', 'MN3', 'MN5', 'MN6','MO1', 'MO2', 'MO3', 'MO4', 'MO5', 'MO6', 'MOO', 'MOS', 'MOW', 'MW1', 'MW2','MW3', 'NA', 'NA2', 'NA5', 'NA6', 'NAO', 'NAW', 'NCO', 'NET', 'NH4', 'NI','NI1', 'NI2', 'NI3', 'NO2', 'NO3', 'NRU', 'O4M', 'OAA', 'OC1', 'OC2', 'OC3','OC4', 'OC5', 'OC6', 'OC7', 'OC8', 'OCL', 'OCM', 'OCN', 'OCO', 'OF1', 'OF2','OF3', 'OH', 'OS', 'OS4', 'OXL', 'PB', 'PBM', 'PD', 'PDV', 'PER', 'PI', 'PO3','PO4', 'PR', 'PT', 'PT4', 'PTN', 'RB', 'RH3', 'RHD', 'RU', 'SB', 'SCN', 'SE4','SEK', 'SM', 'SMO', 'SO3', 'SO4', 'SR', 'T1A', 'TB', 'TBA', 'TCN', 'TEA', 'TH','THE', 'TL', 'TMA', 'TRA', 'UNX', 'V', 'VN3', 'VO4', 'W', 'WO5', 'Y1', 'YB','YB2', 'YH', 'YT3', 'ZCM', 'ZN', 'ZN2', 'ZN3', 'ZNO', 'ZO3',// additional ion names'OHX']
Const IonType
IonType: 2 = 2
Const IonicTypeMetals
Ionic
TypeMetals: Elements[] = [Elements.LI, Elements.NA, Elements.K, Elements.RB, Elements.CS,Elements.MG, Elements.CA, Elements.SR, Elements.BA, Elements.AL,Elements.GA, Elements.IN, Elements.TL, Elements.SC, Elements.SN,Elements.PB, Elements.BI, Elements.SB, Elements.HG]
Const JitterVectors
JitterVectors: number[][][] = [[[ 0, 0 ]],[[ 4, 4 ], [ -4, -4 ]],[[ -2, -6 ], [ 6, -2 ], [ -6, 2 ], [ 2, 6 ]],[[ 1, -3 ], [ -1, 3 ], [ 5, 1 ], [ -3, -5 ],[ -5, 5 ], [ -7, -1 ], [ 3, 7 ], [ 7, -7 ]],[[ 1, 1 ], [ -1, -3 ], [ -3, 2 ], [ 4, -1 ],[ -5, -2 ], [ 2, 5 ], [ 5, 3 ], [ 3, -5 ],[ -2, 6 ], [ 0, -7 ], [ -4, -6 ], [ -6, 4 ],[ -8, 0 ], [ 7, -4 ], [ 6, 7 ], [ -7, -8 ]],[[ -4, -7 ], [ -7, -5 ], [ -3, -5 ], [ -5, -4 ],[ -1, -4 ], [ -2, -2 ], [ -6, -1 ], [ -4, 0 ],[ -7, 1 ], [ -1, 2 ], [ -6, 3 ], [ -3, 3 ],[ -7, 6 ], [ -3, 6 ], [ -5, 7 ], [ -1, 7 ],[ 5, -7 ], [ 1, -6 ], [ 6, -5 ], [ 4, -4 ],[ 2, -3 ], [ 7, -2 ], [ 1, -1 ], [ 4, -1 ],[ 2, 1 ], [ 6, 2 ], [ 0, 4 ], [ 4, 4 ],[ 2, 5 ], [ 7, 5 ], [ 5, 6 ], [ 3, 7 ]]]
Private Const LeftMouseButton
LeftMouseButton: 1 = 1
Let ListingDatasource
ListingDatasource: any
Const MacrolideEntity
MacrolideEntity: 3 = 3
Const MagicInts
MagicInts: Uint32Array = new Uint32Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 10, 12, 16, 20, 25, 32, 40, 50, 64,80, 101, 128, 161, 203, 256, 322, 406, 512, 645, 812, 1024, 1290,1625, 2048, 2580, 3250, 4096, 5060, 6501, 8192, 10321, 13003,16384, 20642, 26007, 32768, 41285, 52015, 65536, 82570, 104031,131072, 165140, 208063, 262144, 330280, 416127, 524287, 660561,832255, 1048576, 1321122, 1664510, 2097152, 2642245, 3329021,4194304, 5284491, 6658042, 8388607, 10568983, 13316085, 16777216])
Const Metalloids
Metalloids: number[] = [ 5, 14, 32, 33, 51, 52, 85 ]
Const MiddleMouseButton
MiddleMouseButton: 2 = 2
Const Mobile
Mobile: boolean = typeof window !== 'undefined' ? typeof window.orientation !== 'undefined' : false
Const NC_ATTRIBUTE
NC_ATTRIBUTE: 12 = 12
Const NC_DIMENSION
NC_DIMENSION: 10 = 10
Const NC_VARIABLE
NC_VARIABLE: 11 = 11
Const NegativelyCharged
NegativelyCharged: string[] = [ 'GLU', 'ASP' ]
Const NobleGases
NobleGases: number[] = [ 2, 10, 18, 36, 54, 86 ]
Const NonPolymerEntity
NonPolymerEntity: 2 = 2
Const NonpolarResname
NonpolarResname: string[] = [ 'ALA', 'ILE', 'LEU', 'MET', 'PHE', 'PRO', 'TRP', 'VAL' ]
Const NucleicBackboneAtoms
NucleicBackboneAtoms: string[] = ['P', 'OP1', 'OP2', 'HOP2', 'HOP3',"O2'", "O3'", "O4'", "O5'", "C1'", "C2'", "C3'", "C4'", "C5'","H1'", "H2'", "H2''", "HO2'", "H3'", "H4'", "H5'", "H5''", "HO3'", "HO5'",'O2*', 'O3*', 'O4*', 'O5*', 'C1*', 'C2*', 'C3*', 'C4*', 'C5*']
Const NucleophilicResname
NucleophilicResname: string[] = [ 'CYS', 'SER', 'THR' ]
Private Const OBJLoader
OBJLoader
: _OBJLoaderConstructor = (function OBJLoader (this: _OBJLoader) {this.regexp = {// v float float floatvertex_pattern: /^v\s+([\d.+\-eE]+)\s+([\d.+\-eE]+)\s+([\d.+\-eE]+)/,// vn float float floatnormal_pattern: /^vn\s+([\d.+\-eE]+)\s+([\d.+\-eE]+)\s+([\d.+\-eE]+)/,// vt float floatuv_pattern: /^vt\s+([\d.+\-eE]+)\s+([\d.+\-eE]+)/,// f vertex vertex vertexface_vertex: /^f\s+(-?\d+)\s+(-?\d+)\s+(-?\d+)(?:\s+(-?\d+))?/,// f vertex/uv vertex/uv vertex/uvface_vertex_uv: /^f\s+(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)(?:\s+(-?\d+)\/(-?\d+))?/,// f vertex/uv/normal vertex/uv/normal vertex/uv/normalface_vertex_uv_normal: /^f\s+(-?\d+)\/(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)\/(-?\d+)(?:\s+(-?\d+)\/(-?\d+)\/(-?\d+))?/,// f vertex//normal vertex//normal vertex//normalface_vertex_normal: /^f\s+(-?\d+)\/\/(-?\d+)\s+(-?\d+)\/\/(-?\d+)\s+(-?\d+)\/\/(-?\d+)(?:\s+(-?\d+)\/\/(-?\d+))?/,// o object_name | g group_nameobject_pattern: /^[og]\s*(.+)?/,// s booleansmoothing_pattern: /^s\s+(\d+|on|off)/,// mtllib file_referencematerial_library_pattern: /^mtllib /,// usemtl material_namematerial_use_pattern: /^usemtl /}}) as _OBJLoaderConstructor
Const OptimalAcceptorAngle
OptimalAcceptorAngle: number = degToRad(120)
Const OptimalHalogenAngle
OptimalHalogenAngle: number = degToRad(180)
Const PLYLoader
PLYLoader
: _PLYLoaderConstructor = (function PLYLoader (this: _PLYLoader) {this.propertyNameMapping = {}}) as _PLYLoaderConstructor
Const PickerRegistry
Picker
Registry: Registry = new Registry('picker')
Const PointBufferDefaultParameters
PointBufferDefaultParameters: { alphaTest: number; edgeBleach: number; forceTransparent: false; pointSize: number; sizeAttenuation: true; sortParticles: false; useTexture: false } & { background: boolean; clipCenter: Vector3; clipNear: number; clipRadius: number; depthWrite: boolean; diffuse: number; diffuseInterior: boolean; disablePicking: boolean; flatShaded: boolean; forceTransparent: boolean; interiorColor: number; interiorDarkening: number; matrix: Matrix4; metalness: number; opacity: number; opaqueBack: boolean; roughness: number; side: "double" | "front" | "back"; sortParticles: boolean; useInteriorColor: boolean; wireframe: boolean } = Object.assign({pointSize: 1,sizeAttenuation: true,sortParticles: false,alphaTest: 0.5,useTexture: false,forceTransparent: false,edgeBleach: 0.0}, BufferDefaultParameters)
Const PointBufferParameterTypes
PointBufferParameterTypes: { forceTransparent: {}; sortParticles: {}; alphaTest: object; edgeBleach: object; pointSize: object; sizeAttenuation: object; useTexture: object } & { matrix: {}; background: object; clipCenter: object; clipNear: object; clipRadius: object; depthWrite: object; diffuse: object; diffuseInterior: object; flatShaded: object; interiorColor: object; interiorDarkening: object; metalness: object; opacity: object; opaqueBack: object; roughness: object; side: object; useInteriorColor: object; wireframe: object } = Object.assign({pointSize: { uniform: 'size' },sizeAttenuation: { updateShader: true },sortParticles: {},alphaTest: { updateShader: true },useTexture: { updateShader: true },forceTransparent: {},edgeBleach: { uniform: true }}, BufferParameterTypes)
Const PolarElements
Polar
Elements: Elements[] = [Elements.N, Elements.O, Elements.S,Elements.F, Elements.CL, Elements.BR, Elements.I]
Const PolarResname
PolarResname: string[] = [ 'ASN', 'ARG', 'ASP', 'CYS', 'GLY', 'GLN', 'GLU', 'HIS', 'LYS', 'SER', 'THR', 'TYR' ]
Const PolyatomicNonmetals
PolyatomicNonmetals: number[] = [ 6, 15, 16, 34, ]
Const PolymerEntity
PolymerEntity: 1 = 1
Const PositvelyCharged
PositvelyCharged: string[] = [ 'ARG', 'HIS', 'LYS' ]
Const PostTransitionMetals
PostTransitionMetals: number[] = [ 13, 30, 31, 48, 49, 50, 80, 81, 82, 83, 84, 85, 112 ]
Const Primitives
Primitives
: (PointPrimitive | WidelinePrimitive)[] = [ArrowPrimitive, BoxPrimitive, ConePrimitive, CylinderPrimitive,EllipsoidPrimitive, OctahedronPrimitive, SpherePrimitive, TetrahedronPrimitive,TextPrimitive, TorusPrimitive, PointPrimitive, WidelinePrimitive]
Const ProteinBackboneAtoms
ProteinBackboneAtoms: string[] = ['CA', 'C', 'N', 'O','O1', 'O2', 'OC1', 'OC2', 'OX1', 'OXT', 'OT1', 'OT2','H', 'H1', 'H2', 'H3', 'HA', 'HN','BB']
Const ProteinBackboneType
ProteinBackboneType: 1 = 1
Const ProteinType
ProteinType: 3 = 3
Const PurinBases
PurinBases: string[] = [ 'A', 'G', 'I', 'DA', 'DG', 'DI' ]
Const RAD2DEG
RAD2DEG: number = 180 / Math.PI
Const RepresentationElementDefaultParameters
RepresentationElementDefaultParameters: { visible: true } & { name: string; status: string } = Object.assign({visible: true}, ElementDefaultParameters)
Const RepresentationRegistry
Representation
Registry: Registry = new Registry('representatation')
Const ResidueTypeAtoms
ResidueTypeAtoms: {}
Type declaration
-
[k: number]: {}
-
[k: string]: string | string[]
Const RightMouseButton
RightMouseButton: 3 = 3
Const RingFinderMaxDepth
RingFinderMaxDepth: 4 = 4
Const RnaBackboneType
RnaBackboneType: 2 = 2
Const RnaBases
RnaBases: string[] = [ 'A', 'C', 'T', 'G', 'U', 'I' ]
Const RnaType
RnaType: 4 = 4
Const SaccharideNames
SaccharideNames: string[] = ['045', '0AT', '0BD', '0MK', '0NZ', '0TS', '0V4', '0XY', '0YT', '10M','147', '149', '14T', '15L', '16G', '18T', '18Y', '1AR', '1BW', '1GL', '1GN','1JB', '1LL', '1NA', '1S3', '26M', '26Q', '26R', '26V', '26W', '26Y', '27C','289', '291', '293', '2DG', '2F8', '2FG', '2FL', '2FP', '2GL', '2M4', '2M5','32O', '34V', '3CM', '3DO', '3DY', '3FM', '3LR', '3MF', '3MG', '3SA', '3ZW','46D', '46M', '46Z', '48Z', '4CQ', '4GC', '4NN', '50A', '5DI', '5GF', '5MM','5RP', '5SA', '5SP', '64K', '6PG', '6SA', '7JZ', '7SA', 'A1Q', 'A2G', 'AAB','AAL', 'AAO', 'ABC', 'ABD', 'ABE', 'ABF', 'ABL', 'ACG', 'ACI', 'ACR', 'ACX','ADA', 'ADG', 'ADR', 'AF1', 'AFD', 'AFL', 'AFO', 'AFP', 'AFR', 'AGC', 'AGH','AGL', 'AHR', 'AIG', 'ALL', 'ALX', 'AMU', 'AOG', 'AOS', 'ARA', 'ARB', 'ARE','ARI', 'ASG', 'ASO', 'AXP', 'AXR', 'B0D', 'B16', 'B2G', 'B4G', 'B6D', 'B8D','B9D', 'BBK', 'BCD', 'BDG', 'BDP', 'BDR', 'BEM', 'BFP', 'BGC', 'BGL', 'BGP','BGS', 'BHG', 'BMA', 'BMX', 'BNG', 'BNX', 'BOG', 'BRI', 'BXF', 'BXP', 'BXX','BXY', 'C3X', 'C4X', 'C5X', 'CAP', 'CBI', 'CBK', 'CBS', 'CDR', 'CEG', 'CGF','CHO', 'CR1', 'CR6', 'CRA', 'CT3', 'CTO', 'CTR', 'CTT', 'D6G', 'DAF', 'DAG','DDA', 'DDB', 'DDL', 'DEL', 'DFR', 'DFX', 'DG0', 'DGC', 'DGD', 'DGM', 'DGS','DIG', 'DLF', 'DLG', 'DMU', 'DNO', 'DOM', 'DP5', 'DQQ', 'DQR', 'DR2', 'DR3','DR4', 'DRI', 'DSR', 'DT6', 'DVC', 'E4P', 'E5G', 'EAG', 'EBG', 'EBQ', 'EGA','EJT', 'EPG', 'ERE', 'ERI', 'F1P', 'F1X', 'F6P', 'FBP', 'FCA', 'FCB', 'FCT','FDP', 'FDQ', 'FFC', 'FIX', 'FMO', 'FRU', 'FSI', 'FU4', 'FUB', 'FUC', 'FUD','FUL', 'FXP', 'G16', 'G1P', 'G2F', 'G3I', 'G4D', 'G4S', 'G6D', 'G6P', 'G6S','GAC', 'GAD', 'GAL', 'GC1', 'GC4', 'GCD', 'GCN', 'GCO', 'GCS', 'GCT', 'GCU','GCV', 'GCW', 'GCX', 'GE1', 'GFG', 'GFP', 'GIV', 'GL0', 'GL2', 'GL5', 'GL6','GL7', 'GL9', 'GLA', 'GLB', 'GLC', 'GLD', 'GLF', 'GLG', 'GLO', 'GLP', 'GLS','GLT', 'GLW', 'GMH', 'GN1', 'GNX', 'GP1', 'GP4', 'GPH', 'GPM', 'GQ1', 'GQ2','GQ4', 'GS1', 'GS4', 'GSA', 'GSD', 'GTE', 'GTH', 'GTK', 'GTR', 'GTZ', 'GU0','GU1', 'GU2', 'GU3', 'GU4', 'GU5', 'GU6', 'GU8', 'GU9', 'GUF', 'GUP', 'GUZ','GYP', 'GYV', 'H2P', 'HDL', 'HMS', 'HS2', 'HSD', 'HSG', 'HSH', 'HSJ', 'HSQ','HSR', 'HSU', 'HSX', 'HSY', 'HSZ', 'IAB', 'IDG', 'IDR', 'IDS', 'IDT', 'IDU','IDX', 'IDY', 'IMK', 'IN1', 'IPT', 'ISL', 'KBG', 'KD2', 'KDA', 'KDM', 'KDO','KFN', 'KO1', 'KO2', 'KTU', 'L6S', 'LAG', 'LAI', 'LAK', 'LAO', 'LAT', 'LB2','LBT', 'LCN', 'LDY', 'LGC', 'LGU', 'LM2', 'LMT', 'LMU', 'LOG', 'LOX', 'LPK','LSM', 'LTM', 'LVZ', 'LXB', 'LXZ', 'M1F', 'M3M', 'M6P', 'M8C', 'MA1', 'MA2','MA3', 'MAB', 'MAG', 'MAL', 'MAN', 'MAT', 'MAV', 'MAW', 'MBG', 'MCU', 'MDA','MDM', 'MDP', 'MFA', 'MFB', 'MFU', 'MG5', 'MGA', 'MGL', 'MLB', 'MMA', 'MMN','MN0', 'MRP', 'MTT', 'MUG', 'MVP', 'MXY', 'N1L', 'N9S', 'NAA', 'NAG', 'NBG','NDG', 'NED', 'NG1', 'NG6', 'NGA', 'NGB', 'NGC', 'NGE', 'NGF', 'NGL', 'NGS','NGY', 'NHF', 'NM6', 'NM9', 'NTF', 'NTO', 'NTP', 'NXD', 'NYT', 'OPG', 'OPM','ORP', 'OX2', 'P3M', 'P53', 'P6P', 'PA5', 'PNA', 'PNG', 'PNW', 'PRP', 'PSJ','PSV', 'PTQ', 'QDK', 'QPS', 'QV4', 'R1P', 'R1X', 'R2B', 'R5P', 'RAA', 'RAE','RAF', 'RAM', 'RAO', 'RAT', 'RB5', 'RBL', 'RCD', 'RDP', 'REL', 'RER', 'RF5','RG1', 'RGG', 'RHA', 'RIB', 'RIP', 'RNS', 'RNT', 'ROB', 'ROR', 'RPA', 'RST','RUB', 'RUU', 'RZM', 'S6P', 'S7P', 'SA0', 'SCR', 'SDD', 'SF6', 'SF9', 'SG4','SG5', 'SG6', 'SG7', 'SGA', 'SGC', 'SGD', 'SGN', 'SGS', 'SHB', 'SHG', 'SI3','SIO', 'SOE', 'SOL', 'SSG', 'SUC', 'SUP', 'SUS', 'T6P', 'T6T', 'TAG', 'TCB','TDG', 'TGK', 'TGY', 'TH1', 'TIA', 'TM5', 'TM6', 'TM9', 'TMR', 'TMX', 'TOA','TOC', 'TRE', 'TYV', 'UCD', 'UDC', 'VG1', 'X0X', 'X1X', 'X2F', 'X4S', 'X5S','X6X', 'XBP', 'XDN', 'XDP', 'XIF', 'XIM', 'XLF', 'XLS', 'XMM', 'XUL', 'XXR','XYP', 'XYS', 'YO5', 'Z3Q', 'Z6J', 'Z9M', 'ZDC', 'ZDM']
Const SaccharideType
SaccharideType: 6 = 6
Const ScriptExtensions
ScriptExtensions: string[] = [ 'ngl', 'js' ]
Const SecStrucHelix
SecStrucHelix: string[] = [ 'h', 'g', 'i' ]
Const SecStrucSheet
SecStrucSheet: string[] = [ 'e', 'b' ]
Const SecStrucTurn
SecStrucTurn: string[] = [ 's', 't', 'l', '' ]
Const SelectAllKeyword
SelectAllKeyword: string[] = [ '*', '', 'ALL' ]
Const SelectNoneKeyword
SelectNoneKeyword: string[] = [ 'NONE' ]
Const ShaderRegistry
Shader
Registry: Registry = new Registry('shader')
Const SmallResname
SmallResname: string[] = [ 'ALA', 'GLY', 'SER' ]
Const SphereBufferDefaultParameters
SphereBufferDefaultParameters: { disableImpostor: false } & { sphereDetail: number } & { background: boolean; clipCenter: Vector3; clipNear: number; clipRadius: number; depthWrite: boolean; diffuse: number; diffuseInterior: boolean; disablePicking: boolean; flatShaded: boolean; forceTransparent: boolean; interiorColor: number; interiorDarkening: number; matrix: Matrix4; metalness: number; opacity: number; opaqueBack: boolean; roughness: number; side: "double" | "front" | "back"; sortParticles: boolean; useInteriorColor: boolean; wireframe: boolean } = Object.assign({disableImpostor: false}, SphereGeometryBufferDefaultParameters)
Const SphereGeometryBufferDefaultParameters
SphereGeometryBufferDefaultParameters: { sphereDetail: number } & { background: boolean; clipCenter: Vector3; clipNear: number; clipRadius: number; depthWrite: boolean; diffuse: number; diffuseInterior: boolean; disablePicking: boolean; flatShaded: boolean; forceTransparent: boolean; interiorColor: number; interiorDarkening: number; matrix: Matrix4; metalness: number; opacity: number; opaqueBack: boolean; roughness: number; side: "double" | "front" | "back"; sortParticles: boolean; useInteriorColor: boolean; wireframe: boolean } = Object.assign({sphereDetail: 1}, BufferDefaultParameters)
Const StructureComponentDefaultParameters
StructureComponentDefaultParameters: { defaultAssembly: string; sele: string } & { name: string; status: string; visible: boolean } = Object.assign({sele: '',defaultAssembly: ''}, ComponentDefaultParameters)
Const SubstitutionMatrices
SubstitutionMatrices: { blosum62: {}; blosum62x: {} } = (function () {return {blosum62: prepareMatrix(aminoacids, blosum62),blosum62x: prepareMatrix(aminoacidsX, blosum62x)}}())
Type declaration
-
blosum62: {}
-
blosum62x: {}
Let SupportsPassiveEventHandler
SupportsPassiveEventHandler: boolean = false
Let SupportsReadPixelsFloat
SupportsReadPixelsFloat: boolean = false
Const TextAtlasCache
TextAtlasCache: {}
Const TextBufferDefaultParameters
TextBufferDefaultParameters: { attachment: "bottom-left" | "bottom-center" | "bottom-right" | "middle-left" | "middle-center" | "middle-right" | "top-left" | "top-center" | "top-right"; backgroundColor: string | number; backgroundMargin: number; backgroundOpacity: number; borderColor: string | number; borderWidth: number; fixedSize: false; fontFamily: "sans-serif" | "monospace" | "serif"; fontSize: number; fontStyle: "normal" | "italic"; fontWeight: "normal" | "bold"; forceTransparent: true; showBackground: false; showBorder: false; xOffset: number; yOffset: number; zOffset: number } & { background: boolean; clipCenter: Vector3; clipNear: number; clipRadius: number; depthWrite: boolean; diffuse: number; diffuseInterior: boolean; disablePicking: boolean; flatShaded: boolean; forceTransparent: boolean; interiorColor: number; interiorDarkening: number; matrix: Matrix4; metalness: number; opacity: number; opaqueBack: boolean; roughness: number; side: "double" | "front" | "back"; sortParticles: boolean; useInteriorColor: boolean; wireframe: boolean } = Object.assign({fontFamily: 'sans-serif' as TextFonts,fontStyle: 'normal' as TextStyles,fontWeight: 'bold' as TextWeights,fontSize: 36,xOffset: 0.0,yOffset: 0.0,zOffset: 0.5,attachment: 'bottom-left' as TextAttachments,showBorder: false,borderColor: 'lightgrey' as number|string,borderWidth: 0.15,showBackground: false,backgroundColor: 'lightgrey' as number|string,backgroundMargin: 0.5,backgroundOpacity: 1.0,forceTransparent: true,fixedSize: false}, BufferDefaultParameters)
Const TextBufferParameterTypes
TextBufferParameterTypes: { backgroundColor: object; backgroundOpacity: object; borderColor: object; borderWidth: object; fixedSize: object; fontFamily: object; fontSize: object; fontStyle: object; fontWeight: object; showBorder: object; xOffset: object; yOffset: object; zOffset: object } & { matrix: {}; background: object; clipCenter: object; clipNear: object; clipRadius: object; depthWrite: object; diffuse: object; diffuseInterior: object; flatShaded: object; interiorColor: object; interiorDarkening: object; metalness: object; opacity: object; opaqueBack: object; roughness: object; side: object; useInteriorColor: object; wireframe: object } = Object.assign({fontFamily: { uniform: true },fontStyle: { uniform: true },fontWeight: { uniform: true },fontSize: { uniform: true },xOffset: { uniform: true },yOffset: { uniform: true },zOffset: { uniform: true },showBorder: { uniform: true },borderColor: { uniform: true },borderWidth: { uniform: true },backgroundColor: { uniform: true },backgroundOpacity: { uniform: true },fixedSize: { updateShader: true }}, BufferParameterTypes)
Const TextureTestFragShader
TextureTestFragShader: "precision mediump float;uniform vec4 u_color;uniform sampler2D u_texture;void main() {gl_FragColor = texture2D(u_texture, vec2(0.5, 0.5)) * u_color;}" = `precision mediump float;uniform vec4 u_color;uniform sampler2D u_texture;void main() {gl_FragColor = texture2D(u_texture, vec2(0.5, 0.5)) * u_color;}`
Const TextureTestTexCoords
TextureTestTexCoords: Float32Array = new Float32Array([-1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0])
Const TextureTestVertShader
TextureTestVertShader: "attribute vec4 a_position;void main() {gl_Position = a_position;}" = `attribute vec4 a_position;void main() {gl_Position = a_position;}`
Const TitleMode
TitleMode: 1 = 1
Const TorusBufferDefaultParameters
TorusBufferDefaultParameters: { radialSegments: number; radiusRatio: number; tubularSegments: number } & { background: boolean; clipCenter: Vector3; clipNear: number; clipRadius: number; depthWrite: boolean; diffuse: number; diffuseInterior: boolean; disablePicking: boolean; flatShaded: boolean; forceTransparent: boolean; interiorColor: number; interiorDarkening: number; matrix: Matrix4; metalness: number; opacity: number; opaqueBack: boolean; roughness: number; side: "double" | "front" | "back"; sortParticles: boolean; useInteriorColor: boolean; wireframe: boolean } = Object.assign({radiusRatio: 0.2,radialSegments: 16,tubularSegments: 32}, BufferDefaultParameters)
Let TrajectoryDatasource
TrajectoryDatasource: any
Const TrajectoryElementDefaultParameters
TrajectoryElementDefaultParameters: { defaultDirection: "forward" | "backward" | "bounce"; defaultInterpolateStep: number; defaultInterpolateType: "" | "linear" | "spline"; defaultMode: "loop" | "once"; defaultStep: number; defaultTimeout: number; initialFrame: number } & { name: string; status: string } = Object.assign({defaultStep: 1,defaultTimeout: 50,defaultInterpolateType: '' as TrajectoryPlayerInterpolateType,defaultInterpolateStep: 5,defaultMode: 'loop' as TrajectoryPlayerMode,defaultDirection: 'forward' as TrajectoryPlayerDirection,initialFrame: 0}, ElementDefaultParameters)
Const TubeMeshBufferDefaultParameters
TubeMeshBufferDefaultParameters: { aspectRatio: number; capped: false; radialSegments: number } & { background: boolean; clipCenter: Vector3; clipNear: number; clipRadius: number; depthWrite: boolean; diffuse: number; diffuseInterior: boolean; disablePicking: boolean; flatShaded: boolean; forceTransparent: boolean; interiorColor: number; interiorDarkening: number; matrix: Matrix4; metalness: number; opacity: number; opaqueBack: boolean; roughness: number; side: "double" | "front" | "back"; sortParticles: boolean; useInteriorColor: boolean; wireframe: boolean } = Object.assign({radialSegments: 4,capped: false,aspectRatio: 1.0}, BufferDefaultParameters)
Const TwoPI
TwoPI: number = 2 * Math.PI
Const UnknownBackboneType
UnknownBackboneType: 0 = 0
Private Const UnknownEntity
UnknownEntity: 0 = 0
Const UnknownType
UnknownType: 0 = 0
Const VectorBufferDefaultParameters
VectorBufferDefaultParameters: { color: string; scale: number } & { background: boolean; clipCenter: Vector3; clipNear: number; clipRadius: number; depthWrite: boolean; diffuse: number; diffuseInterior: boolean; disablePicking: boolean; flatShaded: boolean; forceTransparent: boolean; interiorColor: number; interiorDarkening: number; matrix: Matrix4; metalness: number; opacity: number; opaqueBack: boolean; roughness: number; side: "double" | "front" | "back"; sortParticles: boolean; useInteriorColor: boolean; wireframe: boolean } = Object.assign({scale: 1,color: 'grey'}, BufferDefaultParameters)
Const Version
Version: string = (data as any).version as string
Const WaterEntity
WaterEntity: 4 = 4
Const WaterNames
WaterNames: string[] = ['SOL', 'WAT', 'HOH', 'H2O', 'W', 'DOD', 'D3O', 'TIP3', 'TIP4', 'SPC']
Const WaterType
WaterType: 1 = 1
Const WebglErrorMessage
WebglErrorMessage: "<div style="display:flex;align-items:center;justify-content:center;height:100%;"><p style="padding:15px;text-align:center;">Your browser/graphics card does not seem to support <a target="_blank" href="https://en.wikipedia.org/wiki/WebGL">WebGL</a>.<br/><br/>Find out how to get it <a target="_blank" href="http://get.webgl.org/">here</a>.</p></div>" = "<div style="display:flex;align-items:center;justify-content:center;height:100%;"><p style="padding:15px;text-align:center;">Your browser/graphics card does not seem to support <a target="_blank" href="https://en.wikipedia.org/wiki/WebGL">WebGL</a>.<br/><br/>Find out how to get it <a target="_blank" href="http://get.webgl.org/">here</a>.</p></div>"
Const WideLineBufferDefaultParameters
WideLineBufferDefaultParameters: { linewidth: number } & { background: boolean; clipCenter: Vector3; clipNear: number; clipRadius: number; depthWrite: boolean; diffuse: number; diffuseInterior: boolean; disablePicking: boolean; flatShaded: boolean; forceTransparent: boolean; interiorColor: number; interiorDarkening: number; matrix: Matrix4; metalness: number; opacity: number; opaqueBack: boolean; roughness: number; side: "double" | "front" | "back"; sortParticles: boolean; useInteriorColor: boolean; wireframe: boolean } = Object.assign({linewidth: 2}, BufferDefaultParameters)
Const WideLineBufferParameterTypes
WideLineBufferParameterTypes: { linewidth: object } & { matrix: {}; background: object; clipCenter: object; clipNear: object; clipRadius: object; depthWrite: object; diffuse: object; diffuseInterior: object; flatShaded: object; interiorColor: object; interiorDarkening: object; metalness: object; opacity: object; opaqueBack: object; roughness: object; side: object; useInteriorColor: object; wireframe: object } = Object.assign({linewidth: { uniform: true }}, BufferParameterTypes)
Const X
X
: Elements[] = [ Elements.N, Elements.O, Elements.S ]
Const Y
Y
: Elements[] = [ Elements.C, Elements.N, Elements.P, Elements.S ]
Const _m
_m: Matrix4 = new Matrix4()
Const _tmpBytes
_tmpBytes: Uint8Array = new Uint8Array(32)
Const _tmpIntBytes
_tmpIntBytes: Int32Array = new Int32Array(32)
Const _v
_v: Vector3 = new Vector3()
Const amberChargeUnitFactor
amberChargeUnitFactor: 18.2223 = 18.2223
Const aminoacids
aminoacids: "ARNDCQEGHILKMFPSTWYVBZ?" = "ARNDCQEGHILKMFPSTWYVBZ?"
Const aminoacidsX
aminoacidsX: "ACDEFGHIKLMNPQRSTVWY" = "ACDEFGHIKLMNPQRSTVWY"
Const baseUrl
baseUrl: "//pubchem.ncbi.nlm.nih.gov/rest/pug/compound/cid/" = "//pubchem.ncbi.nlm.nih.gov/rest/pug/compound/cid/"
Const blosum62
blosum62: number[][] = [// A R N D C Q E G H I L K M F P S T W Y V B Z X[4, -1, -2, -2, 0, -1, -1, 0, -2, -1, -1, -1, -1, -2, -1, 1, 0, -3, -2, 0, -2, -1, 0], // A[-1, 5, 0, -2, -3, 1, 0, -2, 0, -3, -2, 2, -1, -3, -2, -1, -1, -3, -2, -3, -1, 0, -1], // R[-2, 0, 6, 1, -3, 0, 0, 0, 1, -3, -3, 0, -2, -3, -2, 1, 0, -4, -2, -3, 3, 0, -1], // N[-2, -2, 1, 6, -3, 0, 2, -1, -1, -3, -4, -1, -3, -3, -1, 0, -1, -4, -3, -3, 4, 1, -1], // D[0, -3, -3, -3, 9, -3, -4, -3, -3, -1, -1, -3, -1, -2, -3, -1, -1, -2, -2, -1, -3, -3, -2], // C[-1, 1, 0, 0, -3, 5, 2, -2, 0, -3, -2, 1, 0, -3, -1, 0, -1, -2, -1, -2, 0, 3, -1], // Q[-1, 0, 0, 2, -4, 2, 5, -2, 0, -3, -3, 1, -2, -3, -1, 0, -1, -3, -2, -2, 1, 4, -1], // E[0, -2, 0, -1, -3, -2, -2, 6, -2, -4, -4, -2, -3, -3, -2, 0, -2, -2, -3, -3, -1, -2, -1], // G[-2, 0, 1, -1, -3, 0, 0, -2, 8, -3, -3, -1, -2, -1, -2, -1, -2, -2, 2, -3, 0, 0, -1], // H[-1, -3, -3, -3, -1, -3, -3, -4, -3, 4, 2, -3, 1, 0, -3, -2, -1, -3, -1, 3, -3, -3, -1], // I[-1, -2, -3, -4, -1, -2, -3, -4, -3, 2, 4, -2, 2, 0, -3, -2, -1, -2, -1, 1, -4, -3, -1], // L[-1, 2, 0, -1, -3, 1, 1, -2, -1, -3, -2, 5, -1, -3, -1, 0, -1, -3, -2, -2, 0, 1, -1], // K[-1, -1, -2, -3, -1, 0, -2, -3, -2, 1, 2, -1, 5, 0, -2, -1, -1, -1, -1, 1, -3, -1, -1], // M[-2, -3, -3, -3, -2, -3, -3, -3, -1, 0, 0, -3, 0, 6, -4, -2, -2, 1, 3, -1, -3, -3, -1], // F[-1, -2, -2, -1, -3, -1, -1, -2, -2, -3, -3, -1, -2, -4, 7, -1, -1, -4, -3, -2, -2, -1, -2], // P[1, -1, 1, 0, -1, 0, 0, 0, -1, -2, -2, 0, -1, -2, -1, 4, 1, -3, -2, -2, 0, 0, 0], // S[0, -1, 0, -1, -1, -1, -1, -2, -2, -1, -1, -1, -1, -2, -1, 1, 5, -2, -2, 0, -1, -1, 0], // T[-3, -3, -4, -4, -2, -2, -3, -2, -2, -3, -2, -3, -1, 1, -4, -3, -2, 11, 2, -3, -4, -3, -2], // W[-2, -2, -2, -3, -2, -1, -2, -3, 2, -1, -1, -2, -1, 3, -3, -2, -2, 2, 7, -1, -3, -2, -1], // Y[0, -3, -3, -3, -1, -2, -2, -3, -3, 3, 1, -2, 1, -1, -2, -2, 0, -3, -1, 4, -3, -2, -1], // V[-2, -1, 3, 4, -3, 0, 1, -1, 0, -3, -4, 0, -3, -3, -2, 0, -1, -4, -3, -3, 4, 1, -1], // B[-1, 0, 0, 1, -3, 3, 4, -2, 0, -3, -3, 1, -1, -3, -1, 0, -1, -3, -2, -2, 1, 4, -1], // Z[0, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, 0, 0, -2, -1, -1, -1, -1, -1] // X]
Const blosum62x
blosum62x: number[][] = [[4, 0, -2, -1, -2, 0, -2, -1, -1, -1, -1, -2, -1, -1, -1, 1, 0, 0, -3, -2], // A[0, 9, -3, -4, -2, -3, -3, -1, -3, -1, -1, -3, -3, -3, -3, -1, -1, -1, -2, -2], // C[-2, -3, 6, 2, -3, -1, -1, -3, -1, -4, -3, 1, -1, 0, -2, 0, -1, -3, -4, -3], // D[-1, -4, 2, 5, -3, -2, 0, -3, 1, -3, -2, 0, -1, 2, 0, 0, -1, -2, -3, -2], // E[-2, -2, -3, -3, 6, -3, -1, 0, -3, 0, 0, -3, -4, -3, -3, -2, -2, -1, 1, 3], // F[0, -3, -1, -2, -3, 6, -2, -4, -2, -4, -3, 0, -2, -2, -2, 0, -2, -3, -2, -3], // G[-2, -3, -1, 0, -1, -2, 8, -3, -1, -3, -2, 1, -2, 0, 0, -1, -2, -3, -2, 2], // H[-1, -1, -3, -3, 0, -4, -3, 4, -3, 2, 1, -3, -3, -3, -3, -2, -1, 3, -3, -1], // I[-1, -3, -1, 1, -3, -2, -1, -3, 5, -2, -1, 0, -1, 1, 2, 0, -1, -2, -3, -2], // K[-1, -1, -4, -3, 0, -4, -3, 2, -2, 4, 2, -3, -3, -2, -2, -2, -1, 1, -2, -1], // L[-1, -1, -3, -2, 0, -3, -2, 1, -1, 2, 5, -2, -2, 0, -1, -1, -1, 1, -1, -1], // M[-2, -3, 1, 0, -3, 0, 1, -3, 0, -3, -2, 6, -2, 0, 0, 1, 0, -3, -4, -2], // N[-1, -3, -1, -1, -4, -2, -2, -3, -1, -3, -2, -2, 7, -1, -2, -1, -1, -2, -4, -3], // P[-1, -3, 0, 2, -3, -2, 0, -3, 1, -2, 0, 0, -1, 5, 1, 0, -1, -2, -2, -1], // Q[-1, -3, -2, 0, -3, -2, 0, -3, 2, -2, -1, 0, -2, 1, 5, -1, -1, -3, -3, -2], // R[1, -1, 0, 0, -2, 0, -1, -2, 0, -2, -1, 1, -1, 0, -1, 4, 1, -2, -3, -2], // S[0, -1, -1, -1, -2, -2, -2, -1, -1, -1, -1, 0, -1, -1, -1, 1, 5, 0, -2, -2], // T[0, -1, -3, -2, -1, -3, -3, 3, -2, 1, 1, -3, -2, -2, -3, -2, 0, 4, -3, -1], // V[-3, -2, -4, -3, 1, -2, -2, -3, -3, -2, -1, -4, -4, -2, -3, -3, -2, -3, 11, 2], // W[-2, -2, -3, -2, 3, -3, 2, -1, -2, -1, -1, -2, -3, -1, -2, -2, -2, -1, 2, 7] // Y]
Const bohrToAngstromFactor
bohrToAngstromFactor: 0.529177210859 = 0.529177210859
Const calculateSecondaryStructure
calculateSecondaryStructure: calculateSecondaryStructure = (function () {// Implementation for proteins based on "pv"//// assigns secondary structure information based on a simple and very fast// algorithm published by Zhang and Skolnick in their TM-align paper.// Reference://// TM-align: a protein structure alignment algorithm based on the Tm-score// (2005) NAR, 33(7) 2302-2309const zhangSkolnickSS = function (polymer: Polymer, i: number, distances: number[], delta: number) {const structure = polymer.structureconst offset = polymer.residueIndexStartconst rp1 = structure.getResidueProxy()const rp2 = structure.getResidueProxy()const ap1 = structure.getAtomProxy()const ap2 = structure.getAtomProxy()for (let j = Math.max(0, i - 2); j <= i; ++j) {for (let k = 2; k < 5; ++k) {if (j + k >= polymer.residueCount) {continue}rp1.index = offset + jrp2.index = offset + j + kap1.index = rp1.traceAtomIndexap2.index = rp2.traceAtomIndexconst d = ap1.distanceTo(ap2)if (Math.abs(d - distances[ k - 2 ]) > delta) {return false}}}return true}const isHelical = function (polymer: Polymer, i: number) {const helixDistances = [ 5.45, 5.18, 6.37 ]const helixDelta = 2.1return zhangSkolnickSS(polymer, i, helixDistances, helixDelta)}const isSheet = function (polymer: Polymer, i: number) {const sheetDistances = [ 6.1, 10.4, 13.0 ]const sheetDelta = 1.42return zhangSkolnickSS(polymer, i, sheetDistances, sheetDelta)}const proteinPolymer = function (p: Polymer) {const residueStore = p.residueStoreconst offset = p.residueIndexStartfor (let i = 0, il = p.residueCount; i < il; ++i) {let sstruc = 'c'if (isHelical(p, i)) {sstruc = 'h'} else if (isSheet(p, i)) {sstruc = 'e'}residueStore.sstruc[ offset + i ] = sstruc.charCodeAt(0)}}const cgPolymer = function (p: Polymer) {const localAngle = 20const centerDist = 2.0const residueStore = p.residueStoreconst offset = p.residueIndexStartconst helixbundle = new Helixbundle(p)const pos = helixbundle.positionconst c1 = new Vector3()const c2 = new Vector3()for (let i = 0, il = p.residueCount; i < il; ++i) {c1.fromArray(pos.center as any, i * 3) // TODOc2.fromArray(pos.center as any, i * 3 + 3) // TODOconst d = c1.distanceTo(c2)if (d < centerDist && d > 1.0 && pos.bending[ i ] < localAngle) {residueStore.sstruc[ offset + i ] = 'h'.charCodeAt(0)residueStore.sstruc[ offset + i + 1 ] = 'h'.charCodeAt(0)}}}return function calculateSecondaryStructure (structure: Structure) {if (Debug) Log.time('calculateSecondaryStructure')structure.eachPolymer(function (p) {// assign secondary structureif (p.residueCount < 4) returnif (p.isCg()) {cgPolymer(p)} else if (p.isProtein()) {proteinPolymer(p)} else {return}// set lone secondary structure assignments to "c"let prevSstruc: stringlet sstrucCount = 0p.eachResidue(function (r: ResidueProxy) {if (r.sstruc === prevSstruc) {sstrucCount += 1} else {if (sstrucCount === 1) {r.index -= 1r.sstruc = 'c'}sstrucCount = 1prevSstruc = r.sstruc}})})if (Debug) Log.timeEnd('calculateSecondaryStructure')}}())
Const charArray
charArray: string[] = []
Const charmmTimeUnitFactor
charmmTimeUnitFactor: 20.45482949774598 = 20.45482949774598
Const chars
chars: string[] = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('')
Const dAminoAcids
dAminoAcids: string[] = ['DAL', // D-ALANINE'DAR', // D-ARGININE'DSG', // D-ASPARAGINE'DAS', // D-ASPARTIC ACID'DCY', // D-CYSTEINE'DGL', // D-GLUTAMIC ACID'DGN', // D-GLUTAMINE'DHI', // D-HISTIDINE'DIL', // D-ISOLEUCINE'DLE', // D-LEUCINE'DLY', // D-LYSINE'MED', // D-METHIONINE'DPN', // D-PHENYLALANINE'DPR', // D-PROLINE'DSN', // D-SERINE'DTH', // D-THREONINE'DTR', // D-TRYPTOPHAN'DTY', // D-TYROSINE'DVA', // D-VALINE'DNE' // D-NORLEUCINE// ??? // D-SELENOCYSTEINE]
Const defaultByteLength
defaultByteLength: number = 1024 * 8
Const elm1
elm1: string[] = [ 'H', 'C', 'O', 'N', 'S', 'P' ]
Const elm2
elm2: string[] = [ 'NA', 'CL', 'FE' ]
Const entityKeyList
entityKeyList: string[] = ['MOL_ID', 'MOLECULE', 'CHAIN', 'FRAGMENT', 'SYNONYM','EC', 'ENGINEERED', 'MUTATION', 'OTHER_DETAILS']
Const eye
eye: Vector3 = new Vector3(0, 0, 0)
Const halBondElements
halBondElements: number[] = [17, 35, 53, 85]
Const mapping
mapping: Float32Array = new Float32Array([-1.0, -1.0, -1.0,1.0, -1.0, -1.0,1.0, -1.0, 1.0,-1.0, -1.0, 1.0,-1.0, 1.0, -1.0,1.0, 1.0, -1.0,1.0, 1.0, 1.0,-1.0, 1.0, 1.0])
Const mappingIndices
mappingIndices: Uint16Array = new Uint16Array([0, 1, 2,0, 2, 3,1, 5, 6,1, 6, 2,4, 6, 5,4, 7, 6,0, 7, 4,0, 3, 7,0, 5, 1,0, 4, 5,3, 2, 6,3, 6, 7])
Const matrix
matrix: Matrix4 = new Matrix4()
Const maxRadius
maxRadius: 12 = 12
Const mmtfBaseUrl
mmtfBaseUrl: "//mmtf.rcsb.org/v1.0/" = "//mmtf.rcsb.org/v1.0/"
Const mmtfFullUrl
mmtfFullUrl: string = mmtfBaseUrl + 'full/'
Const mmtfReducedUrl
mmtfReducedUrl: string = mmtfBaseUrl + 'reduced/'
Const modelViewProjectionMatrix
modelViewProjectionMatrix: Matrix4 = new Matrix4()
Const nHBondDistance
nHBondDistance: 1.04 = 1.04
Const nHCharge
nHCharge: 0.25 = 0.25
Const negateVector
negateVector: Vector3 = new Vector3(-1, -1, -1)
Const normalMatrix
normalMatrix: Matrix3 = new Matrix3()
Const passive
passive: false | { passive: boolean } = SupportsPassiveEventHandler ? { passive: true } : false
Const pixelBufferFloat
pixelBufferFloat: Float32Array = new Float32Array(4 * 25)
Const pixelBufferUint
pixelBufferUint: Uint8Array = new Uint8Array(4 * 25)
Const pixelOrder
pixelOrder: number[] = [12,7,13,17,11,6,8,18,16,2,14,22,10,1,3,9,19,23,21,15,5,0,4,24,20]
Const pointArray
pointArray: Float32Array = new Float32Array(3)
Const pointLength
pointLength: 3 = 3
Const pointsInTriangle
pointsInTriangle: 3 = 3
Const projectionMatrixInverse
projectionMatrixInverse: Matrix4 = new Matrix4()
Const projectionMatrixTranspose
projectionMatrixTranspose: Matrix4 = new Matrix4()
Const quadIndices
quadIndices: Uint16Array = new Uint16Array([0, 1, 2,1, 3, 2])
Const quadUvs
quadUvs: Float32Array = new Float32Array([0, 1,0, 0,1, 1,1, 0])
Const reAttr
reAttr: RegExp = /([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/
Const reCollapseEqual
reCollapseEqual: RegExp = /\s*=\s*/g
Const reContent
reContent: RegExp = /^([^<]*)/
Const reCurlyWhitespace
reCurlyWhitespace: RegExp = /[^{}\s]*{[^{}]+}|[^{}\s]+/g
Const reDoubleQuote
reDoubleQuote: RegExp = /"/g
Const reField
reField: RegExp = /\[ (.+) \]/
Const reInclude
reInclude: RegExp = /^(?!\/\/)\s*#include\s+(\S+)/gmi
Const reInteger
reInteger: RegExp = /^[1-9]$/
Const reItem
reItem: RegExp = /> +<(.+)>/
Const reProtocol
reProtocol: RegExp = /^((http|https|ftp):)*\/\//
Const reQuotedWhitespace
reQuotedWhitespace: RegExp = /'((?:(?!'\s).)*)'|"((?:(?!"\s).)*)"|(\S+)/g
Const reScientificNotation
reScientificNotation: RegExp = /-?\d+(?:\.\d*)?(?:[eE][+-]?\d+)?/g
Const reStrip
reStrip: RegExp = /^['"]|['"]$/g
Const reTag
reTag: RegExp = /^<([\w-:.]+)\s*/
Const reTitle
reTitle: RegExp = /(^\*|REMARK)*/
Const reTrimCurly
reTrimCurly: RegExp = /^{+|}+$/g
Const reTrimQuotes
reTrimQuotes: RegExp = /^['"]+|['"]+$/g
Const reWhitespace
reWhitespace: RegExp = /\s+/
Const reWhitespaceComma
reWhitespaceComma: RegExp = /[\s,]+/
Const resolution
resolution: Vector2 = new Vector2()
Const scale
scale: Vector3 = new Vector3()
Const shaderCache
shaderCache: {}
Const suffixUrl
suffixUrl: "/SDF?record_type=3d" = "/SDF?record_type=3d"
Const swap
- swap(A: NumberArray, i0: number, i1: number, t: number): void
-
Parameters
-
-
i0: number
-
i1: number
-
t: number
Returns void
Const target
target: Vector3 = new Vector3()
Const temp
temp: Float32Array = new Float32Array(4)
Const tmpAlignMatrix
tmpAlignMatrix: Matrix4 = new Matrix4()
Const tmpAtomVector
tmpAtomVector: Vector3 = new Vector3()
Const tmpBox
tmpBox: Box3 = new Box3()
Const tmpCanvasVector
tmpCanvasVector: Vector3 = new Vector3()
Const tmpColor
tmpColor: Color = new Color()
Const tmpMatrix
tmpMatrix: Matrix4 = new Matrix4()
Const tmpP
tmpP: Vector3 = new Vector3()
Const tmpPanMatrix
tmpPanMatrix: Matrix4 = new Matrix4()
Const tmpPanVector
tmpPanVector: Vector3 = new Vector3()
Const tmpQ
tmpQ: Quaternion = new Quaternion()
Const tmpRotateCameraMatrix
tmpRotateCameraMatrix: Matrix4 = new Matrix4()
Const tmpRotateMatrix
tmpRotateMatrix: Matrix4 = new Matrix4()
Const tmpRotateQuaternion
tmpRotateQuaternion: Quaternion = new Quaternion()
Const tmpRotateQuaternion2
tmpRotateQuaternion2: Quaternion = new Quaternion()
Const tmpRotateVector
tmpRotateVector: Vector3 = new Vector3()
Const tmpRotateXMatrix
tmpRotateXMatrix: Matrix4 = new Matrix4()
Const tmpRotateYMatrix
tmpRotateYMatrix: Matrix4 = new Matrix4()
Const tmpRotateZMatrix
tmpRotateZMatrix: Matrix4 = new Matrix4()
Const tmpS
tmpS: Vector3 = new Vector3()
Const tmpScaleVector
tmpScaleVector: Vector3 = new Vector3()
Const tmpVec
tmpVec: Vector3 = new Vector3()
Const tmpZoomVector
tmpZoomVector: Vector3 = new Vector3()
Const up
up: Vector3 = new Vector3()
Const uuid
uuid: any[] = new Array(36)
Const vMeshNormal
vMeshNormal: Vector3 = new Vector3()
Const vTangent
vTangent: Vector3 = new Vector3()
Const vertex
vertex: Vector3 = new Vector3()
Parse Xml
Alexander Rose alexander.rose@weirdbyte.de