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

Malformed SWC format with neuron_connector #38

Open
adrien-berchet opened this issue Dec 9, 2022 · 4 comments
Open

Malformed SWC format with neuron_connector #38

adrien-berchet opened this issue Dec 9, 2022 · 4 comments

Comments

@adrien-berchet
Copy link

Hi
I found a morphology with the following line at the end of the header:

# generated by Vaa3D Plugin neuron_connector

So I came here.

The first point of this file is:
1 3 0.000 0.000 0.0 0.5 0
which means that it's parent does not exist. In the SWC specs, the first point should have a parent ID equal to -1 (see https://www.sciencedirect.com/science/article/pii/S0165027098000910, https://neuromorpho.org/myfaq.jsp (in the What is SWC format? section) or https://neuroinformatics.nl/swcPlus/). So I guess there is an issue with this plugin (maybe only when there is no soma?).

@hanchuan
Copy link
Contributor

hanchuan commented Dec 9, 2022

For the swc format itself, there has been much debate. The original design was outdated and does not reflect the current situation of the evolving swc format (or enhanced swc format). In Vaa3D we do not put any constraint on a node' ID range, it is just an identifier. Although right now it is still a number, but essentially can also be a string.

@adrien-berchet
Copy link
Author

Thanks for the quick answer @hanchuan !
Ok, I see. This is annoying then if everybody does not use the same specs. For example, this case is not supported by our tool: https://github.com/BlueBrain/MorphIO/
I can start a new discussion on our side to decide if we should support such case. Do you have any material about your own discussion on this topic? So we can understand your arguments to extend the specs to any string.
Thanks

@hanchuan
Copy link
Contributor

I would like to say that the original swc spec did not unleash the full power of this simple format. It was not really necessary to force some rows or ranges to have certain implicit meanings. Essentially swc is just a way to encode a directed graph and associated simple geometrical properties, and the use of the swc format was not only used to code a neuron's structure but also any other application cases that use directed graphs. Even for the neuron cases, if someone thinks about complicated neuron editing (node addition/deletion, segment addition and deletion, and various branching patterns, and even temporal/developmental applications....), it is inevitable to require the intermediate stages of editing to allow a being edited neuron to have complex node orders/ranges/etc. That was why Vaa3D simplified the swc format restriction and just used it as a directed graph, with additional columns to code nodes' radii and other properties (even colors.....). Hope this quick reply helps.

@adrien-berchet
Copy link
Author

Thank you very much for these details @hanchuan , I started a discussion on our side to decide what we should do about this.

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