#swc #line #header #mor #sorting #cli #neuronal

bin+lib swc-neuron

用于与 SWC 神经元形态文件交互的库和 CLI 工具

6 个版本 (3 个重大更新)

0.4.1 2024 年 2 月 1 日
0.4.0 2024 年 2 月 1 日
0.3.0 2023 年 10 月 27 日
0.2.1 2023 年 10 月 26 日
0.1.1 2020 年 11 月 24 日

#451解析实现

Download history 2/week @ 2024-03-07 1/week @ 2024-03-14 3/week @ 2024-03-21 84/week @ 2024-03-28 3/week @ 2024-04-04 102/week @ 2024-06-06 15/week @ 2024-06-13

每月 <117 次下载

MIT 许可证

380KB
732

swc-neuron

SWC 文件的读取、写入和操作 Rust 库。还包括 CLI 进行基本验证、排序和重新索引(可选功能 cli)。

该格式最初由 Cannon, et al. 1998 提出,在 dohalloran/SWC_BATCH_CHECK 中实现。

尽管常用,但存在许多变体;此实现试图涵盖 此处 描述的“标准化”版本,并通过 SWCplus 规范 解决了一些歧义。

头部是一系列以 # 开头的行,从文件开头开始。空行(即没有 # 或任何其他非空白内容)不会中断头部,但也不包含在解析的头部中。`SwcNeuron` 类型是 `Header` 实现的泛型,目前仅实现了 String(即它被视为一个自由文本字段,每行的前导 # 被删除)。文件中第一个样本之后的所有其他以 # 开头和仅包含空白行的行都将被忽略。

swctool

包含在 cli 功能中。

swctool 0.2.1
Tool for manipulating and validating SWC neuronal morphology files.

Implementation is based on the "specification" at
http://www.neuronland.org/NLMorphologyConverter/MorphologyFormats/SWC/Spec.html

All headers, blank lines, and whitespace separators other than a single space character between each field will be
removed.

USAGE:
    swctool [FLAGS] [OPTIONS] [ARGS]

FLAGS:
    -h, --help           
            Prints help information

    -n, --no-catchall    
            Some known sub-specifications have a "catch-all" structure which allows any value to be valid: this argument
            ignores that structure if "structures" is given
    -r, --reindex        
            Reindex the samples, starting at 1 (happens after sorting)

    -s, --sort           
            Sort the samples by their sample number (happens before reindexing)

    -t, --toposort       
            Sort the samples topologically in depth first preorder from the root; must be a valid tree

    -u, --unordered      
            If using --validate, allow samples to be given out of order (i.e. parents can be defined after their
            children). Ignored if --validate is not given
    -V, --validate       
            Check that SWC describes a valid tree. --toposort requires a valid tree structure

        --version        
            Prints version information


OPTIONS:
    -S, --structures <structures>    
            If given, structure IDs will be checked against the given comma-separated list of integers. Also accepts the
            names of known SWC sub-specifications: "neuromorpho", "cnic", "vned", "gulyas", "navis". If your schema
            extends a known sub-spec, give e.g. "cnic,8,9,10"

ARGS:
    <input>     
            Input file; does nothing if not given, reads from stdin if -

    <output>    
            Output file; writes nothing if not given, writes to stdout if -

示例数据

由 neuromorpho.org 提供。一些是标准化的,一些不是。

关于 SWC 头部的说明

“标准” SWC(如最初提出的那样)有一些特定的元数据字段,这些字段“应该”存在于头部中。Neuromorpho SWC 没有头部要求。SWCplus 将更复杂的元数据作为 XML 编码在头部中。

请注意,SWCplus 规范网页存在一些编码问题。在元数据中,CONTRIBUTOR 的姓氏和首字母之间应使用下划线 _ 作为分隔符,而 SOMA_AREA 应为平方微米 μm²,而不是平方毫米 mm²

开发

应通过 cargo-release 处理版本标签等;然后在 CI 上进行发布。

依赖关系

~1.5–2.6MB
~39K SLoC