{"id":47839973,"url":"https://github.com/barricklab/ostir","last_synced_at":"2026-04-03T20:36:52.503Z","repository":{"id":37076568,"uuid":"187904349","full_name":"barricklab/ostir","owner":"barricklab","description":"Software for predicting translation initiation rates in bacteria","archived":false,"fork":false,"pushed_at":"2025-07-30T19:23:03.000Z","size":7178,"stargazers_count":33,"open_issues_count":3,"forks_count":9,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-03-27T15:44:15.800Z","etag":null,"topics":["bioengineering","rna-structure","synthetic-biology"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/barricklab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":".zenodo.json"}},"created_at":"2019-05-21T19:54:43.000Z","updated_at":"2026-03-09T18:12:34.000Z","dependencies_parsed_at":"2024-03-14T17:01:57.643Z","dependency_job_id":"9d37cfd9-c2ee-4374-a3a8-5c59e5566d9a","html_url":"https://github.com/barricklab/ostir","commit_stats":{"total_commits":132,"total_committers":6,"mean_commits":22.0,"dds":0.6363636363636364,"last_synced_commit":"a655129e5c152b524822f4af60661b5eadf8707a"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/barricklab/ostir","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barricklab%2Fostir","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barricklab%2Fostir/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barricklab%2Fostir/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barricklab%2Fostir/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/barricklab","download_url":"https://codeload.github.com/barricklab/ostir/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barricklab%2Fostir/sbom","scorecard":{"id":226077,"data":{"date":"2025-08-11","repo":{"name":"github.com/barricklab/ostir","commit":"4c0eb9919e5c9612c60e218d53ea190bc57daea8"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.3,"checks":[{"name":"Code-Review","score":0,"reason":"Found 2/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":2,"reason":"2 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/publish-to-pypi.yml:63","Warn: no topLevel permission defined: .github/workflows/package_and_test.yml:1","Warn: no topLevel permission defined: .github/workflows/publish-to-pypi.yml:1","Warn: no topLevel permission defined: .github/workflows/publish-to-test-pypi.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/publish-to-pypi.yml:32"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Signed-Releases","score":8,"reason":"1 out of the last 1 releases have a total of 1 signed artifacts.","details":["Info: signed release artifact: OSTIR-1.1.3-py3-none-any.whl.sigstore.json: https://github.com/barricklab/ostir/releases/tag/v1.1.3","Warn: release artifact v1.1.3 does not have provenance: https://api.github.com/repos/barricklab/ostir/releases/186699584"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/package_and_test.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/barricklab/ostir/package_and_test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/package_and_test.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/barricklab/ostir/package_and_test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-pypi.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/barricklab/ostir/publish-to-pypi.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-pypi.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/barricklab/ostir/publish-to-pypi.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-pypi.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/barricklab/ostir/publish-to-pypi.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-pypi.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/barricklab/ostir/publish-to-pypi.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-to-pypi.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/barricklab/ostir/publish-to-pypi.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-pypi.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/barricklab/ostir/publish-to-pypi.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-to-pypi.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/barricklab/ostir/publish-to-pypi.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-test-pypi.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/barricklab/ostir/publish-to-test-pypi.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-test-pypi.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/barricklab/ostir/publish-to-test-pypi.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-test-pypi.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/barricklab/ostir/publish-to-test-pypi.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-test-pypi.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/barricklab/ostir/publish-to-test-pypi.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-to-test-pypi.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/barricklab/ostir/publish-to-test-pypi.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile.anaconda:1: pin your Docker image by updating python:latest to python:latest@sha256:b3e52dd22ff14e2e6dcbc0f028f743dc037c74258e9af3d0a2fd8e6617d94d72","Warn: containerImage not pinned by hash: Dockerfile.miniconda:1: pin your Docker image by updating python:latest to python:latest@sha256:b3e52dd22ff14e2e6dcbc0f028f743dc037c74258e9af3d0a2fd8e6617d94d72","Warn: containerImage not pinned by hash: Dockerfile.miniforge:1: pin your Docker image by updating python:latest to python:latest@sha256:b3e52dd22ff14e2e6dcbc0f028f743dc037c74258e9af3d0a2fd8e6617d94d72","Warn: containerImage not pinned by hash: Dockerfile.viennarna:1: pin your Docker image by updating python:latest to python:latest@sha256:b3e52dd22ff14e2e6dcbc0f028f743dc037c74258e9af3d0a2fd8e6617d94d72","Warn: downloadThenRun not pinned by hash: Dockerfile.anaconda:9","Warn: downloadThenRun not pinned by hash: Dockerfile.miniconda:9","Warn: pipCommand not pinned by hash: Dockerfile.viennarna:10-12","Warn: pipCommand not pinned by hash: .github/workflows/publish-to-pypi.yml:20","Warn: pipCommand not pinned by hash: .github/workflows/publish-to-test-pypi.yml:20","Info:   0 out of  10 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned","Info:   0 out of   2 downloadThenRun dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 3 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T03:51:48.972Z","repository_id":37076568,"created_at":"2025-08-17T03:51:48.972Z","updated_at":"2025-08-17T03:51:48.972Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31224247,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-31T04:08:55.938Z","status":"ssl_error","status_checked_at":"2026-03-31T04:08:47.883Z","response_time":111,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["bioengineering","rna-structure","synthetic-biology"],"created_at":"2026-04-03T20:36:51.558Z","updated_at":"2026-04-03T20:36:52.467Z","avatar_url":"https://github.com/barricklab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OSTIR (Open Source Translation Initiation Rates)\n[![Status](https://github.com/barricklab/ostir/actions/workflows/package_and_test.yml/badge.svg)](https://github.com/barricklab/ostir/actions/workflows/package_and_test.yml) [![Bioconda](https://joss.theoj.org/papers/43d02b32408a161e608b886f63e753c1/status.svg)](https://joss.theoj.org/papers/43d02b32408a161e608b886f63e753c1) [![Anaconda Badge](https://anaconda.org/bioconda/ostir/badges/downloads.svg)](https://anaconda.org/bioconda/ostir)\n\n\n\n`OSTIR` is a\nPython package for predicting the rates at which ribosomes will bind to and initiate\ntranslation from different start codons in bacterial mRNAs. It uses the ViennaRNA Package to perform \nthe necessary free energy calculations. The code builds on the last open source version of the\n[RBS calculator](https://github.com/hsalis/Ribosome-Binding-Site-Calculator-v1.0).\n\n`OSTIR` includes several improvements in usability. It supports multi-FASTA\ninput with command line parameters or CSV input that can define\nparameters on a per-sequence basis. Additionally, `OSTIR` supports multi-threaded\nexecution, accelerating the analysis of very large sequences.\n\n### [Please see the OSTIR Wiki for full documentation](https://github.com/barricklab/ostir/wiki)\n\n# Quickstart\n\n## Installation\n\n### Step by step\n[![install with bioconda](https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg?style=flat)](http://bioconda.github.io/recipes/ostir/README.html)\n\n`OSTIR` is a Python module and associated command line script. We recommend installing `OSTIR` using [Bioconda](https://bioconda.github.io/) on Linux or macOS. This will automatically install `OSTIR` and all of its dependencies, including [ViennaRNA](https://www.tbi.univie.ac.at/RNA/) and the required Python modules.\n\nFrom Bioconda (recommended; Linux, macOS):\n- Run `conda install -c bioconda ostir`\n\nFrom Pip (for experts; Linux, macOS, Windows):\n- Download and install ViennaRNA, following the instructions [here](https://www.tbi.univie.ac.at/RNA/).\n- Run `pip install ostir`\n\nFor information on installing for development see the [Wiki Documentation](https://github.com/barricklab/ostir/wiki/Installation).\n\n### Docker\nFor an express run and assuming there is [Docker][] in your system you may:\n\n```\ndocker build . -t ostir:latest\ndocker run -it ostir\n```\n\nYou should see `ostir -h` output\n\n**Note**: By default Dockerfile is linked to Dockerfile.miniforge so that miniforge\nis being used to install conda. If you want any other installer (Miniconda or\nAnaconda), please rename/link at your best convenience.\n\n## Command Line Usage\n\nPrint OSTIR help:\n```\nostir -h\n```\n\nRun OSTIR on a sequence provided at the command line and print output to the console:\n```\nostir -i TTCTAGATGAGAATAAGGTTATGGCGAGCTCTGAAGACGTTATCAAAGAGTTCATGCGTTTCAAAGTTCGTATGGAAGGT\n```\n\nRun OSTIR on all sequences provided in a FASTA file and print output to a CSV file:\n```\nostir -i input.fasta -o output.csv\n```\n\nMore options and examples are described in the [Wiki Documentation](https://github.com/barricklab/ostir/wiki/Command-Line-Usage).\n\n## Python Module Usage\n\nRun OSTIR on a sequence inside of a Python script:\n\n```python3\nfrom ostir import run_ostir\n\nseq = \"ACUUCUAAUUUAUUCUAUUUAUUCGCGGAUAUGCAUAGGAGUGCUUCGAUGUCAU\"\nresults = run_ostir(seq, name=\"my_sequence\", threads=8)\nprint(results)\n```\n\nMore options and examples are described in the [Wiki Documentation](https://github.com/barricklab/ostir/wiki/Python-Module-Usage).\n\n  [Docker]: https://get.docker.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarricklab%2Fostir","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbarricklab%2Fostir","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarricklab%2Fostir/lists"}