molstar
Version:
A comprehensive macromolecular library.
33 lines • 1.31 kB
JavaScript
/**
* Copyright (c) 2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
* @author Sebastian Bittrich <sebastian.bittrich@rcsb.org>
*/
import { SortedArray } from '../../../../mol-data/int';
export function getUnitProteinInfo(unit) {
var index = unit.model.atomicHierarchy.index;
var proteinElements = unit.proteinElements, residueIndex = unit.residueIndex;
var residueCount = proteinElements.length;
var unitProteinResidues = new Uint32Array(residueCount);
var c = new Int32Array(residueCount);
var h = new Int32Array(residueCount);
var o = new Int32Array(residueCount);
var n = new Int32Array(residueCount);
for (var i = 0; i < residueCount; ++i) {
var rI = residueIndex[proteinElements[i]];
unitProteinResidues[i] = rI;
c[i] = index.findAtomOnResidue(rI, 'C');
h[i] = index.findAtomOnResidue(rI, 'H');
o[i] = index.findAtomOnResidue(rI, 'O');
n[i] = index.findAtomOnResidue(rI, 'N');
}
return {
residueIndices: SortedArray.ofSortedArray(unitProteinResidues),
cIndices: c,
hIndices: h,
oIndices: o,
nIndices: n,
};
}
//# sourceMappingURL=protein-info.js.map