Giter Site home page Giter Site logo

ensnano's People

Contributors

thenlevy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ensnano's Issues

Execution error in rocket-export_oxDNA.oxdna/top on oxdna.org

Thank you again for your exceptional software development.

I am a beginner in both ENSnano and oxDNA.
So, I first attempted to run a simulation on oxen.org using the files in ENSnano-rocket_design.zip, which can be downloaded from http://www.ens-lyon.fr/ensnano/#rocket.

I uploaded two files (rocket-export oxDNA.oxdna and rocket-export oxDNA.top) and executed a "submit job" with the default settings.

I did, however, get the following error:

Error

INFO: seeding the RNG with 1259777439 
INFO: Initializing backend 
INFO: Backend precision: double 
INFO: Simulation type: MD 
INFO: The generator will try to take into account bonded interactions by choosing distances between bonded neighbours no larger than 2.000000 
INFO: Using '' as the input for sequence-dependent values 
INFO: Running Debye-Huckel at salt concentration = 1 
INFO: Using different widths for major and minor grooves 
INFO: pid: 13345 
DEBUG: Debye-Huckel parameters: Q=0.054300, lambda_0=0.361646, lambda=0.357493, r_high=1.072479, cutoff=2.571515 
DEBUG: Debye-Huckel parameters: debye_huckel_RC=1.608718e+00, debye_huckel_B=8.766182e-03 INFO: The Debye length at this temperature and salt concentration is 0.357493 
ERROR: Distance between bonded neighbors 15 and 16 exceeds acceptable values (d = 1.830765)

I assumed that I needed Relaxation, therefore I checked the Needs Relaxation box. But the outcomes were similar.

Error

INFO: seeding the RNG with -1692663956 
INFO: Initializing backend 
INFO: Backend precision: double 
INFO: Simulation type: MC 
INFO: Using unphysical backbone (DNA_relax interaction) 
INFO: The generator will try to take into account bonded interactions by choosing distances between bonded neighbours no larger than 2.000000 
INFO: Using '' as the input for sequence-dependent values 
INFO: Using default strength constant = 32.000000 for the DNA_relax interaction 
INFO: pid: 13451 
INFO: Using a maximum backbone force of 10 (the corresponding mbf_xmax is 0.169258) and a far value of 0.04

I would appreciate it if you could inform me of the required preprocessing to run ENSnano exported files in oxDNA. Thanks.

Make strand ends selectable

[Tested in dev]
Similar as in cadnano it would be nice to have the option to select endpoint nucleotides. This is usefull if one wants to extend the ends of open strands.

Cross-over suggestion in same strand

Two (independent?) requests:

  • Using groups (Red and Green) can sometimes be a bit unintuitive. E.g. if I want to quickly create cross-overs between neighboring helices based on cross-over suggestions I would have to create groups every time. Moved to #12
  • Currently it is no possible to get cross-over suggestions in the same strand (Even if they are on helices in different groups) . This could e.g. be useful for scaffold routing.

Export staples warning is incorrect

Tested in main
The Export Stapples[sic] shows a warning if the selected scaffold sequence doesn't match the length of the scaffold strand in the design. The numbers shown (lenght of scaffold and length of sequence) are both the length of the selected scaffold sequence.
image

Feature request: export to cadnano.json or custom sequence input

Hello,

First of all, this tool is simply awesome, I am very happy to use it in combination with Cadnano and export large structures of oxdna! Thanks for open source for the community!

But one thing is that cadnano can customize the input of each sequence. This software cannot specify the input of the sequence, so the design of many large-scale structures assembled from single-stranded DNA still needs to be designed with cadnano. So, I have a feature request - it would be great if ENSnano files could be exported to Cadnano json format or custom DNA strand input sequences could be specified, which would be especially useful for both simulation and cadnano design.

thank you very much!

Scadnano import error message could be more informative.

Currently, in most cases when scadnano import fails, ENSnano gives the error message Error when loading design: "Oh No" (

Err(LoadDesignError::from("\"Oh No\"".to_string()))
). It looks like the loading process, however, does have more specific error information (eg, ScadnanoImportError). If it would be possible to display these details on failure, it would be helpful: I often have scadnano files that use unusual/new features, and so knowing what is causing things to break would help me tweak the input to avoid those features, or know what would need to be implemented in order to support the files.

User Interface consistency

[Tested in dev]
There are some inconsistencies in the way the user interface is designed:

  • Nucleotide selection:
    • In 3D View one can select a nucleotide/cross-over which is then highlighted, but not highlighted in the 2D View (except when clicking on bonds between nucleotides)
    • In 2D View one can select a single nucleotide and it is highlighted in 3D View but not in 2D View
      -> Request: Make nucleotides highlighted/selectable in 2D View
  • Nucleotide focusing on other view:
    • I double right click on a nucleotide/cross-over in 2D View -> I center nudleotide/cross-over in 3D view
    • If trying the same on a nucleotide in 3D View, 2D View doesn't change
    • One can only jump from 3D View to 2D View if double left clicked
      -> Request: Make centering in different view consistent (Same mouse button/key) and allow nucleotide and cross-over centering for both views
  • Nucleotide highlight (Bug?):
    • Moving the mouse in the 2D view over some nucleotides highlights them in the 3D View in green
    • Moving the mouse in 3D view doesn't show any hints in the 2D View (Might be a bug since it was presented in the YouTube Video)

I think in general it might be good to have a way to highlight/select/focus single nucleotides in the 2D View, this would the allow to have a symmetric behavior from 2D and 3D view.

Direct addition of non-scaffolded sequence data to ENSnano File

I understand that the GUI does not currently support this, but is it possible to write sequence data directly to the ENSnano file? Just only if possible, could you please tell us how to directly write data to "strands" > i > "domains" > "HelixDomain" > "sequence”?

I have found the following statement in your documentation. So we will wait for the release of a new version if directly written data is not reflected in the export staples function.

We are currently working on an interface to set the sequences for the parts of the design which are not matched with a scaffold.

Feature Request: Export to Cadnano

Hi,

First of all, this tool is great, all the combined 2D/3D features make it a significant improvement over Cadnano! Thanks for open-sourcing this for the community!

I have a feature request - Importing Cadnano files into ENSnano works well, but there doesn't seem to be a way to export back out to the Cadnano json format. This would be especially useful when running Cando (http://cando-dna-origami.org) simulations, which only work with a Cadnano file input. Perhaps you could also implement this to export 1 file per grid in a single system?

Many thanks!

Sequence import only shows .ens files

Tested in main
When importing sequences into ensnano from a .txt file doesn't work, one can only select .ens files even when All supported files is selected. Saving the file as .ens solves this problem but it guess .txt files should also be shown.

Compiling on Linux Mint 21 / Ubuntu 22.04

Hi,
I am new to Rust (and to ENSnano) and wanted to run it on Linux which sadly does not come with an executable.

I tried building it as described in the README but failed with the following output:

$ cargo run --features=log_after_renderer_setup --release
    Updating crates.io index
    Updating git repository `https://github.com/thenlevy/chebyshev_polynomials`
    Updating git repository `https://github.com/termhn/ultraviolet`
    Updating git repository `https://github.com/nical/lyon`
    Updating git repository `https://github.com/rust-cli/confy`
error: failed to select a version for the requirement `iced_aw = "^0.2.0"`
candidate versions found which didn't match: 0.7.0, 0.6.0, 0.5.2
location searched: crates.io index
required by package `ensnano_gui v0.4.0 (/path/to/ensnano/ensnano-gui)`
perhaps a crate was updated and forgotten to be re-vendored?

Looking at https://docs.rs/iced_aw/0.2.0/iced_aw/index.html, the required version is apparently no longer available. I tried editing ensnano-gui/Cargo.toml and ensnano-organizer/Cargo.toml to 0.7.0 (and in another attempt to 0.5.2) which both did not compile.

What ultimately allowed me to build and run ENSnano was to clone iced_aw, checkout version 0.2.0 and cargo build --release. I then updated the entries for iced_raw in ensnano-gui/Cargo.toml to iced_aw = { path="/path/to/iced_aw", features = ["tab_bar"]} and in ensnano-organizer/Cargo.toml to iced_aw = { path="/path/to/iced_aw", features=["icons", "icon_text"] }.

$ rustc --version
rustc 1.72.1 (d5c2e9c34 2023-09-13)
$ cargo --version
cargo 1.72.1 (103a7ff2e 2023-08-15)

Maybe this will be useful to others. Please let me know if this approach is flawed and what is considered the better way to build ENSnano on Linux.

crash under windows 10

windows 10, cargo run crash
active toolchain
stable-x86_64-pc-windows-msvc (default)
rustc 1.56.1 (59eed8a2a 2021-11-01)

thread 'main' panicked at 'wgpu error: Validation Error

Caused by:
In Device::create_render_pipeline
error matching FRAGMENT shader requirements against the pipeline
unable to filter the texture (ResourceBinding { group: 0, binding: 2 }) by the sampler (ResourceBinding { group: 0, binding: 1 })
non-filterable float texture

', C:\Users\Administrator.cargo\registry\src\mirrors.ustc.edu.cn-12df342d903acd47\wgpu-0.11.1\src\backend\direct.rs:2195:5
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
error: process didn't exit successfully: target\release\ensnano.exe (exit code: 101)

Saving opened cadnano file will overwrite file

This might not be a bug but it can be really bad for new users.
How to reproduce:

  • Open ensnano
  • Load a .json file created by cadnano
  • Click Ctrl+S or Save the file
  • Expected: Ask for new location/filename since the file wasn't saved in a .ens format before
  • What actually happens: The location and name of the cadnano file is taken as the path to the file. Saving the design will overwrite the .json cadnano file. This will destroy the file and one cannot load the file back into cadnano since the formats are not compatible, which might be a big problem for some users.

oxDNA export

The exported structure has no base-pairing in oxDNA and many overlaps.
image (8)
image (7)
Taco oxDNA converted file for reference:
canvas (66)
canvas (65)

Weird cross-over suggestion

[Description]
When two close helices are cut at suggestied possible cross-over position, the 2D and 3D View show cross-overs that are not possible.

[How to reproduce]

  • Create two helices 1, 2 in parallel and assign Group R and Group G respectively
  • Cut the strands at the position of the suggested cross-over
    image
  • Suggested crossovers do not make any sense
    image
    One can see that it suggests the connection of a 3' with a 3' end. If the strands wheren't cut at that position, it would be a good suggestion.

Cargo unable to fetch dependency

Hello!

I have encountered an issue during the building process (more precisely during the dependency-fetching phase). Cargo refuses to load the iced crate.

error: failed to get `iced` as a dependency of package `ensnano v0.2.1`

Caused by:
  failed to load source for dependency `iced`

Caused by:
  Unable to update https://github.com/thenlevy/iced?rev=5eddea0

Caused by:
  revspec '5eddea0' not found; class=Reference (4); code=NotFound (-3)

It seems like the version specified in the Cargo.toml indicates the revision 5eddea0, which does apparently not exist.

[dependencies]
iced = { git = "https://github.com/thenlevy/iced", rev = "5eddea0", features=["image"] }
iced_wgpu = { git = "https://github.com/thenlevy/iced", rev = "5eddea0" }
iced_graphics = { git = "https://github.com/thenlevy/iced", rev = "5eddea0" }
iced_winit = { git = "https://github.com/thenlevy/iced", rev = "5eddea0" }
iced_native = { git = "https://github.com/thenlevy/iced", rev = "5eddea0" }

When manually editing the Cargo.toml file to remove these indications, the building process runs; but stops once again (although a bit further) because ensnano_organizer also uses iced as a dependency with this conflicting revision.

Context

cargo 1.53.0 (4369396ce 2021-04-27)
rustc 1.53.0 (53cb7b09b 2021-06-17)
rustup 1.24.3 (ce5817a94 2021-05-31)
OS : Pop!_OS 20.10 x86_64

This issue has been reproduced on the following configuration

rustc 1.54.0-nightly (3e99439f4 2021-05-17)
OS : MacOs 11.4 Big Sur

Steps to reproduce

git clone https://github.com/thenlevy/ensnano
cd ensnano
cargo run

Orthographic projection and flexible grid

Hello! I am new to ENSnano.
I've just started working on a structural design following the tutorial, but I am already impressed by the potential of ENSnano. ENSnano fits my demand! I look forward to your ongoing development.

The first feature I want is Orthographic projection. This feature would be useful for periodic and precise placement of DNA Helix. The other feature is a grid for more flexible helix placement. For example, I want to slightly deform a nanotube into an ellipse, but I don't know how to do it. One way might be to have a number of grids with only one helix placed, and then arrange them in the desired overall shape. However, if you have a better existing solution, I would appreciate it if you could let me know.

Keep Selection after Translation in 2D View

Hey, thank you for this Software. I have a small feature request:

Selected objects in Nucleotide Selection Mode or DNA Strand Selection Mode lose selection after translation in 2D View (Middle Mouse Button).
It would be nice if the selection stays, as it's done if one selects whole helices.

Grids and deletions

Is there any way to add deletions? I see when I import them from a scadnano file they are not added (but the helices are the correct length).

Also is there a way to have 8nt grid spacing (like (s)cadnano? This would be very useful for designing structures.

error: failed to get `winit` as a dependency of package `iced_winit v0.3.0

Hey there!

I tried to install ENSnano according to the instructions:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
git clone https://github.com/thenlevy/ensnano.git
cd ensnano
source "$HOME/.cargo/env"
cargo run --release

But then I got an error after the last command

    Updating git repository `https://github.com/hecrj/wgpu_glyph`
    Updating crates.io index
    Updating git repository `https://github.com/termhn/ultraviolet`
    Updating git repository `https://github.com/hecrj/iced`
    Updating git repository `https://github.com/iced-rs/iced_aw`
    Updating git repository `https://github.com/thenlevy/iced_aw`
    Updating git repository `https://github.com/nical/lyon`
    Updating git repository `https://github.com/hecrj/iced`
    Updating git repository `https://github.com/iced-rs/winit`
error: failed to get `winit` as a dependency of package `iced_winit v0.3.0 (https://github.com/hecrj/iced?rev=61c747b53589d98f477fea95f85d2ea5349666d3#61c747b5)`
    ... which satisfies git dependency `iced_winit` of package `ensnano_organizer v0.1.0 (/Users/alisagorislav/ensnano/ensnano-organizer)`
    ... which satisfies path dependency `ensnano_organizer` of package `ensnano_design v0.4.0 (/Users/alisagorislav/ensnano/ensnano-design)`

Caused by:
  failed to load source for dependency `winit`

Caused by:
  Unable to update https://github.com/iced-rs/winit?rev=1e6623c4d06d110e5408dcbdf1edebd07e6a200e

Caused by:
  revspec '1e6623c4d06d110e5408dcbdf1edebd07e6a200e' not found; class=Reference (4); code=NotFound (-3)

I used macOS Monterey 12.1, the Rust version is stable 1.63.0 (bottled)

How can I fix this problem?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.