Skip to main content

Toolkit for working with EMDB-SFF and other segmentation file formats

Project description

Introduction

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.

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. Changes to the schema are welcome for discussion at the Segmentation Working Group at https://listserver.ebi.ac.uk/mailman/listinfo/segtrans-wg.

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)

  • Stereolithography (.stl)

  • Amira HyperSurface (.surf)

Contact

Any questions or comments should be addressed to pkorir at ebi dot ac dot uk.

Publications

The EMDB-SFF data model is the result of various community consultations which are published in the following articles:

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

pip install numpy

PyPI

sfftk is available on PyPI meaning that all that one needs to do is run:

pip install sfftk

Source

The sfftk source is available from Github 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.

sff convert file.am -o file.sff

For a full description of how to perform conversion, please see the guide to format conversion.

Annotation

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.

Miscellaneous

sfftk may also be used for several miscellaneous operations such as:

More information on this can be found in the guide to miscellaneous operations.

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 package. There is also a guide to developing with sfftk 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 to learn how to do this.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sfftk-0.5.5.dev1.tar.gz (100.3 kB view hashes)

Uploaded Source

Built Distributions

sfftk-0.5.5.dev1-py3-none-any.whl (285.2 kB view hashes)

Uploaded Python 3

sfftk-0.5.5.dev1-py2-none-any.whl (285.4 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page