{"id":24129428,"url":"https://github.com/synbiodex/sbol-utilities","last_synced_at":"2025-03-16T13:08:41.019Z","repository":{"id":37078797,"uuid":"356030170","full_name":"SynBioDex/SBOL-utilities","owner":"SynBioDex","description":"Command-line utilities and scripts for manipulating SBOL data","archived":false,"fork":false,"pushed_at":"2024-09-03T16:14:36.000Z","size":7934,"stargazers_count":16,"open_issues_count":120,"forks_count":22,"subscribers_count":11,"default_branch":"develop","last_synced_at":"2025-02-07T09:13:26.337Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SynBioDex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-08T19:45:19.000Z","updated_at":"2025-02-07T01:56:02.000Z","dependencies_parsed_at":"2023-02-18T19:45:33.533Z","dependency_job_id":"9bd756b4-6495-4477-91d8-7999854c2228","html_url":"https://github.com/SynBioDex/SBOL-utilities","commit_stats":{"total_commits":441,"total_committers":17,"mean_commits":"25.941176470588236","dds":0.6689342403628118,"last_synced_commit":"b04970bd5df91b3ce782a522e9ab796ff6acdb37"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynBioDex%2FSBOL-utilities","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynBioDex%2FSBOL-utilities/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynBioDex%2FSBOL-utilities/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynBioDex%2FSBOL-utilities/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SynBioDex","download_url":"https://codeload.github.com/SynBioDex/SBOL-utilities/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243871903,"owners_count":20361380,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-11T19:32:08.642Z","updated_at":"2025-03-16T13:08:41.002Z","avatar_url":"https://github.com/SynBioDex.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SBOL-utilities\n\nSBOL-utilities is a collection of scripts and functions for manipulating SBOL 3 data that can be run from the command line or as functions in Python.\n[Additional documentation is online at readthedocs.io](https://sbol-utilities.readthedocs.io/en/latest/).\n\n[![Documentation Status](https://readthedocs.org/projects/sbol-utilities/badge/?version=latest)](http://sbol-utilities.readthedocs.io/)\n[![Docstrings Coverage](https://github.com/SynBioDex/SBOL-utilities/actions/workflows/docstr-coverage.yml/badge.svg)](https://github.com/SynBioDex/SBOL-utilities/actions/workflows/docstr-coverage.yml)\n[![PyPI version fury.io](https://badge.fury.io/py/sbol-utilities.svg)](https://pypi.python.org/pypi/sbol-utilities/)\n[![PyPI license](https://img.shields.io/pypi/l/sbol-utilities.svg)](https://pypi.python.org/pypi/sbol-utilities/)\n[![PyPI pyversions](https://img.shields.io/pypi/pyversions/sbol-utilities.svg)](https://pypi.python.org/pypi/sbol-utilities/)\n[![gh-action badge](https://github.com/SynBioDex/SBOL-utilities/actions/workflows/python-app.yml/badge.svg)](https://github.com/SynBioDex/SBOL-utilities/actions)\n\n\n## Installation\n\nSBOL utilities requires Python 3.7+. \n\nTo install the package and all dependences, run:\n```\npip3 install sbol-utilities\n```\n\nCertain utilities also have non-Python dependencies, which must be installed separately:\n- `graph-sbol` requires [Graphviz](https://graphviz.org/) to be able to render diagrams.\n- `sbol-converter` requires [node.js](https://nodejs.org/en/) to be able to locally run Javascript.\n\n\n## Utilities\n\n### Graph SBOL Documents\n\nThe `graph_sbol` utility uses graphviz to render the object tree in an sbol Document. In addition it will write PDF and Graphviz source files.\n\nTo use in context of an application:\n\n```\nimport sbol3\nfrom sbol_utilities.graph_sbol import graph_sbol\n\ndoc = sbol3.Document()\ndoc.read('my_file.ttl')\ngraph_sbol(doc)\n```\n\nTo run as a commandline executable:\n\n```\ngraph-sbol -i my_file.ttl\n```\n\n### Convert an Excel template file to SBOL\n\nThe `excel-to-sbol` utility reads an Excel file specifying a library of basic and composite parts, formatted following `sbol_library_template.xlsx`.\n\n### Convert beween SBOL3 and other genetic design formats\n\nThe `sbol-converter` utility converts between any of the SBOL3, SBOL2, GenBank, and FASTA formats.\n\nAdditional \"macro\" utilities convert specifically between SBOL3 and one of the other formats: \n- `sbol-to-fasta` and `fasta-to-sbol` convert from SBOL3 to FASTA and vice versa\n- `sbol-to-genbank` and `genbank-to-sbol` convert from SBOL3 to GenBank and vice versa\n- `sbol3-to-sbol2` and `sbol2-to-sbol3` convert to and from SBOL2\n\n### Expand the combinatorial derivations in an SBOL file\n\nThe `sbol-expand-derivations` utility searches through an SBOL file for CombinatorialDerivation objects and expands them to create a library of all of the specific constructs.\n\n### Calculate sequences of DNA components in an SBOL file\n\nThe `sbol-calculate-sequences` utility attempts to calculate the sequence of any DNA Component that can be fully specified from the sequences of its sub-components.\n\n### Calculate sequence synthesis complexity for DNA sequences in an SBOL file\n\nThe `sbol-calculate-complexity` utility attempts to calculate the synthesis complexity of any DNA sequence in the file, by sending sequences to be evaluated by IDT's sequence calculator service. Sequences whose complexity is known are not re-calculated. \n\nThe system uses the gBlock API, which is intended for sequences from 125 to 3000 bp in length. If it is more than 3000 bp or less than 125 bp your returned score will be 0. A complexity score in the range from 0 to 10 means your sequence is synthesizable, if the score is greater or equal than 10 means it is not synthesizable.\n\nNote that use of this utility requires an account with IDT that is set up to use IDT's online service API (see: https://www.idtdna.com/pages/tools/apidoc)\n\n### Compute the difference between two SBOL3 documents\nThe `sbol-diff` utility computes the difference between two SBOL3 documents\nand reports the differences.\n\n\n## Contributing\n\nWe welcome contributions that patch bugs, improve existing utilities or documentation, or add new utilities!\nFor guidance on how to contribute effectively to this project, see [CONTRIBUTING.md](CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynbiodex%2Fsbol-utilities","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsynbiodex%2Fsbol-utilities","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynbiodex%2Fsbol-utilities/lists"}