mirror of
https://github.com/molstar/molstar.git
synced 2026-06-05 22:31:26 +08:00
Compare commits
5 Commits
v2.0.0-dev
...
v2.0.0-dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
24274cc53b | ||
|
|
870cef2fd4 | ||
|
|
bf7b1f5bfd | ||
|
|
9c9a0312db | ||
|
|
724fa2a7cd |
6280
package-lock.json
generated
6280
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "molstar",
|
||||
"version": "2.0.0-dev.8",
|
||||
"version": "2.0.0-dev.9",
|
||||
"description": "A comprehensive macromolecular library.",
|
||||
"homepage": "https://github.com/molstar/molstar#readme",
|
||||
"repository": {
|
||||
|
||||
@@ -49,11 +49,13 @@
|
||||
if (debugMode) molstar.setDebugMode(debugMode, debugMode);
|
||||
|
||||
var hideControls = getParam('hide-controls', '[^&]+').trim() === '1';
|
||||
var collapseLeftPanel = getParam('collapse-left-panel', '[^&]+').trim() === '1';
|
||||
var pdbProvider = getParam('pdb-provider', '[^&]+').trim().toLowerCase();
|
||||
var emdbProvider = getParam('emdb-provider', '[^&]+').trim().toLowerCase();
|
||||
var viewer = new molstar.Viewer('app', {
|
||||
layoutShowControls: !hideControls,
|
||||
viewportShowExpand: false,
|
||||
collapseLeftPanel: collapseLeftPanel,
|
||||
pdbProvider: pdbProvider || 'pdbe',
|
||||
emdbProvider: emdbProvider || 'pdbe',
|
||||
});
|
||||
|
||||
@@ -68,6 +68,7 @@ const DefaultViewerOptions = {
|
||||
layoutShowSequence: true,
|
||||
layoutShowLog: true,
|
||||
layoutShowLeftPanel: true,
|
||||
collapseLeftPanel: false,
|
||||
disableAntialiasing: false,
|
||||
pixelScale: 1,
|
||||
enableWboit: true,
|
||||
@@ -106,6 +107,12 @@ export class Viewer {
|
||||
isExpanded: o.layoutIsExpanded,
|
||||
showControls: o.layoutShowControls,
|
||||
controlsDisplay: o.layoutControlsDisplay,
|
||||
regionState: {
|
||||
bottom: 'full',
|
||||
left: o.collapseLeftPanel ? 'collapsed' : 'full',
|
||||
right: 'full',
|
||||
top: 'full',
|
||||
}
|
||||
},
|
||||
},
|
||||
components: {
|
||||
|
||||
@@ -192,6 +192,15 @@ export function createIsosurfaceBuffers(ctx: WebGLContext, activeVoxelsBase: Tex
|
||||
|
||||
//
|
||||
|
||||
/**
|
||||
* GPU isosurface extraction
|
||||
*
|
||||
* Algorithm from "High‐speed Marching Cubes using HistoPyramids"
|
||||
* by C Dyken, G Ziegler, C Theobalt, HP Seidel
|
||||
* https://doi.org/10.1111/j.1467-8659.2008.01182.x
|
||||
*
|
||||
* Implementation based on http://www.miaumiau.cat/2016/10/stream-compaction-in-webgl/
|
||||
*/
|
||||
export function extractIsosurface(ctx: WebGLContext, volumeData: Texture, gridDim: Vec3, gridTexDim: Vec3, gridTexScale: Vec2, transform: Mat4, isoValue: number, packedGroup: boolean, vertexTexture?: Texture, groupTexture?: Texture, normalTexture?: Texture) {
|
||||
// console.time('calcActiveVoxels');
|
||||
const activeVoxelsTex = calcActiveVoxels(ctx, volumeData, gridDim, gridTexDim, isoValue, gridTexScale);
|
||||
|
||||
@@ -5,13 +5,10 @@
|
||||
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
||||
*/
|
||||
|
||||
import { StateActions } from '../mol-plugin-state/actions';
|
||||
import { AssignColorVolume } from '../mol-plugin-state/actions/volume';
|
||||
import { StateTransforms } from '../mol-plugin-state/transforms';
|
||||
|
||||
import { StateTransformParameters } from '../mol-plugin-ui/state/common';
|
||||
import { DefaultPluginSpec, PluginSpec } from '../mol-plugin/spec';
|
||||
import { StateAction, StateTransformer } from '../mol-state';
|
||||
import { BoxifyVolumeStreaming, CreateVolumeStreamingBehavior, InitVolumeStreaming } from '../mol-plugin/behavior/dynamic/volume-streaming/transformers';
|
||||
|
||||
export { PluginUISpec };
|
||||
|
||||
@@ -40,50 +37,4 @@ namespace PluginUISpec {
|
||||
|
||||
export const DefaultPluginUISpec = (): PluginUISpec => ({
|
||||
...DefaultPluginSpec(),
|
||||
actions: [
|
||||
PluginSpec.Action(StateActions.Structure.DownloadStructure),
|
||||
PluginSpec.Action(StateActions.Structure.AddTrajectory),
|
||||
PluginSpec.Action(StateActions.Volume.DownloadDensity),
|
||||
PluginSpec.Action(StateActions.DataFormat.DownloadFile),
|
||||
PluginSpec.Action(StateActions.DataFormat.OpenFiles),
|
||||
PluginSpec.Action(StateActions.Structure.EnableModelCustomProps),
|
||||
PluginSpec.Action(StateActions.Structure.EnableStructureCustomProps),
|
||||
|
||||
// Volume streaming
|
||||
PluginSpec.Action(InitVolumeStreaming),
|
||||
PluginSpec.Action(BoxifyVolumeStreaming),
|
||||
PluginSpec.Action(CreateVolumeStreamingBehavior),
|
||||
|
||||
PluginSpec.Action(StateTransforms.Data.Download),
|
||||
PluginSpec.Action(StateTransforms.Data.ParseCif),
|
||||
PluginSpec.Action(StateTransforms.Data.ParseCcp4),
|
||||
PluginSpec.Action(StateTransforms.Data.ParseDsn6),
|
||||
|
||||
PluginSpec.Action(StateTransforms.Model.TrajectoryFromMmCif),
|
||||
PluginSpec.Action(StateTransforms.Model.TrajectoryFromCifCore),
|
||||
PluginSpec.Action(StateTransforms.Model.TrajectoryFromPDB),
|
||||
PluginSpec.Action(StateTransforms.Model.TransformStructureConformation),
|
||||
PluginSpec.Action(StateTransforms.Model.StructureFromModel),
|
||||
PluginSpec.Action(StateTransforms.Model.StructureFromTrajectory),
|
||||
PluginSpec.Action(StateTransforms.Model.ModelFromTrajectory),
|
||||
PluginSpec.Action(StateTransforms.Model.StructureSelectionFromScript),
|
||||
PluginSpec.Action(StateTransforms.Representation.StructureRepresentation3D),
|
||||
PluginSpec.Action(StateTransforms.Representation.StructureSelectionsDistance3D),
|
||||
PluginSpec.Action(StateTransforms.Representation.StructureSelectionsAngle3D),
|
||||
PluginSpec.Action(StateTransforms.Representation.StructureSelectionsDihedral3D),
|
||||
PluginSpec.Action(StateTransforms.Representation.StructureSelectionsLabel3D),
|
||||
PluginSpec.Action(StateTransforms.Representation.StructureSelectionsOrientation3D),
|
||||
PluginSpec.Action(StateTransforms.Representation.ModelUnitcell3D),
|
||||
PluginSpec.Action(StateTransforms.Representation.ExplodeStructureRepresentation3D),
|
||||
PluginSpec.Action(StateTransforms.Representation.UnwindStructureAssemblyRepresentation3D),
|
||||
PluginSpec.Action(StateTransforms.Representation.OverpaintStructureRepresentation3DFromScript),
|
||||
PluginSpec.Action(StateTransforms.Representation.TransparencyStructureRepresentation3DFromScript),
|
||||
|
||||
PluginSpec.Action(AssignColorVolume),
|
||||
PluginSpec.Action(StateTransforms.Volume.VolumeFromCcp4),
|
||||
PluginSpec.Action(StateTransforms.Volume.VolumeFromDsn6),
|
||||
PluginSpec.Action(StateTransforms.Volume.VolumeFromCube),
|
||||
PluginSpec.Action(StateTransforms.Volume.VolumeFromDx),
|
||||
PluginSpec.Action(StateTransforms.Representation.VolumeRepresentation3D),
|
||||
]
|
||||
});
|
||||
@@ -17,6 +17,10 @@ import { PluginBehaviors } from './behavior';
|
||||
import { StructureFocusRepresentation } from './behavior/dynamic/selection/structure-focus-representation';
|
||||
import { PluginConfigItem } from './config';
|
||||
import { PluginLayoutStateProps } from './layout';
|
||||
import { StateActions } from '../mol-plugin-state/actions';
|
||||
import { AssignColorVolume } from '../mol-plugin-state/actions/volume';
|
||||
import { StateTransforms } from '../mol-plugin-state/transforms';
|
||||
import { BoxifyVolumeStreaming, CreateVolumeStreamingBehavior, InitVolumeStreaming } from '../mol-plugin/behavior/dynamic/volume-streaming/transformers';
|
||||
|
||||
export { PluginSpec };
|
||||
|
||||
@@ -55,6 +59,52 @@ namespace PluginSpec {
|
||||
}
|
||||
|
||||
export const DefaultPluginSpec = (): PluginSpec => ({
|
||||
actions: [
|
||||
PluginSpec.Action(StateActions.Structure.DownloadStructure),
|
||||
PluginSpec.Action(StateActions.Structure.AddTrajectory),
|
||||
PluginSpec.Action(StateActions.Volume.DownloadDensity),
|
||||
PluginSpec.Action(StateActions.DataFormat.DownloadFile),
|
||||
PluginSpec.Action(StateActions.DataFormat.OpenFiles),
|
||||
PluginSpec.Action(StateActions.Structure.EnableModelCustomProps),
|
||||
PluginSpec.Action(StateActions.Structure.EnableStructureCustomProps),
|
||||
|
||||
// Volume streaming
|
||||
PluginSpec.Action(InitVolumeStreaming),
|
||||
PluginSpec.Action(BoxifyVolumeStreaming),
|
||||
PluginSpec.Action(CreateVolumeStreamingBehavior),
|
||||
|
||||
PluginSpec.Action(StateTransforms.Data.Download),
|
||||
PluginSpec.Action(StateTransforms.Data.ParseCif),
|
||||
PluginSpec.Action(StateTransforms.Data.ParseCcp4),
|
||||
PluginSpec.Action(StateTransforms.Data.ParseDsn6),
|
||||
|
||||
PluginSpec.Action(StateTransforms.Model.TrajectoryFromMmCif),
|
||||
PluginSpec.Action(StateTransforms.Model.TrajectoryFromCifCore),
|
||||
PluginSpec.Action(StateTransforms.Model.TrajectoryFromPDB),
|
||||
PluginSpec.Action(StateTransforms.Model.TransformStructureConformation),
|
||||
PluginSpec.Action(StateTransforms.Model.StructureFromModel),
|
||||
PluginSpec.Action(StateTransforms.Model.StructureFromTrajectory),
|
||||
PluginSpec.Action(StateTransforms.Model.ModelFromTrajectory),
|
||||
PluginSpec.Action(StateTransforms.Model.StructureSelectionFromScript),
|
||||
PluginSpec.Action(StateTransforms.Representation.StructureRepresentation3D),
|
||||
PluginSpec.Action(StateTransforms.Representation.StructureSelectionsDistance3D),
|
||||
PluginSpec.Action(StateTransforms.Representation.StructureSelectionsAngle3D),
|
||||
PluginSpec.Action(StateTransforms.Representation.StructureSelectionsDihedral3D),
|
||||
PluginSpec.Action(StateTransforms.Representation.StructureSelectionsLabel3D),
|
||||
PluginSpec.Action(StateTransforms.Representation.StructureSelectionsOrientation3D),
|
||||
PluginSpec.Action(StateTransforms.Representation.ModelUnitcell3D),
|
||||
PluginSpec.Action(StateTransforms.Representation.ExplodeStructureRepresentation3D),
|
||||
PluginSpec.Action(StateTransforms.Representation.UnwindStructureAssemblyRepresentation3D),
|
||||
PluginSpec.Action(StateTransforms.Representation.OverpaintStructureRepresentation3DFromScript),
|
||||
PluginSpec.Action(StateTransforms.Representation.TransparencyStructureRepresentation3DFromScript),
|
||||
|
||||
PluginSpec.Action(AssignColorVolume),
|
||||
PluginSpec.Action(StateTransforms.Volume.VolumeFromCcp4),
|
||||
PluginSpec.Action(StateTransforms.Volume.VolumeFromDsn6),
|
||||
PluginSpec.Action(StateTransforms.Volume.VolumeFromCube),
|
||||
PluginSpec.Action(StateTransforms.Volume.VolumeFromDx),
|
||||
PluginSpec.Action(StateTransforms.Representation.VolumeRepresentation3D),
|
||||
],
|
||||
behaviors: [
|
||||
PluginSpec.Behavior(PluginBehaviors.Representation.HighlightLoci),
|
||||
PluginSpec.Behavior(PluginBehaviors.Representation.SelectLoci),
|
||||
|
||||
Reference in New Issue
Block a user