MorphIO icon indicating copy to clipboard operation
MorphIO copied to clipboard

Writing morphs we can't read in v3.3.7

Open mgeplf opened this issue 2 years ago • 5 comments

@adrien-berchet noted that the following doesn't allow reading:

from morphio import Morphology

morph = Morphology(
    """
    1 1  0  0 0 1. -1
    2 3  0  0 0 1.  1
    3 3  0  5 0 1.  2
    4 3 -5  5 0 1.5 3
    5 3  6  5 0 1.5 3
    6 2  0  0 0 1.  1
    7 2  0 -4 0 1.  6
    8 2  6 -4 0 2.  7
    9 2 -5 -4 0 2.  7
    """,
    extension="swc")

morph.as_mutable().write("test.h5")
Morphology("test.h5")

An warning is emitted on writing:

Soma must be a contour for ASC and H5: see https://github.com/BlueBrain/MorphIO/issues/457

But on reading, it throws an exeption:

RawDataError: Morphology contour with only a single point is not valid: test.h5

mgeplf avatar Dec 13 '23 08:12 mgeplf

We're doing the opposite of Postel's law - being strict on reading, but liberal on writing...

mgeplf avatar Dec 13 '23 08:12 mgeplf

A small update: the behavior is similar for ASC files.

adrien-berchet avatar Mar 04 '24 09:03 adrien-berchet

Do you have an example?

mgeplf avatar Mar 19 '24 08:03 mgeplf

Yes: you just have to replace "test.h5" by "test.asc" in the first snippet :)

adrien-berchet avatar Mar 19 '24 08:03 adrien-berchet

Ah, I forgot we were only raising a "warning" for single point somas when writing, sorry about that.

mgeplf avatar Mar 19 '24 09:03 mgeplf