diff --git a/src/mol-model/structure/model/properties/utils/secondary-structure.ts b/src/mol-model/structure/model/properties/utils/secondary-structure.ts index 1398c4a240ebf623c615b280de6db4188fb4fe2d..f645b9b29af7afb7c2eb0b1574ff92acdb7b2505 100644 --- a/src/mol-model/structure/model/properties/utils/secondary-structure.ts +++ b/src/mol-model/structure/model/properties/utils/secondary-structure.ts @@ -46,7 +46,7 @@ const hbondEnergyCutoff = -0.5 const hbondEnergyMinimal = -9.9 interface DSSPContext { - params: PD.Values<SecondaryStructureComputationParams>, + params: Partial<PD.Values<SecondaryStructureComputationParams>>, getResidueFlag: (f: DSSPType) => SecondaryStructureType, getFlagName: (f: DSSPType) => String, @@ -120,9 +120,8 @@ export type SecondaryStructureComputationParams = typeof SecondaryStructureCompu export function computeSecondaryStructure(hierarchy: AtomicHierarchy, conformation: AtomicConformation, - params?: PD.Values<SecondaryStructureComputationParams>): SecondaryStructure { - // TODO is this the best way? is should be possible to provide partial 'overrides' of default values - if (!params) params = PD.getDefaultValues(SecondaryStructureComputationParams); + params: Partial<PD.Values<SecondaryStructureComputationParams>> = {}): SecondaryStructure { + params = { ...PD.getDefaultValues(SecondaryStructureComputationParams), ...params }; // TODO use Zhang-Skolnik for CA alpha only parts or for coarse parts with per-residue elements const { lookup3d, proteinResidues } = calcAtomicTraceLookup3D(hierarchy, conformation) @@ -132,7 +131,7 @@ export function computeSecondaryStructure(hierarchy: AtomicHierarchy, const residueCount = proteinResidues.length const flags = new Uint32Array(residueCount) - console.log(`calculating secondary structure elements using ${ params.oldDefinition ? 'old' : 'revised'} definition and ${ params.oldOrdering ? 'old' : 'revised'} ordering of secondary structure elements`) + // console.log(`calculating secondary structure elements using ${ params.oldDefinition ? 'old' : 'revised'} definition and ${ params.oldOrdering ? 'old' : 'revised'} ordering of secondary structure elements`) const torsionAngles = calculateDihedralAngles(hierarchy, conformation, proteinResidues, backboneIndices)