Skip to main content

Excel-to-SBOL

Excel-to-SBOL is an open source python library that converts Excel Templates to SBOL documents.

A similar utility developed for SBOL3 support (developed by Jake Beal) is in SBOL-utilities.

For further depth and information on Excel-to-SBOL, including how to contribute to the project, visit the Excel-to-SBOL wiki on github

Table of Contents

Excel-to-SBOL: Installation & How to use

Installation

Excel-to-SBOL requires Python 3.9 or later. We recommend installing it in a virtual environment so the converter dependencies do not conflict with other Python projects.

Install the released package

python -m venv .venv
source .venv/bin/activate  # Windows PowerShell: .venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install excel2sbol

Install from a source checkout

Use this option when you want the latest repository version or want to run the bundled GUI.

git clone https://github.com/SynBioDex/Excel-to-SBOL.git
cd Excel-to-SBOL
python -m venv .venv
source .venv/bin/activate  # Windows PowerShell: .venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -e .

To include the Python GUI dependency while installing from source, install the gui extra instead:

python -m pip install -e ".[gui]"

Run the GUI

The repository includes a pywebview-based graphical interface in the ui/ directory. Install the project from a source checkout with the GUI extra first, then launch the app from the repository root:

python ui/app.py

When the window opens:

  1. Choose the Excel-to-SBOL template type you want to use, or select an existing completed template.
  2. Confirm or enter the SBOL version, SynBioHub domain, and email metadata.
  3. Pick an output folder.
  4. Start the conversion or spreadsheet generation from the GUI.

Notes:

  • On Linux, pywebview may require system WebKit/GTK packages supplied by your distribution. If the GUI does not open, install the pywebview Linux prerequisites for your desktop environment and rerun python ui/app.py.
  • The GUI should be run from a cloned repository because the ui/ assets are not part of the published excel2sbol library package.
  • If you only need the library/converter in scripts, python -m pip install excel2sbol is sufficient; the GUI extra is only needed to run ui/app.py.

How to use

1) Choose an Excel Template Choose an excel template from the templates folder. We suggest choosing the latest version. Fill out the template as the instructions indicate.

2) Install the Converter There are several ways to install the converter. The easiest is via pip: pip install excel2sbol but it can also be done by cloning the repository.

3) Run the Converter Use the code below to run the converter. Converter file needs to be within the same directory as the Excel template. The following script asks the user for the name of the input file, version of SBOL to use, and offers the option to sign in to gain access to private repositories.

If you want to use the tool in offline mode for a custom SynBioHub instance, leave the "Domain" field empty on the spreadsheet "Welcome page".

Converter File

Tip: the use of os.getcwd() and os.path.join is recommended for the creation of the file paths. This is safer from a cybersecurity stand point and provide better operating system interoperability.

4) Use the output file The SBOL file that is output can then be used by further SBOL tools or uploaded to an SBOL repository like SynBioHub.

Example Conversion

A data-filled spreadsheet was converted to an SBOL file.

Example Spreadsheet Example Spreadsheet

Example SBOL Example SBOL

Architecture

The repository architecture and module architecture are described in the wiki.

Publishing

A new version of the python package is automatically published via the python-publish GitHub action whenever a new release is created.

Alternatively you can also make changes to the package and then use it locally:

  1. Clone the directory: git clone https://github.com/SynBioDex/Excel-to-SBOL
  2. Change to the excel2sbol folder:

cd ./Excel_to_SBOL/src/excel2sbol

  1. Install an editable version of the package: python -m pip install -e . (will overwrite the directory in site-packages with a symbolic link to the locations repository). If a virtual environment is being used the python -m can be left off.

Excel2SBOL Paper

An updated version of the Excel template referenced in the paper Excel–SBOL Converter: Creating SBOL from Excel Templates and Vice Versa can be found here.

Metadata

Release files for excel2sbol 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for excel2sbol 2.0.1
File Size Uploaded
excel2sbol-2.0.1.tar.gz 36.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for excel2sbol 2.0.1
File Interpreter ABI Platform
excel2sbol-2.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 67.9 kB

Release files / excel2sbol-2.0.1.tar.gz

Download URL excel2sbol-2.0.1.tar.gz
Size 36.2 kB
Tags Source
SHA-256 checksum
How to use checksums
f22c1885c8f110813b5a0da1583aa243274d6e12c89ea464b038d72d806ea82a
BLAKE2b-256 checksum
How to use checksums
bfdca8178768cc873acd5c4fe87f85e9ae90017464ffaa831a03740e403fbfc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / excel2sbol-2.0.1-py3-none-any.whl

Download URL excel2sbol-2.0.1-py3-none-any.whl
Size 31.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eaaa3977b5256f288341ba158055ff1d1a2658aeed10c5d09de0c59ff251d904
BLAKE2b-256 checksum
How to use checksums
d3cd740e0336e9f359580c71a10943a9238ee3f13b018f4e5e7081feed978561
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

This release

2.0.1 This release

2 release files

2.0.0

2 release files

1.1.18

2 release files

1.1.16

2 release files

1.1.14

2 release files

1.1.6

2 release files

1.0.31

2 release files

1.0.30

2 release files

1.0.29

2 release files

1.0.26

2 release files

1.0.25

2 release files

1.0.24

2 release files

1.0.23

2 release files

1.0.22

2 release files

1.0.20

2 release files

1.0.19

2 release files

1.0.18

2 release files

1.0.17

2 release files

1.0.16

2 release files

1.0.15

2 release files

1.0.14

2 release files

1.0.12

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page