Toolkit for working with EMDB-SFF and other segmentation file formats
Looking for a graphical aid to using sfftk? Try out the online version: the Segmentation Annotation Tool.
sfftk is a set of utilities that facilitate creation, conversion and modification of Electron Microscopy Data Bank - Segmentation File Format (EMDB-SFF) files. 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.
sfftk is primarily targeted but not restricted to biological electron microscopists and developers of image segmentation software.
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.
sfftk is built to handle EMDB-SFF files. The corresponding schema (v0.7.0.dev0) may be obtained at http://wwwdev.ebi.ac.uk/pdbe/emdb/emdb_static/doc/segmentation_da_docs/segmentation_da.html. Changes to the schema are welcome for discussion at the Segmentation Working Group at https://listserver.ebi.ac.uk/mailman/listinfo/segtrans-wg.
The following file formats are currently supported (in alphabetical order of extensions):
- Amira Mesh (.am)
- CCP4 Masks (.map)
- IMOD (.mod)
- Segger (.seg)
- Stereolithography (.stl)
- Amira HyperSurface (.surf)
The following articles should be cited whenever sfftk is used in a publication:
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).
- 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.
- 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.
Obtaining and Installing sfftk
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
pip install numpy
sfftk is available on PyPI meaning that all that one needs to do is run:
pip install sfftk
sfftk has two principal functions:
- convert application-specific segmentation file format (AS-SFF) files to EMDB-SFF;
- annotate EMDB-SFF files against known ontologies.
Segmentation files may be converted to EMDB-SFF files using the convert command.
sff convert file.am -o file.sff
For a full description of how to perform conversion, please see the guide to format conversion.
Annotation is performed using the notes utility on EMDB-SFF files.
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 for a full treatment.
sfftk may also be used for several miscellaneous operations such as:
- Viewing segmentation metadata
- Prepping segmentations before conversion to EMDB-SFF
- Setting configurations that affect how sfftk works
- Running unit tests with the tests command
More information on this can be found in the guide to miscellaneous operations.
sfftk is developed as a set of decoupled packages providing the various functionality. The main classes involved are found in the sfftk.schema package. Please see full API. There is also a guide to developing with sfftk which provides useful instructions.
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size sfftk-0.4.2.dev1-py2-none-any.whl (281.6 kB)||File type Wheel||Python version py2||Upload date||Hashes View hashes|
|Filename, size sfftk-0.4.2.dev1-py3-none-any.whl (281.5 kB)||File type Wheel||Python version py3||Upload date||Hashes View hashes|
|Filename, size sfftk-0.4.2.dev1.tar.gz (256.4 kB)||File type Source||Python version None||Upload date||Hashes View hashes|
Hashes for sfftk-0.4.2.dev1-py2-none-any.whl
Hashes for sfftk-0.4.2.dev1-py3-none-any.whl