src/color/hydrophobicity-colormaker.js
- /**
- * @file Hydrophobicity Colormaker
- * @author Alexander Rose <alexander.rose@weirdbyte.de>
- * @private
- */
-
- import { ColormakerRegistry } from '../globals.js'
- import Colormaker from './colormaker.js'
-
- import {
- ResidueHydrophobicity, DefaultResidueHydrophobicity
- } from '../structure/structure-constants.js'
-
- /**
- * Color by hydrophobicity
- */
- class HydrophobicityColormaker extends Colormaker {
- constructor (params) {
- super(params)
-
- if (!params.scale) {
- this.scale = 'RdYlGn'
- }
-
- var name
- var idx = 0 // 0: DGwif, 1: DGwoct, 2: Oct-IF
-
- var resHF = {}
- for (name in ResidueHydrophobicity) {
- resHF[ name ] = ResidueHydrophobicity[ name ][ idx ]
- }
-
- if (!params.domain) {
- var val
- var min = Infinity
- var max = -Infinity
-
- for (name in resHF) {
- val = resHF[ name ]
- min = Math.min(min, val)
- max = Math.max(max, val)
- }
-
- this.domain = [ min, 0, max ]
- }
-
- var hfScale = this.getScale()
-
- this.atomColor = function (a) {
- return hfScale(resHF[ a.resname ] || DefaultResidueHydrophobicity)
- }
- }
- }
-
- ColormakerRegistry.add('hydrophobicity', HydrophobicityColormaker)
-
- export default HydrophobicityColormaker