Ver Fonte

coarse grained tweaks

- coarse grained if less than three times as many atoms as polymer residues
- don't try dssp if coarse grained
Alexander Rose há 4 anos atrás
pai
commit
a17da36410

+ 1 - 1
src/mol-model-props/computed/secondary-structure.ts

@@ -69,7 +69,7 @@ async function computeDssp(structure: Structure, props: DSSPComputationProps): P
     const map = new Map<number, SecondaryStructure>();
     for (let i = 0, il = structure.unitSymmetryGroups.length; i < il; ++i) {
         const u = structure.unitSymmetryGroups[i].units[0];
-        if (Unit.isAtomic(u)) {
+        if (Unit.isAtomic(u) && !Model.isCoarseGrained(u.model)) {
             const secondaryStructure = await computeUnitDSSP(u, props);
             map.set(u.invariantId, secondaryStructure);
         }

+ 2 - 2
src/mol-model/structure/model/model.ts

@@ -227,7 +227,7 @@ export namespace Model {
 
     const CoarseGrainedProp = '__CoarseGrained__';
     /**
-     * Has typical coarse grained atom names (BB, SC1) or less than twice as many
+     * Has typical coarse grained atom names (BB, SC1) or less than three times as many
      * atoms as polymer residues (C-alpha only models).
      */
     export function isCoarseGrained(model: Model): boolean {
@@ -251,7 +251,7 @@ export namespace Model {
 
         const coarseGrained = (hasBB && hasSC1) || (
             polymerResidueCount && atomCount
-                ? atomCount / polymerResidueCount < 2
+                ? atomCount / polymerResidueCount < 3
                 : false
         );
         model._staticPropertyData[CoarseGrainedProp] = coarseGrained;