Skip to content
This repository was archived by the owner on Oct 29, 2024. It is now read-only.

Idea Tracker #9

Open
zachcp opened this issue Sep 19, 2024 · 0 comments
Open

Idea Tracker #9

zachcp opened this issue Sep 19, 2024 · 0 comments

Comments

@zachcp
Copy link
Owner

zachcp commented Sep 19, 2024

Representation Types

Here I am thinking there can be a series of functions that take a PDB and emit a mesh. Right now only spheres are implemented because they are easiest. However, cartoon and ball and stick are obvious next choices.

Types

  • Cartoon
  • BallAndStick

Implementation

  • Add RenderOptions enum.
  • Update Strucutre.to_mesh() match statement
  • write the function returning the mesh

Selection

For the moment I think using something simple makes sense - e.g. iterating through Chains/Residues Atoms on pdbtbk:"PDBs directly. In time it might make sense to see if it is worth adopting molscript like the Molstar team has done.

Types:

  • by residue
  • by chain
  • by restype
  • byelement
  • by SecondaryStrucuture

Rendering Updates and Motions

We should embrace the Bevy ECS system, In this case we would like to be able to describe selections as PDBs and modify them. In any event we will want ob e able to reach into th data and modify it while running.

Camera Presets // UI

This is the biggest bang for buck as simple examples that allow interactive hot-reloading style dev will accelerate people's ability to contribute. I saw a recent interesting tool that should allow for relatively rapid prototyping: lommix. It would be particularly nice if a small MVP could:

  1. load an arbitrary PDB <----- UI that can do this on a demo page would be great/strong.
  2. offer a selection of lighting choices
  3. offer a selection of materials
  4. offer a selection of color choices
  5. offer a selection of render styles <-- todo
  6. offer a UI for selcing, subselting, etc <-- todo

Related or Prior art

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant