Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configuration file failed with Version 0.9.3 #329

Open
Enderest opened this issue Oct 24, 2022 · 6 comments
Open

Configuration file failed with Version 0.9.3 #329

Enderest opened this issue Oct 24, 2022 · 6 comments

Comments

@Enderest
Copy link

When running the docker openworm test. Some configuration file could output error.

Expected behavior
The expected behaviour is similar to working configuration that is worm_crawl_half_resolution and worm_swim_half_resolution_immersed.

Actual behavior
When unzip and loading configuration file such as worm_crawl_half_resolution_2x_space and worm_swim_half_resolution_large_square_area_crawl, sibernetic would give the error:
OSError: Could not find simulation output file /home/ow/sibernetic/NeuroML2/results/c302_C2_FW.dat
This error shows that there is an issue running c302 with neuron such that it cannot output the .dat file.

Steps to reproduce the behavior

Setting the 'configuration' option in master_openworm.py as the file would generate the issue.


Furthermore, I was wondering if there is a procedure to generate the customized configuration file?

Thanks.

@pgleeson
Copy link
Member

@Enderest I assume you are running this inside the docker container using ./run-shell-only.sh and then testing manually? Do all the tests in /home/ow/sibernetic/run_all_tests.sh work? I tried modifying one of these to python sibernetic_c302.py -test -duration 1 -c302params C0 -configuration worm_deep_water and it worked. Did you try this way?

Re the custon configuration file, please see here: openworm/sibernetic#165

@Enderest
Copy link
Author

Hi, thank you for the response. I can run it with worm_deep_water. But if I change it to worm_swim_half_resolution_large_square_area_crawl it would give the same. Again, I do not believe the issue is sibernetic but more an issue from c302. I inspect and find that with the configuration, the .dat file is not generate. So I tried by run c302 independently with the command from c302 repository. It would work. So I checked pynml. In pynml, direct command calls function pynml.run_lems_with_jneuroml(). However, in sibernetic_c302, the test called function pynml.run_lems_with_jneuroml_neuron(). This could be an issue from that function call. But I have not yet find any further relation between the configuration file and the neuron c302 generation. Thank you.

@pgleeson
Copy link
Member

pgleeson commented Nov 7, 2022

@Enderest I don't think this is any issue with c302. I've tried unrar on that file, and tried
python sibernetic_c302.py -test -duration 1 -noc302 -configuration worm_swim_half_resolution_large_square_area_crawl
and it fails (segmentation fault).

To be honest though I wouldn't mix any of the "walk" and "crawl" configurations with c302.. These are intended for having sibernetic internally generated muscle activity patterns (sine waves) injected to the worm, which make it crawl or swim... I'm not sure what would happen when there is also input from c302...

@Enderest
Copy link
Author

Enderest commented Nov 7, 2022

@pgleeson Thanks for your response. Yes, I only think it is related to c302 because the output file does not plot out neuronal activities. But also the main goal I am trying is using a self-generated configuration file. I think if I can generate a configuration file similar to the working ones it should work as well. So as a follow-up question on this, as I have read through the link for generating the file above, I wonder how would thee particle velocity be initialized (for the liquid and elastic particle). They seemed quite random at first glance and the repository seems to be setting it to 0. Thank you.

@pgleeson
Copy link
Member

pgleeson commented Nov 9, 2022

I think for self generated configuration files, the Sibernetic repo might be more appropriate for an issue. I would highly recommend though concentrating on making a simple example of a configuration first (e.g. a cube like the default configuration), sharing this on a repo and if you have any issue present an example that works and one which doesn't after a small change.

I'm not sure how velocity is initialised, but I would have thought it's not in the configuration file, it's just the initial positions..? Have you looked at the Sibernetic paper: https://royalsocietypublishing.org/doi/10.1098/rstb.2017.0376#d3e467

@Enderest
Copy link
Author

Enderest commented Nov 9, 2022

@pgleeson Thanks for the response I will continue the discussion of configuration file in the sibernetic repo. The reason i asked is that I have a configuration file generated that works in 0.9.2 and it fails in 0.9.3 as well. I suspect it is simililar to other ones that fails. The configuration file has a section [velocity] to correspond the velocity. I am not sure if the initial settings of the value would affect the overall running process. Again, thanks for your help.

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

No branches or pull requests

2 participants