============================
EMDB-SFF Toolkit (``sfftk``)
============================
.. contents::
Introduction
============
``sfftk`` is a set of utilities that facilitate creation, conversion and
modification of `Electron Microscopy Data Bank - Segmentation File Format
(EMDB-SFF) files <https://github.com/emdb-empiar/sfftk/tree/master/sfftk/test_data/sff>`_.
EMDB-SFF is an open, community-driven file format to handle annotated
segmentations and subtomogram averages that facilitates segmentation file
interchange. It is written in Python and provides both a command-line
suite of commands and a Python API.
Audience
--------
``sfftk`` is primarily targeted but not restricted to biological electron
microscopists and developers of image segmentation software.
License
-------
``sfftk`` is free and open source software released under the terms of the Apache License, Version 2.0. Source code is
copyright EMBL-European Bioinformatics Institute (EMBL-EBI) 2017.
Data Model
----------
``sfftk`` is built to handle EMDB-SFF files. The corresponding schema
(``v0.8.0.dev1``) may be found at `https://emdb-empiar.github.io/EMDB-SFF <https://emdb-empiar.github.io/EMDB-SFF>`_.
Changes to the schema are welcome for discussion at the *Segmentation Working Group*
at `https://listserver.ebi.ac.uk/mailman/listinfo/segtrans-wg
<https://listserver.ebi.ac.uk/mailman/listinfo/segtrans-wg>`_.
.. _supported_formats:
Supported Formats
-----------------
The following file formats are currently supported (in alphabetical order of
extensions):
- Amira Mesh (.am)
- SuRVoS (.h5; experimental support)
- CCP4 Masks (.map)
- IMOD (.mod)
- Segger (.seg)
- STAR (.star) for subtomogram averages produced using RELION
- Stereolithography (.stl)
- Amira HyperSurface (.surf)
Contact
-------
Any questions or comments should be addressed to ``pkorir at ebi dot ac dot uk``.
Publications
------------
.. Please cite the whenever ``sfftk`` is used in a publication:
.. .. note::
.. Article to be added
The EMDB-SFF data model is the result of various community consultations which
are published in the following articles:
- `Patwardhan, Ardan, Robert Brandt, Sarah J. Butcher, Lucy Collinson, David Gault, Kay Grünewald, Corey Hecksel et al. Building bridges between cellular and molecular structural biology. eLife 6 (2017). <http://europepmc.org/abstract/MED/28682240>`_
- `Patwardhan, Ardan, Alun Ashton, Robert Brandt, Sarah Butcher, Raffaella Carzaniga, Wah Chiu, Lucy Collinson et al. A 3D cellular context for the macromolecular world. Nature structural & molecular biology 21, no. 10 (2014): 841-845. <http://europepmc.org/abstract/MED/25289590>`_
- `Patwardhan, Ardan, José-Maria Carazo, Bridget Carragher, Richard Henderson, J. Bernard Heymann, Emma Hill, Grant J. Jensen et al. Data management challenges in three-dimensional EM. Nature structural & molecular biology 19, no. 12 (2012): 1203-1207. <http://europepmc.org/abstract/MED/23211764>`_
Getting Started
===============
Obtaining and Installing ``sfftk``
----------------------------------
Dependencies
~~~~~~~~~~~~
As with any Python software, we recommend installing it in a virtual environment (of your choice). The only dependency
that may be needed is ``numpy`` which can be installed with
.. code:: bash
pip install numpy
PyPI
~~~~
``sfftk`` is available on PyPI meaning that all that one needs to do is run:
.. code:: bash
pip install sfftk
Source
~~~~~~
The ``sfftk`` source is available from Github `https://github.com/emdb-empiar/sfftk <https://github.com/emdb-empiar/sfftk>`_.
Features
========
``sfftk`` has two principal functions:
- `convert` application-specific segmentation file format (AS-SFF) files to EMDB-SFF;
- `annotate` EMDB-SFF files against known ontologies.
Conversion
----------
Segmentation files may be converted to EMDB-SFF files using the ``convert``
command.
.. code:: bash
sff convert file.am -o file.sff
For a full description of how to perform conversion, please see the
`guide to format conversion <https://sfftk.readthedocs.io/en/latest/converting.html>`_.
Annotation
----------
Annotation is performed using the ``notes`` utility on EMDB-SFF files.
.. code:: bash
sff notes show -H file.sff
``sfftk`` provides a simple set of tools to allow `viewing, searching and
modifying annotations` associated with the segmentation and individual
segments. The added annotations should be either from a public ontology or be
an accession from a public database.
See the `guide to annotating segmentations <https://sfftk.readthedocs.io/en/latest/annotating.html>`_ for a full
treatment.
Miscellaneous
-------------
``sfftk`` may also be used for several miscellaneous operations such as:
- `Viewing segmentation metadata <https://sfftk.readthedocs.io/en/latest/misc.html#viewing-file-metadata>`_
- `Prepping segmentations <https://sfftk.readthedocs.io/en/latest/misc.html#prepping-segmentation-files>`_ before conversion to EMDB-SFF
- `Setting configurations <https://sfftk.readthedocs.io/en/latest/misc.html#setting-configurations>`_ that affect how ``sfftk`` works
- `Running unit tests <https://sfftk.readthedocs.io/en/latest/misc.html#running-unit-tests>`_ with the ``tests`` command
More information on this can be found in the `guide to miscellaneous operations <https://sfftk.readthedocs.io/en/latest/misc.html>`_.
Developing with ``sfftk``
-------------------------
``sfftk`` is developed as a set of decoupled packages providing the various
functionality. The main classes involved are found in the `sfftkrw <https://sfftk-rw.readthedocs.io/en/latest/>`_ package.
There is also a `guide to developing with sfftk <https://sfftk.readthedocs.io/en/latest/developing.html>`_ which
provides useful instructions.
Extending ``sfftk``
-------------------
``sfftk`` has built with extensibility in mind. It is anticipated that most
extension will take the form of supporting additional file formats. Please
read the `guide to extending sfftk <https://sfftk.readthedocs.io/en/latest/extending.html>`_ to learn how to do
this.
Raw data
{
"_id": null,
"home_page": "https://emdb-empiar.github.io/EMDB-SFF/",
"name": "sfftk",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "EMDB-SFF,SFF,segmentation",
"author": "Paul K. Korir, PhD",
"author_email": "pkorir@ebi.ac.uk, paul.korir@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/cc/7a/9f147c7aee86b622c68d405c6a8cdcce121369973a36ff9a4ad036a55b53/sfftk-0.10.3.tar.gz",
"platform": null,
"description": "============================\nEMDB-SFF Toolkit (``sfftk``)\n============================\n\n.. contents::\n\n\nIntroduction\n============\n\n``sfftk`` is a set of utilities that facilitate creation, conversion and\nmodification of `Electron Microscopy Data Bank - Segmentation File Format\n(EMDB-SFF) files <https://github.com/emdb-empiar/sfftk/tree/master/sfftk/test_data/sff>`_.\nEMDB-SFF is an open, community-driven file format to handle annotated\nsegmentations and subtomogram averages that facilitates segmentation file\ninterchange. It is written in Python and provides both a command-line\nsuite of commands and a Python API.\n\nAudience\n--------\n\n``sfftk`` is primarily targeted but not restricted to biological electron\nmicroscopists and developers of image segmentation software.\n\n\nLicense\n-------\n\n``sfftk`` is free and open source software released under the terms of the Apache License, Version 2.0. Source code is\ncopyright EMBL-European Bioinformatics Institute (EMBL-EBI) 2017.\n\nData Model\n----------\n\n``sfftk`` is built to handle EMDB-SFF files. The corresponding schema\n(``v0.8.0.dev1``) may be found at `https://emdb-empiar.github.io/EMDB-SFF <https://emdb-empiar.github.io/EMDB-SFF>`_.\nChanges to the schema are welcome for discussion at the *Segmentation Working Group*\nat `https://listserver.ebi.ac.uk/mailman/listinfo/segtrans-wg\n<https://listserver.ebi.ac.uk/mailman/listinfo/segtrans-wg>`_.\n\n.. _supported_formats:\n\nSupported Formats\n-----------------\n\nThe following file formats are currently supported (in alphabetical order of\nextensions):\n\n- Amira Mesh (.am)\n\n- SuRVoS (.h5; experimental support)\n\n- CCP4 Masks (.map)\n\n- IMOD (.mod)\n\n- Segger (.seg)\n\n- STAR (.star) for subtomogram averages produced using RELION\n\n- Stereolithography (.stl)\n\n- Amira HyperSurface (.surf)\n\nContact\n-------\n\nAny questions or comments should be addressed to ``pkorir at ebi dot ac dot uk``.\n\nPublications\n------------\n\n.. Please cite the whenever ``sfftk`` is used in a publication:\n\n.. .. note::\n\n.. Article to be added\n\nThe EMDB-SFF data model is the result of various community consultations which\nare published in the following articles:\n\n- `Patwardhan, Ardan, Robert Brandt, Sarah J. Butcher, Lucy Collinson, David Gault, Kay Gr\u00fcnewald, Corey Hecksel et al. Building bridges between cellular and molecular structural biology. eLife 6 (2017). <http://europepmc.org/abstract/MED/28682240>`_\n\n- `Patwardhan, Ardan, Alun Ashton, Robert Brandt, Sarah Butcher, Raffaella Carzaniga, Wah Chiu, Lucy Collinson et al. A 3D cellular context for the macromolecular world. Nature structural & molecular biology 21, no. 10 (2014): 841-845. <http://europepmc.org/abstract/MED/25289590>`_\n\n- `Patwardhan, Ardan, Jos\u00e9-Maria Carazo, Bridget Carragher, Richard Henderson, J. Bernard Heymann, Emma Hill, Grant J. Jensen et al. Data management challenges in three-dimensional EM. Nature structural & molecular biology 19, no. 12 (2012): 1203-1207. <http://europepmc.org/abstract/MED/23211764>`_\n\nGetting Started\n===============\n\nObtaining and Installing ``sfftk``\n----------------------------------\n\nDependencies\n~~~~~~~~~~~~\n\nAs with any Python software, we recommend installing it in a virtual environment (of your choice). The only dependency\nthat may be needed is ``numpy`` which can be installed with\n\n.. code:: bash\n\n\t pip install numpy\n\nPyPI\n~~~~\n\n``sfftk`` is available on PyPI meaning that all that one needs to do is run:\n\n.. code:: bash\n\n\t pip install sfftk\n\nSource\n~~~~~~\n\nThe ``sfftk`` source is available from Github `https://github.com/emdb-empiar/sfftk <https://github.com/emdb-empiar/sfftk>`_.\n\nFeatures\n========\n\n``sfftk`` has two principal functions:\n\n- `convert` application-specific segmentation file format (AS-SFF) files to EMDB-SFF;\n\n- `annotate` EMDB-SFF files against known ontologies.\n\nConversion\n----------\n\nSegmentation files may be converted to EMDB-SFF files using the ``convert``\ncommand.\n\n.. code:: bash\n\n\t sff convert file.am -o file.sff\n\nFor a full description of how to perform conversion, please see the\n`guide to format conversion <https://sfftk.readthedocs.io/en/latest/converting.html>`_.\n\nAnnotation\n----------\n\nAnnotation is performed using the ``notes`` utility on EMDB-SFF files.\n\n.. code:: bash\n\n\t sff notes show -H file.sff\n\n``sfftk`` provides a simple set of tools to allow `viewing, searching and\nmodifying annotations` associated with the segmentation and individual\nsegments. The added annotations should be either from a public ontology or be\nan accession from a public database.\n\nSee the `guide to annotating segmentations <https://sfftk.readthedocs.io/en/latest/annotating.html>`_ for a full\ntreatment.\n\nMiscellaneous\n-------------\n\n``sfftk`` may also be used for several miscellaneous operations such as:\n\n- `Viewing segmentation metadata <https://sfftk.readthedocs.io/en/latest/misc.html#viewing-file-metadata>`_\n\n- `Prepping segmentations <https://sfftk.readthedocs.io/en/latest/misc.html#prepping-segmentation-files>`_ before conversion to EMDB-SFF\n\n- `Setting configurations <https://sfftk.readthedocs.io/en/latest/misc.html#setting-configurations>`_ that affect how ``sfftk`` works\n\n- `Running unit tests <https://sfftk.readthedocs.io/en/latest/misc.html#running-unit-tests>`_ with the ``tests`` command\n\nMore information on this can be found in the `guide to miscellaneous operations <https://sfftk.readthedocs.io/en/latest/misc.html>`_.\n\nDeveloping with ``sfftk``\n-------------------------\n\n``sfftk`` is developed as a set of decoupled packages providing the various\nfunctionality. The main classes involved are found in the `sfftkrw <https://sfftk-rw.readthedocs.io/en/latest/>`_ package.\nThere is also a `guide to developing with sfftk <https://sfftk.readthedocs.io/en/latest/developing.html>`_ which\nprovides useful instructions.\n\nExtending ``sfftk``\n-------------------\n\n``sfftk`` has built with extensibility in mind. It is anticipated that most\nextension will take the form of supporting additional file formats. Please\nread the `guide to extending sfftk <https://sfftk.readthedocs.io/en/latest/extending.html>`_ to learn how to do\nthis.\n\n\n",
"bugtrack_url": null,
"license": "Apache License",
"summary": "Toolkit for working with EMDB-SFF and other segmentation file formats",
"version": "0.10.3",
"project_urls": {
"Documentation": "http://sfftk.readthedocs.io/en/latest/index.html",
"Homepage": "https://emdb-empiar.github.io/EMDB-SFF/",
"Report Issues": "https://github.com/emdb-empiar/sfftk/issues",
"Souce Code": "https://github.com/emdb-empiar/sfftk"
},
"split_keywords": [
"emdb-sff",
"sff",
"segmentation"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6dd927609b33895aae673de323dabf631c7ac7a46c9a4c92e821b389af96266b",
"md5": "8d19392c189985a40841323450b5c575",
"sha256": "6a9f47a91d1af3596b9fcd84e795d4e356fcc97089cc2b68e25c6603ac100bf4"
},
"downloads": -1,
"filename": "sfftk-0.10.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8d19392c189985a40841323450b5c575",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 327720,
"upload_time": "2024-02-26T00:20:25",
"upload_time_iso_8601": "2024-02-26T00:20:25.336414Z",
"url": "https://files.pythonhosted.org/packages/6d/d9/27609b33895aae673de323dabf631c7ac7a46c9a4c92e821b389af96266b/sfftk-0.10.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cc7a9f147c7aee86b622c68d405c6a8cdcce121369973a36ff9a4ad036a55b53",
"md5": "b237d3f8a815b4e6ae67926a8237d315",
"sha256": "a5ab957c0affd2828e5fdb5d4e860ffd747e865ca2da7e7257c36d3a170ba4a6"
},
"downloads": -1,
"filename": "sfftk-0.10.3.tar.gz",
"has_sig": false,
"md5_digest": "b237d3f8a815b4e6ae67926a8237d315",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 143941,
"upload_time": "2024-02-26T00:20:46",
"upload_time_iso_8601": "2024-02-26T00:20:46.591111Z",
"url": "https://files.pythonhosted.org/packages/cc/7a/9f147c7aee86b622c68d405c6a8cdcce121369973a36ff9a4ad036a55b53/sfftk-0.10.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-26 00:20:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "emdb-empiar",
"github_project": "sfftk",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "sfftk"
}