https://github.com/alexriss/chemfilesviewer.jl

Julia library to visualize molecules and other chemical structures

https://github.com/alexriss/chemfilesviewer.jl

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.1%) to scientific vocabulary

Keywords

3d chemistry julia julialang molecules render science visualization

Keywords from Contributors

interpretability standardization animal hack autograder report
Last synced: 5 months ago · JSON representation

Repository

Julia library to visualize molecules and other chemical structures

Basic Info
  • Host: GitHub
  • Owner: alexriss
  • License: gpl-3.0
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 3.54 MB
Statistics
  • Stars: 21
  • Watchers: 3
  • Forks: 0
  • Open Issues: 3
  • Releases: 12
Topics
3d chemistry julia julialang molecules render science visualization
Created over 4 years ago · Last pushed 7 months ago
Metadata Files
Readme License

README.md

ChemfilesViewer

Stable Dev Build Status Coverage Twitter

A julia library to visualize chemical molecules and other structures in the Chemfiles format.

The structures can be rendered in Jupyter or in an external window (via Blink). Pluto should work if WebIO support is implemented.

Demo

demo

Usage

```julia using ChemfilesViewer

read molecule

mol = load_moelcule("mol.sdf")

render molecule

render_molecule(mol)

render another molecule in the same window

render_molecule!(mol)

save reference to last used output

viewerid = getcurrentchemviewerid()

change properties

d = generatedictmolecule(mol) d["atoms"][1]["color"] = "#f00000" d["atoms"][1]["label"] = "Important atom" d["atoms"][1]["radius"] = 1.0 renderdictmolecule(d, chemviewerid=viewerid)

add labels

d["labels"] = [ Dict( "label" => "porphyrin", "location" => [0,0,2], "color" => "#600000" ), Dict( "label" => "pyrrole", "location" => [-0.6, 3.2, 0], "style" => "font-size:80%;opacity:0.5;" ) ] renderdictmolecule!(d, options=Dict("showLabels" => true))

change view

setcameraposition!("x", "-") setoptions!(Dict("drawingType" => "wireframe")) setcameraposition!("c", "+") setoptions!(Dict("drawingType" => "ball and stick"))

change style

set_options!(Dict("styles" => Dict( "H" => Dict("color" => "#c0c0c0", "radius" => 0.4), "N" => Dict("color" => "#241571"), "bond" => Dict("color" => "#ffffff", "radius" => 0.3) )))

clar labels (atom-labels are kept, though)

clear_labels!()

add label

add_label!(Dict( "label" => "some other text", "location" => [2,5,5], "style" => "font-weight:bold;color:blue;font-size:3em;" ))

save image

save_image("test.png")

save labels (this is somewhat experimental)

saveimagelabels("test_labels.png")

save the overlay of the render and the labels

saveoverlay("test.png", "testlabels.png", "test_both.png")

create a nice fadeout effect

save("testfadeout.png", fadeoutimg("test_both.png")) ```

Use mouse to rotate, zoom and pan. Keyboard shortcuts x, y, z set the view along the x, y and z axis. Analogously, a, b, c set the view along the unit cell vectors. Uppercase letters (X, Y, Z, A, B, C) set the opposite view direction.

Notes

The javascript rendering is based on Patrick Fuller's imolecule.

Get in touch

Please post issues, suggestions, and pull requests on github. Follow me on twitter for updates and more information about this project: Twitter

Owner

  • Name: Alex Riss
  • Login: alexriss
  • Kind: user
  • Location: Munich, Germany
  • Company: Technical University of Munich

Scientist (Physics, Chemistry, Scanning Probe Microscopy), Data, Visualization, Health/Fitness/Bio, Photography

GitHub Events

Total
  • Create event: 1
  • Release event: 1
  • Issues event: 1
  • Watch event: 1
  • Issue comment event: 2
  • Push event: 2
Last Year
  • Create event: 1
  • Release event: 1
  • Issues event: 1
  • Watch event: 1
  • Issue comment event: 2
  • Push event: 2

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 71
  • Total Committers: 2
  • Avg Commits per committer: 35.5
  • Development Distribution Score (DDS): 0.014
Past Year
  • Commits: 8
  • Committers: 1
  • Avg Commits per committer: 8.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Alex Riss 0****x@r****t 70
github-actions[bot] 4****] 1
Committer Domains (Top 20 + Academic)
riss.at: 1

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 3
  • Total pull requests: 1
  • Average time to close issues: less than a minute
  • Average time to close pull requests: N/A
  • Total issue authors: 3
  • Total pull request authors: 1
  • Average comments per issue: 13.67
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • alexriss (1)
  • rozmanmg (1)
  • JuliaTagBot (1)
Pull Request Authors
  • github-actions[bot] (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

frontend/package-lock.json npm
  • 137 dependencies
frontend/package.json npm
  • @rollup/plugin-commonjs ^21.0.0 development
  • @rollup/plugin-node-resolve ^13.0.4 development
  • rollup ^2.56.0 development
  • rollup-plugin-terser ^7.0.2 development
  • serve ^12.0.0 development
  • dom-to-image ^2.6.0
  • three ^0.131.3
.github/workflows/CI.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • codecov/codecov-action v2 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-docdeploy v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/register.yml actions
  • julia-actions/RegisterAction latest composite
.github/workflows/CompatHelper.yml actions